xinference 1.8.1rc1__py3-none-any.whl → 1.9.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of xinference might be problematic. Click here for more details.

Files changed (108) hide show
  1. xinference/_version.py +3 -3
  2. xinference/api/restful_api.py +2 -1
  3. xinference/core/model.py +8 -4
  4. xinference/core/supervisor.py +2 -3
  5. xinference/core/worker.py +7 -5
  6. xinference/deploy/cmdline.py +2 -0
  7. xinference/deploy/local.py +5 -0
  8. xinference/deploy/test/test_cmdline.py +1 -1
  9. xinference/deploy/worker.py +6 -0
  10. xinference/model/audio/cosyvoice.py +0 -1
  11. xinference/model/audio/model_spec.json +44 -20
  12. xinference/model/core.py +3 -0
  13. xinference/model/embedding/flag/core.py +5 -0
  14. xinference/model/embedding/llama_cpp/core.py +22 -19
  15. xinference/model/embedding/sentence_transformers/core.py +18 -4
  16. xinference/model/embedding/vllm/core.py +36 -9
  17. xinference/model/image/cache_manager.py +56 -0
  18. xinference/model/image/core.py +9 -0
  19. xinference/model/image/model_spec.json +178 -1
  20. xinference/model/image/stable_diffusion/core.py +155 -23
  21. xinference/model/llm/cache_manager.py +17 -3
  22. xinference/model/llm/harmony.py +245 -0
  23. xinference/model/llm/llama_cpp/core.py +41 -40
  24. xinference/model/llm/llm_family.json +688 -11
  25. xinference/model/llm/llm_family.py +1 -1
  26. xinference/model/llm/sglang/core.py +108 -5
  27. xinference/model/llm/transformers/core.py +20 -18
  28. xinference/model/llm/transformers/gemma3.py +1 -1
  29. xinference/model/llm/transformers/gpt_oss.py +91 -0
  30. xinference/model/llm/transformers/multimodal/core.py +1 -1
  31. xinference/model/llm/transformers/multimodal/gemma3.py +1 -1
  32. xinference/model/llm/transformers/multimodal/glm4_1v.py +2 -2
  33. xinference/model/llm/transformers/multimodal/ovis2.py +1 -1
  34. xinference/model/llm/transformers/multimodal/qwen-omni.py +7 -8
  35. xinference/model/llm/transformers/multimodal/qwen2_vl.py +9 -6
  36. xinference/model/llm/transformers/utils.py +1 -33
  37. xinference/model/llm/utils.py +61 -7
  38. xinference/model/llm/vllm/core.py +44 -8
  39. xinference/model/rerank/__init__.py +66 -23
  40. xinference/model/rerank/cache_manager.py +35 -0
  41. xinference/model/rerank/core.py +87 -339
  42. xinference/model/rerank/custom.py +33 -8
  43. xinference/model/rerank/model_spec.json +251 -212
  44. xinference/model/rerank/rerank_family.py +137 -0
  45. xinference/model/rerank/sentence_transformers/__init__.py +13 -0
  46. xinference/model/rerank/sentence_transformers/core.py +337 -0
  47. xinference/model/rerank/vllm/__init__.py +13 -0
  48. xinference/model/rerank/vllm/core.py +156 -0
  49. xinference/model/utils.py +108 -0
  50. xinference/model/video/model_spec.json +95 -1
  51. xinference/thirdparty/cosyvoice/bin/export_jit.py +3 -4
  52. xinference/thirdparty/cosyvoice/bin/export_onnx.py +49 -126
  53. xinference/thirdparty/cosyvoice/bin/{inference.py → inference_deprecated.py} +1 -0
  54. xinference/thirdparty/cosyvoice/bin/train.py +23 -3
  55. xinference/thirdparty/cosyvoice/cli/cosyvoice.py +8 -4
  56. xinference/thirdparty/cosyvoice/cli/frontend.py +4 -4
  57. xinference/thirdparty/cosyvoice/cli/model.py +53 -75
  58. xinference/thirdparty/cosyvoice/dataset/dataset.py +5 -18
  59. xinference/thirdparty/cosyvoice/dataset/processor.py +24 -25
  60. xinference/thirdparty/cosyvoice/flow/decoder.py +24 -433
  61. xinference/thirdparty/cosyvoice/flow/flow.py +6 -14
  62. xinference/thirdparty/cosyvoice/flow/flow_matching.py +33 -145
  63. xinference/thirdparty/cosyvoice/hifigan/generator.py +169 -1
  64. xinference/thirdparty/cosyvoice/llm/llm.py +108 -17
  65. xinference/thirdparty/cosyvoice/transformer/upsample_encoder.py +14 -115
  66. xinference/thirdparty/cosyvoice/utils/common.py +20 -0
  67. xinference/thirdparty/cosyvoice/utils/executor.py +8 -4
  68. xinference/thirdparty/cosyvoice/utils/file_utils.py +45 -1
  69. xinference/thirdparty/cosyvoice/utils/losses.py +37 -0
  70. xinference/thirdparty/cosyvoice/utils/mask.py +35 -1
  71. xinference/thirdparty/cosyvoice/utils/train_utils.py +24 -6
  72. xinference/thirdparty/cosyvoice/vllm/cosyvoice2.py +103 -0
  73. xinference/types.py +2 -0
  74. xinference/ui/gradio/chat_interface.py +2 -0
  75. xinference/ui/gradio/media_interface.py +353 -7
  76. xinference/ui/web/ui/build/asset-manifest.json +3 -3
  77. xinference/ui/web/ui/build/index.html +1 -1
  78. xinference/ui/web/ui/build/static/js/main.1086c759.js +3 -0
  79. xinference/ui/web/ui/build/static/js/main.1086c759.js.map +1 -0
  80. xinference/ui/web/ui/node_modules/.cache/babel-loader/28012da921a51f1082549956d3ae82acd769a754b22afda9acddd98a4daf9ea4.json +1 -0
  81. xinference/ui/web/ui/node_modules/.cache/babel-loader/3c5758bd12fa334294b1de0ff6b1a4bac8d963c45472eab9dc3e530d82aa6b3f.json +1 -0
  82. xinference/ui/web/ui/node_modules/.cache/babel-loader/475936ebe725eca62a6f52ce182c06a19b2cef4df9545a05ed0591ee0c539d43.json +1 -0
  83. xinference/ui/web/ui/node_modules/.cache/babel-loader/8b8cd408ccfbe115acef27ccfa5b233da8597131a2a5712add13e1e4d5d4504b.json +1 -0
  84. xinference/ui/web/ui/node_modules/.cache/babel-loader/a3eb18af328280b139693c9092dff2a0ef8c9a967e6c8956ceee0996611f1984.json +1 -0
  85. xinference/ui/web/ui/node_modules/.cache/babel-loader/aee5aaba26f2b1e816a3ea9efa68bad8b95695a3d80adcfd8dd57a7bb17ac71a.json +1 -0
  86. xinference/ui/web/ui/node_modules/.cache/babel-loader/d5c224be7081f18cba1678b7874a9782eba895df004874ff8f243f94ba79942a.json +1 -0
  87. xinference/ui/web/ui/node_modules/.cache/babel-loader/f7f18bfb539b036a6a342176dd98a85df5057a884a8da978d679f2a0264883d0.json +1 -0
  88. xinference/ui/web/ui/src/locales/en.json +2 -0
  89. xinference/ui/web/ui/src/locales/ja.json +2 -0
  90. xinference/ui/web/ui/src/locales/ko.json +2 -0
  91. xinference/ui/web/ui/src/locales/zh.json +2 -0
  92. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/METADATA +15 -10
  93. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/RECORD +98 -89
  94. xinference/ui/web/ui/build/static/js/main.b969199a.js +0 -3
  95. xinference/ui/web/ui/build/static/js/main.b969199a.js.map +0 -1
  96. xinference/ui/web/ui/node_modules/.cache/babel-loader/1409a96b9f9f9f5de99a89ab0f738f6da62b449521b0a8d3e4efcf7f5c23534d.json +0 -1
  97. xinference/ui/web/ui/node_modules/.cache/babel-loader/3d2a89f0eccc1f90fc5036c9a1d587c2120e6a6b128aae31d1db7d6bad52722b.json +0 -1
  98. xinference/ui/web/ui/node_modules/.cache/babel-loader/43b889c3a8e2634092ade463d52481c7c5581c72ded8f23bc5f012ea0ef8cea5.json +0 -1
  99. xinference/ui/web/ui/node_modules/.cache/babel-loader/5d47532fb42128280d87f57c8a0b02bc1930f7ef764aa7e90579247df18bba83.json +0 -1
  100. xinference/ui/web/ui/node_modules/.cache/babel-loader/830882bb275468a969614824a9ab8983f874b4581f2eb625e9c66426cdc65e5b.json +0 -1
  101. xinference/ui/web/ui/node_modules/.cache/babel-loader/8e5cb82c2ff3299c6a44563fe6b1c5515c9750613c51bb63abee0b1d70fc5019.json +0 -1
  102. xinference/ui/web/ui/node_modules/.cache/babel-loader/9df08abcb5a7c1e48a4eb25c5d5f5d7253ea6854a4397e6d74d1fd75a14acda1.json +0 -1
  103. xinference/ui/web/ui/node_modules/.cache/babel-loader/b99034986a06445701accc7a4914bb9320947435e8d4e15793392ca4f679316c.json +0 -1
  104. /xinference/ui/web/ui/build/static/js/{main.b969199a.js.LICENSE.txt → main.1086c759.js.LICENSE.txt} +0 -0
  105. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/WHEEL +0 -0
  106. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/entry_points.txt +0 -0
  107. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/licenses/LICENSE +0 -0
  108. {xinference-1.8.1rc1.dist-info → xinference-1.9.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ {"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import ContentCopyOutlinedIcon from'@mui/icons-material/ContentCopyOutlined';import DeleteOutlineOutlinedIcon from'@mui/icons-material/DeleteOutlineOutlined';import OpenInBrowserOutlinedIcon from'@mui/icons-material/OpenInBrowserOutlined';import{TabContext,TabList,TabPanel}from'@mui/lab';import{Badge,Box,IconButton,Stack,Tab,Tooltip}from'@mui/material';import{DataGrid}from'@mui/x-data-grid';import React,{useContext,useEffect,useState}from'react';import{useCookies}from'react-cookie';import{useTranslation}from'react-i18next';import{useLocation,useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import fetcher from'../../components/fetcher';import fetchWrapper from'../../components/fetchWrapper';import Title from'../../components/Title';import{isValidBearerToken}from'../../components/utils';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var tabArr=[{label:'model.languageModels',value:'/running_models/LLM',showPrompt:false},{label:'model.embeddingModels',value:'/running_models/embedding',showPrompt:false},{label:'model.rerankModels',value:'/running_models/rerank',showPrompt:false},{label:'model.imageModels',value:'/running_models/image',showPrompt:false},{label:'model.audioModels',value:'/running_models/audio',showPrompt:false},{label:'model.videoModels',value:'/running_models/video',showPrompt:false},{label:'model.flexibleModels',value:'/running_models/flexible',showPrompt:false}];var RunningModels=function RunningModels(){var _React$useState=React.useState(sessionStorage.getItem('runningModelType')),_React$useState2=_slicedToArray(_React$useState,2),tabValue=_React$useState2[0],setTabValue=_React$useState2[1];var _useState=useState(tabArr),_useState2=_slicedToArray(_useState,2),tabList=_useState2[0],setTabList=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),llmData=_useState4[0],setLlmData=_useState4[1];var _useState5=useState([]),_useState6=_slicedToArray(_useState5,2),embeddingModelData=_useState6[0],setEmbeddingModelData=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),imageModelData=_useState8[0],setImageModelData=_useState8[1];var _useState9=useState([]),_useState10=_slicedToArray(_useState9,2),audioModelData=_useState10[0],setAudioModelData=_useState10[1];var _useState11=useState([]),_useState12=_slicedToArray(_useState11,2),videoModelData=_useState12[0],setVideoModelData=_useState12[1];var _useState13=useState([]),_useState14=_slicedToArray(_useState13,2),rerankModelData=_useState14[0],setRerankModelData=_useState14[1];var _useState15=useState([]),_useState16=_slicedToArray(_useState15,2),flexibleModelData=_useState16[0],setFlexibleModelData=_useState16[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel,setIsUpdatingModel=_useContext2.setIsUpdatingModel;var _useContext3=useContext(ApiContext),setErrorMsg=_useContext3.setErrorMsg;var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var endPoint=useContext(ApiContext).endPoint;var _useTranslation=useTranslation(),t=_useTranslation.t;var location=useLocation();var handleTabChange=function handleTabChange(event,newValue){setTabValue(newValue);navigate(newValue);sessionStorage.setItem('runningModelType',newValue);};var update=function update(isCallingApi){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});return;}if(isCallingApi){setLlmData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setEmbeddingModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setAudioModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setVideoModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setImageModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setRerankModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setFlexibleModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);}else{setIsUpdatingModel(true);fetchWrapper.get('/v1/models').then(function(response){var modelMap={LLM:[],embedding:[],image:[],audio:[],video:[],rerank:[],flexible:[]};response.data.forEach(function(model){var newValue=_objectSpread(_objectSpread({},model),{},{id:model.id,url:model.id});if(modelMap[newValue.model_type]){modelMap[newValue.model_type].push(newValue);}});setLlmData(modelMap.LLM);setEmbeddingModelData(modelMap.embedding);setImageModelData(modelMap.image);setAudioModelData(modelMap.audio);setVideoModelData(modelMap.video);setRerankModelData(modelMap.rerank);setFlexibleModelData(modelMap.flexible);if(location.pathname.endsWith('/LLM')){var modelOrder=['LLM','embedding','image','audio','video','rerank','flexible'];for(var _i=0,_modelOrder=modelOrder;_i<_modelOrder.length;_i++){var type=_modelOrder[_i];if(modelMap[type]&&modelMap[type].length>0){navigate(\"/running_models/\".concat(type));setTabValue(\"/running_models/\".concat(type));break;}}}setIsUpdatingModel(false);}).catch(function(error){console.error('Error:',error);setIsUpdatingModel(false);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}};useEffect(function(){update(isCallingApi);// eslint-disable-next-line\n},[isCallingApi,cookie.token]);var llmColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref){var row=_ref.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref2){var row=_ref2.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'model_size_in_billions',headerName:t('runningModels.size'),flex:1},{field:'quantization',headerName:t('runningModels.quantization'),flex:1},{field:'replica',headerName:t('runningModels.replica'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref3){var row=_ref3.row;var url=row.url;var openUrl=\"\".concat(endPoint,\"/\")+url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;var gradioUrl=\"\".concat(endPoint,\"/v1/ui/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsxs(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:[/*#__PURE__*/_jsx(IconButton,{title:\"Launch Web UI\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){// Make sure no ongoing call\nreturn;}setIsCallingApi(true);fetcher(openUrl,{method:'HEAD'}).then(function(response){if(response.status===404){// If web UI doesn't exist (404 Not Found)\nconsole.log('UI does not exist, creating new...');return fetcher(gradioUrl,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model_type:row.model_type,model_name:row.model_family,model_size_in_billions:row.model_size_in_billions,model_format:row.model_format,quantization:row.quantization,context_length:row.context_length,model_ability:row.model_ability,model_description:row.model_description,model_lang:row.model_lang})}).then(function(response){return response.json();}).then(function(){return window.open(openUrl,'_blank','noopener noreferrer');}).finally(function(){return setIsCallingApi(false);});}else if(response.ok){// If web UI does exist\nconsole.log('UI exists, opening...');window.open(openUrl,'_blank','noopener noreferrer');setIsCallingApi(false);}else{// Other HTTP errors\nconsole.error(\"Unexpected response status: \".concat(response.status));setIsCallingApi(false);}}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(OpenInBrowserOutlinedIcon,{})})}),/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})]});}}];var embeddingModelColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref4){var row=_ref4.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref5){var row=_ref5.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'replica',headerName:t('runningModels.replica'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref6){var row=_ref6.row;var url=row.url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsx(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})});}}];var imageModelColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref7){var row=_ref7.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref8){var row=_ref8.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'replica',headerName:t('runningModels.replica'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref9){var row=_ref9.row;// this URL means model_uid\nvar url=row.url;var openUrl=\"\".concat(endPoint,\"/\")+url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;var pathType;if(row.model_type==='video'){pathType='videos';}else if(row.model_type==='audio'){pathType='audios';}else{pathType='images';// default\n}var gradioUrl=\"\".concat(endPoint,\"/v1/ui/\").concat(pathType,\"/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsxs(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:[/*#__PURE__*/_jsx(IconButton,{title:\"Launch Web UI\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){// Make sure no ongoing call\nreturn;}setIsCallingApi(true);fetcher(openUrl,{method:'HEAD'}).then(function(response){if(response.status===404){// If web UI doesn't exist (404 Not Found)\nconsole.log('UI does not exist, creating new...');return fetcher(gradioUrl,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model_type:row.model_type,model_family:row.model_family,model_id:row.id,controlnet:row.controlnet,model_revision:row.model_revision,model_name:row.model_name,model_ability:row.model_ability})}).then(function(response){return response.json();}).then(function(){return window.open(openUrl,'_blank','noopener noreferrer');}).finally(function(){return setIsCallingApi(false);});}else if(response.ok){// If web UI does exist\nconsole.log('UI exists, opening...');window.open(openUrl,'_blank','noopener noreferrer');setIsCallingApi(false);}else{// Other HTTP errors\nconsole.error(\"Unexpected response status: \".concat(response.status));setIsCallingApi(false);}}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(OpenInBrowserOutlinedIcon,{})})}),/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})]});}}];var audioModelColumns=imageModelColumns;var videoModelColumns=imageModelColumns;var rerankModelColumns=embeddingModelColumns;var flexibleModelColumns=embeddingModelColumns;var dataGridStyle={'& .MuiDataGrid-cell':{borderBottom:'none'},'& .MuiDataGrid-columnHeaders':{borderBottom:'none'},'& .MuiDataGrid-columnHeaderTitle':{fontWeight:'bold'},'& .MuiDataGrid-virtualScroller':{overflowX:'visible !important',overflow:'visible'},'& .MuiDataGrid-footerContainer':{borderTop:'none'},'border-width':'0px'};var noRowsOverlay=function noRowsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:t('runningModels.noRunningModels')});};var noResultsOverlay=function noResultsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:t('runningModels.noRunningModelsMatches')});};var renderWithCopy=function renderWithCopy(display){var _useState17=useState(false),_useState18=_slicedToArray(_useState17,2),tooltipOpen=_useState18[0],setTooltipOpen=_useState18[1];var _useState19=useState(t('runningModels.copy')),_useState20=_slicedToArray(_useState19,2),tooltipText=_useState20[0],setTooltipText=_useState20[1];var handleCopy=function handleCopy(event){event.stopPropagation();if(navigator.clipboard&&window.isSecureContext){// for HTTPS\nnavigator.clipboard.writeText(display).then(function(){setTooltipText(t('runningModels.copied'));}).catch(function(){setTooltipText(t('runningModels.copyFailed'));}).finally(function(){setTooltipOpen(true);setTimeout(function(){setTooltipOpen(false);setTooltipText(t('runningModels.copy'));},1500);});}else{// for HTTP\nvar textArea=document.createElement('textarea');textArea.value=display;textArea.style.position='absolute';textArea.style.left='-9999px';document.body.appendChild(textArea);textArea.select();try{var success=document.execCommand('copy');if(success){setTooltipText(t('runningModels.copied'));}else{setTooltipText(t('runningModels.copyFailed'));}}catch(err){setTooltipText(t('runningModels.copyFailed'));}document.body.removeChild(textArea);setTooltipOpen(true);setTimeout(function(){setTooltipOpen(false);setTooltipText(t('runningModels.copy'));},1500);}};return/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',maxWidth:'100%',overflow:'hidden'},children:[/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minWidth:0,overflow:'hidden',whiteSpace:'nowrap',textOverflow:'ellipsis',marginRight:8},children:display}),/*#__PURE__*/_jsx(Tooltip,{title:tooltipText,open:tooltipOpen,children:/*#__PURE__*/_jsx(IconButton,{size:\"small\",onClick:handleCopy,children:/*#__PURE__*/_jsx(ContentCopyOutlinedIcon,{fontSize:\"small\"})})})]});};useEffect(function(){var dataMap={'model.languageModels':llmData,'model.embeddingModels':embeddingModelData,'model.rerankModels':rerankModelData,'model.imageModels':imageModelData,'model.audioModels':audioModelData,'model.videoModels':videoModelData,'model.flexibleModels':flexibleModelData};setTabList(tabList.map(function(item){var _dataMap$item$label;if((_dataMap$item$label=dataMap[item.label])!==null&&_dataMap$item$label!==void 0&&_dataMap$item$label.length&&dataMap[item.label][0].model_type){return _objectSpread(_objectSpread({},item),{},{showPrompt:true});}return _objectSpread(_objectSpread({},item),{},{showPrompt:false});}));},[llmData,embeddingModelData,rerankModelData,imageModelData,audioModelData,videoModelData,flexibleModelData]);return/*#__PURE__*/_jsxs(Box,{sx:{height:'100%',width:'100%',padding:'20px 20px 0 20px'},children:[/*#__PURE__*/_jsx(Title,{title:t('menu.runningModels')}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsxs(TabContext,{value:tabValue,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsx(TabList,{value:tabValue,onChange:handleTabChange,\"aria-label\":\"tabs\",children:tabList.map(function(item){return/*#__PURE__*/_jsx(Tab,{label:/*#__PURE__*/_jsx(Badge,{color:\"secondary\",variant:\"dot\",invisible:!item.showPrompt,children:t(item.label)}),value:item.value},item.value);})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/LLM\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:llmData,columns:llmColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/embedding\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:embeddingModelData,columns:embeddingModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/rerank\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:rerankModelData,columns:rerankModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/image\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:imageModelData,columns:imageModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/audio\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:audioModelData,columns:audioModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/video\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:videoModelData,columns:videoModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/flexible\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:flexibleModelData,columns:flexibleModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})})]})]});};export default RunningModels;","map":{"version":3,"names":["ContentCopyOutlinedIcon","DeleteOutlineOutlinedIcon","OpenInBrowserOutlinedIcon","TabContext","TabList","TabPanel","Badge","Box","IconButton","Stack","Tab","Tooltip","DataGrid","React","useContext","useEffect","useState","useCookies","useTranslation","useLocation","useNavigate","ApiContext","ErrorMessageSnackBar","fetcher","fetchWrapper","Title","isValidBearerToken","jsx","_jsx","jsxs","_jsxs","tabArr","label","value","showPrompt","RunningModels","_React$useState","sessionStorage","getItem","_React$useState2","_slicedToArray","tabValue","setTabValue","_useState","_useState2","tabList","setTabList","_useState3","_useState4","llmData","setLlmData","_useState5","_useState6","embeddingModelData","setEmbeddingModelData","_useState7","_useState8","imageModelData","setImageModelData","_useState9","_useState10","audioModelData","setAudioModelData","_useState11","_useState12","videoModelData","setVideoModelData","_useState13","_useState14","rerankModelData","setRerankModelData","_useState15","_useState16","flexibleModelData","setFlexibleModelData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","setIsUpdatingModel","_useContext3","setErrorMsg","_useCookies","_useCookies2","cookie","navigate","endPoint","_useTranslation","t","location","handleTabChange","event","newValue","setItem","update","token","replace","id","url","get","then","response","modelMap","LLM","embedding","image","audio","video","rerank","flexible","data","forEach","model","_objectSpread","model_type","push","pathname","endsWith","modelOrder","_i","_modelOrder","length","type","concat","catch","error","console","status","message","llmColumns","field","headerName","flex","minWidth","renderCell","_ref","row","renderWithCopy","_ref2","model_name","sortable","filterable","disableColumnMenu","_ref3","openUrl","closeUrl","gradioUrl","style","width","display","justifyContent","alignItems","children","title","borderWidth","backgroundColor","paddingLeft","paddingRight","onClick","method","log","headers","body","JSON","stringify","model_family","model_size_in_billions","model_format","quantization","context_length","model_ability","model_description","model_lang","json","window","open","finally","ok","m","p","borderRadius","border","borderColor","embeddingModelColumns","_ref4","_ref5","_ref6","imageModelColumns","_ref7","_ref8","_ref9","pathType","model_id","controlnet","model_revision","audioModelColumns","videoModelColumns","rerankModelColumns","flexibleModelColumns","dataGridStyle","borderBottom","fontWeight","overflowX","overflow","borderTop","noRowsOverlay","height","noResultsOverlay","_useState17","_useState18","tooltipOpen","setTooltipOpen","_useState19","_useState20","tooltipText","setTooltipText","handleCopy","stopPropagation","navigator","clipboard","isSecureContext","writeText","setTimeout","textArea","document","createElement","position","left","appendChild","select","success","execCommand","err","removeChild","maxWidth","whiteSpace","textOverflow","marginRight","size","fontSize","dataMap","map","item","_dataMap$item$label","sx","padding","onChange","color","variant","invisible","rows","columns","autoHeight","slots"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/running_models/index.js"],"sourcesContent":["import ContentCopyOutlinedIcon from '@mui/icons-material/ContentCopyOutlined'\nimport DeleteOutlineOutlinedIcon from '@mui/icons-material/DeleteOutlineOutlined'\nimport OpenInBrowserOutlinedIcon from '@mui/icons-material/OpenInBrowserOutlined'\nimport { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Badge, Box, IconButton, Stack, Tab, Tooltip } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation, useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport fetcher from '../../components/fetcher'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport Title from '../../components/Title'\nimport { isValidBearerToken } from '../../components/utils'\n\nconst tabArr = [\n {\n label: 'model.languageModels',\n value: '/running_models/LLM',\n showPrompt: false,\n },\n {\n label: 'model.embeddingModels',\n value: '/running_models/embedding',\n showPrompt: false,\n },\n {\n label: 'model.rerankModels',\n value: '/running_models/rerank',\n showPrompt: false,\n },\n {\n label: 'model.imageModels',\n value: '/running_models/image',\n showPrompt: false,\n },\n {\n label: 'model.audioModels',\n value: '/running_models/audio',\n showPrompt: false,\n },\n {\n label: 'model.videoModels',\n value: '/running_models/video',\n showPrompt: false,\n },\n {\n label: 'model.flexibleModels',\n value: '/running_models/flexible',\n showPrompt: false,\n },\n]\n\nconst RunningModels = () => {\n const [tabValue, setTabValue] = React.useState(\n sessionStorage.getItem('runningModelType')\n )\n const [tabList, setTabList] = useState(tabArr)\n const [llmData, setLlmData] = useState([])\n const [embeddingModelData, setEmbeddingModelData] = useState([])\n const [imageModelData, setImageModelData] = useState([])\n const [audioModelData, setAudioModelData] = useState([])\n const [videoModelData, setVideoModelData] = useState([])\n const [rerankModelData, setRerankModelData] = useState([])\n const [flexibleModelData, setFlexibleModelData] = useState([])\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel, setIsUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n const endPoint = useContext(ApiContext).endPoint\n const { t } = useTranslation()\n const location = useLocation()\n\n const handleTabChange = (event, newValue) => {\n setTabValue(newValue)\n navigate(newValue)\n sessionStorage.setItem('runningModelType', newValue)\n }\n\n const update = (isCallingApi) => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n return\n }\n if (isCallingApi) {\n setLlmData([{ id: 'Loading, do not refresh page...', url: 'IS_LOADING' }])\n setEmbeddingModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setAudioModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setVideoModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setImageModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setRerankModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setFlexibleModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n } else {\n setIsUpdatingModel(true)\n\n fetchWrapper\n .get('/v1/models')\n .then((response) => {\n const modelMap = {\n LLM: [],\n embedding: [],\n image: [],\n audio: [],\n video: [],\n rerank: [],\n flexible: [],\n }\n\n response.data.forEach((model) => {\n const newValue = {\n ...model,\n id: model.id,\n url: model.id,\n }\n if (modelMap[newValue.model_type]) {\n modelMap[newValue.model_type].push(newValue)\n }\n })\n\n setLlmData(modelMap.LLM)\n setEmbeddingModelData(modelMap.embedding)\n setImageModelData(modelMap.image)\n setAudioModelData(modelMap.audio)\n setVideoModelData(modelMap.video)\n setRerankModelData(modelMap.rerank)\n setFlexibleModelData(modelMap.flexible)\n\n if (location.pathname.endsWith('/LLM')) {\n const modelOrder = [\n 'LLM',\n 'embedding',\n 'image',\n 'audio',\n 'video',\n 'rerank',\n 'flexible',\n ]\n for (const type of modelOrder) {\n if (modelMap[type] && modelMap[type].length > 0) {\n navigate(`/running_models/${type}`)\n setTabValue(`/running_models/${type}`)\n break\n }\n }\n }\n\n setIsUpdatingModel(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsUpdatingModel(false)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n }\n }\n\n useEffect(() => {\n update(isCallingApi)\n // eslint-disable-next-line\n }, [isCallingApi, cookie.token])\n\n const llmColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'model_size_in_billions',\n headerName: t('runningModels.size'),\n flex: 1,\n },\n {\n field: 'quantization',\n headerName: t('runningModels.quantization'),\n flex: 1,\n },\n {\n field: 'replica',\n headerName: t('runningModels.replica'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const openUrl = `${endPoint}/` + url\n const closeUrl = `${endPoint}/v1/models/` + url\n const gradioUrl = `${endPoint}/v1/ui/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Launch Web UI\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n // Make sure no ongoing call\n return\n }\n\n setIsCallingApi(true)\n\n fetcher(openUrl, {\n method: 'HEAD',\n })\n .then((response) => {\n if (response.status === 404) {\n // If web UI doesn't exist (404 Not Found)\n console.log('UI does not exist, creating new...')\n return fetcher(gradioUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model_type: row.model_type,\n model_name: row.model_family,\n model_size_in_billions: row.model_size_in_billions,\n model_format: row.model_format,\n quantization: row.quantization,\n context_length: row.context_length,\n model_ability: row.model_ability,\n model_description: row.model_description,\n model_lang: row.model_lang,\n }),\n })\n .then((response) => response.json())\n .then(() =>\n window.open(openUrl, '_blank', 'noopener noreferrer')\n )\n .finally(() => setIsCallingApi(false))\n } else if (response.ok) {\n // If web UI does exist\n console.log('UI exists, opening...')\n window.open(openUrl, '_blank', 'noopener noreferrer')\n setIsCallingApi(false)\n } else {\n // Other HTTP errors\n console.error(\n `Unexpected response status: ${response.status}`\n )\n setIsCallingApi(false)\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <OpenInBrowserOutlinedIcon />\n </Box>\n </IconButton>\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const embeddingModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'replica',\n headerName: t('runningModels.replica'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const closeUrl = `${endPoint}/v1/models/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const imageModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'replica',\n headerName: t('runningModels.replica'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n // this URL means model_uid\n const url = row.url\n const openUrl = `${endPoint}/` + url\n const closeUrl = `${endPoint}/v1/models/` + url\n let pathType\n if (row.model_type === 'video') {\n pathType = 'videos'\n } else if (row.model_type === 'audio') {\n pathType = 'audios'\n } else {\n pathType = 'images' // default\n }\n const gradioUrl = `${endPoint}/v1/ui/${pathType}/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Launch Web UI\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n // Make sure no ongoing call\n return\n }\n\n setIsCallingApi(true)\n\n fetcher(openUrl, {\n method: 'HEAD',\n })\n .then((response) => {\n if (response.status === 404) {\n // If web UI doesn't exist (404 Not Found)\n console.log('UI does not exist, creating new...')\n return fetcher(gradioUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model_type: row.model_type,\n model_family: row.model_family,\n model_id: row.id,\n controlnet: row.controlnet,\n model_revision: row.model_revision,\n model_name: row.model_name,\n model_ability: row.model_ability,\n }),\n })\n .then((response) => response.json())\n .then(() =>\n window.open(openUrl, '_blank', 'noopener noreferrer')\n )\n .finally(() => setIsCallingApi(false))\n } else if (response.ok) {\n // If web UI does exist\n console.log('UI exists, opening...')\n window.open(openUrl, '_blank', 'noopener noreferrer')\n setIsCallingApi(false)\n } else {\n // Other HTTP errors\n console.error(\n `Unexpected response status: ${response.status}`\n )\n setIsCallingApi(false)\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <OpenInBrowserOutlinedIcon />\n </Box>\n </IconButton>\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const audioModelColumns = imageModelColumns\n const videoModelColumns = imageModelColumns\n const rerankModelColumns = embeddingModelColumns\n const flexibleModelColumns = embeddingModelColumns\n\n const dataGridStyle = {\n '& .MuiDataGrid-cell': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontWeight: 'bold',\n },\n '& .MuiDataGrid-virtualScroller': {\n overflowX: 'visible !important',\n overflow: 'visible',\n },\n '& .MuiDataGrid-footerContainer': {\n borderTop: 'none',\n },\n 'border-width': '0px',\n }\n\n const noRowsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n {t('runningModels.noRunningModels')}\n </Stack>\n )\n }\n\n const noResultsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n {t('runningModels.noRunningModelsMatches')}\n </Stack>\n )\n }\n\n const renderWithCopy = (display) => {\n const [tooltipOpen, setTooltipOpen] = useState(false)\n const [tooltipText, setTooltipText] = useState(t('runningModels.copy'))\n\n const handleCopy = (event) => {\n event.stopPropagation()\n\n if (navigator.clipboard && window.isSecureContext) {\n // for HTTPS\n navigator.clipboard\n .writeText(display)\n .then(() => {\n setTooltipText(t('runningModels.copied'))\n })\n .catch(() => {\n setTooltipText(t('runningModels.copyFailed'))\n })\n .finally(() => {\n setTooltipOpen(true)\n setTimeout(() => {\n setTooltipOpen(false)\n setTooltipText(t('runningModels.copy'))\n }, 1500)\n })\n } else {\n // for HTTP\n const textArea = document.createElement('textarea')\n textArea.value = display\n textArea.style.position = 'absolute'\n textArea.style.left = '-9999px'\n document.body.appendChild(textArea)\n textArea.select()\n\n try {\n const success = document.execCommand('copy')\n if (success) {\n setTooltipText(t('runningModels.copied'))\n } else {\n setTooltipText(t('runningModels.copyFailed'))\n }\n } catch (err) {\n setTooltipText(t('runningModels.copyFailed'))\n }\n\n document.body.removeChild(textArea)\n\n setTooltipOpen(true)\n setTimeout(() => {\n setTooltipOpen(false)\n setTooltipText(t('runningModels.copy'))\n }, 1500)\n }\n }\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n overflow: 'hidden',\n }}\n >\n <span\n style={{\n flex: 1,\n minWidth: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n marginRight: 8,\n }}\n >\n {display}\n </span>\n <Tooltip title={tooltipText} open={tooltipOpen}>\n <IconButton size=\"small\" onClick={handleCopy}>\n <ContentCopyOutlinedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </div>\n )\n }\n\n useEffect(() => {\n const dataMap = {\n 'model.languageModels': llmData,\n 'model.embeddingModels': embeddingModelData,\n 'model.rerankModels': rerankModelData,\n 'model.imageModels': imageModelData,\n 'model.audioModels': audioModelData,\n 'model.videoModels': videoModelData,\n 'model.flexibleModels': flexibleModelData,\n }\n\n setTabList(\n tabList.map((item) => {\n if (dataMap[item.label]?.length && dataMap[item.label][0].model_type) {\n return {\n ...item,\n showPrompt: true,\n }\n }\n return {\n ...item,\n showPrompt: false,\n }\n })\n )\n }, [\n llmData,\n embeddingModelData,\n rerankModelData,\n imageModelData,\n audioModelData,\n videoModelData,\n flexibleModelData,\n ])\n\n return (\n <Box\n sx={{\n height: '100%',\n width: '100%',\n padding: '20px 20px 0 20px',\n }}\n >\n <Title title={t('menu.runningModels')} />\n <ErrorMessageSnackBar />\n <TabContext value={tabValue}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n value={tabValue}\n onChange={handleTabChange}\n aria-label=\"tabs\"\n >\n {tabList.map((item) => (\n <Tab\n key={item.value}\n label={\n <Badge\n color=\"secondary\"\n variant=\"dot\"\n invisible={!item.showPrompt}\n >\n {t(item.label)}\n </Badge>\n }\n value={item.value}\n />\n ))}\n </TabList>\n </Box>\n <TabPanel value=\"/running_models/LLM\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={llmData}\n columns={llmColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/embedding\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={embeddingModelData}\n columns={embeddingModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/rerank\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={rerankModelData}\n columns={rerankModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/image\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={imageModelData}\n columns={imageModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/audio\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={audioModelData}\n columns={audioModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/video\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={videoModelData}\n columns={videoModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/flexible\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={flexibleModelData}\n columns={flexibleModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default RunningModels\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -0,0 +1 @@
1
+ {"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import FilterNoneIcon from'@mui/icons-material/FilterNone';import{Alert,Snackbar,Tooltip}from'@mui/material';import ClipboardJS from'clipboard';import React,{useEffect,useRef,useState}from'react';import{useTranslation}from'react-i18next';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var keyMap={model_size_in_billions:'--size-in-billions',download_hub:'--download_hub',enable_thinking:'--enable_thinking',reasoning_content:'--reasoning_content',lightning_version:'--lightning_version',lightning_model_path:'--lightning_model_path'};function CopyComponent(_ref){var modelData=_ref.modelData,predefinedKeys=_ref.predefinedKeys;var _useTranslation=useTranslation(),t=_useTranslation.t;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isCopySuccess=_useState2[0],setIsCopySuccess=_useState2[1];var copyRef=useRef(null);var generateCommandLineStatement=function generateCommandLineStatement(params){var args=Object.entries(params).filter(function(_ref2){var _ref3=_slicedToArray(_ref2,2),key=_ref3[0],value=_ref3[1];return predefinedKeys.includes(key)&&value!==null&&value!==undefined||!predefinedKeys.includes(key);}).flatMap(function(_ref4){var _ref5=_slicedToArray(_ref4,2),key=_ref5[0],value=_ref5[1];if(key==='gpu_idx'&&Array.isArray(value)){return\"--gpu-idx \".concat(value.join(','));}else if(key==='peft_model_config'&&typeof value==='object'){var peftArgs=[];if(value.lora_list){peftArgs.push.apply(peftArgs,_toConsumableArray(value.lora_list.map(function(lora){return\"--lora-modules \".concat(lora.lora_name,\" \").concat(lora.local_path);})));}if(value.image_lora_load_kwargs){peftArgs.push.apply(peftArgs,_toConsumableArray(Object.entries(value.image_lora_load_kwargs).map(function(_ref6){var _ref7=_slicedToArray(_ref6,2),k=_ref7[0],v=_ref7[1];return\"--image-lora-load-kwargs \".concat(k,\" \").concat(v);})));}if(value.image_lora_fuse_kwargs){peftArgs.push.apply(peftArgs,_toConsumableArray(Object.entries(value.image_lora_fuse_kwargs).map(function(_ref8){var _ref9=_slicedToArray(_ref8,2),k=_ref9[0],v=_ref9[1];return\"--image-lora-fuse-kwargs \".concat(k,\" \").concat(v);})));}return peftArgs;}else if(key==='quantization_config'&&typeof value==='object'){return Object.entries(value).map(function(_ref10){var _ref11=_slicedToArray(_ref10,2),k=_ref11[0],v=_ref11[1];return\"--quantization-config \".concat(k,\" \").concat(v===null?'none':v);});}else if(key==='envs'&&typeof value==='object'){return Object.entries(value).map(function(_ref12){var _ref13=_slicedToArray(_ref12,2),k=_ref13[0],v=_ref13[1];return\"--env \".concat(k,\" \").concat(v);});}else if(key==='virtual_env_packages'&&Array.isArray(value)){return value.map(function(pkg){return\"--virtual-env-package \".concat(pkg);});}else if(key==='enable_virtual_env'){if(value===true)return\"--enable-virtual-env\";if(value===false)return\"--disable-virtual-env\";return[];}else if(predefinedKeys.includes(key)){var _keyMap$key;var newKey=(_keyMap$key=keyMap[key])!==null&&_keyMap$key!==void 0?_keyMap$key:\"--\".concat(key.replace(/_/g,'-'));return\"\".concat(newKey,\" \").concat(value===false?'false':value===null?'none':value);}else{return\"--\".concat(key,\" \").concat(value===false?'false':value===null?'none':value);}}).join(' ');return\"xinference launch \".concat(args);};useEffect(function(){var _text=generateCommandLineStatement(modelData);var clipboard=new ClipboardJS(copyRef.current,{text:function text(){return _text;}});clipboard.on('success',function(e){e.clearSelection();setIsCopySuccess(true);});var handleClick=function handleClick(event){event.stopPropagation();copyRef.current.focus();};var copy=copyRef.current;copy.addEventListener('click',handleClick);return function(){clipboard.destroy();copy.removeEventListener('click',handleClick);};},[modelData]);return/*#__PURE__*/_jsxs(\"div\",{style:{marginInline:'10px',lineHeight:'14px'},children:[/*#__PURE__*/_jsx(Tooltip,{title:t('launchModel.copyToCommandLine'),placement:\"top\",children:/*#__PURE__*/_jsx(\"div\",{ref:copyRef,children:/*#__PURE__*/_jsx(FilterNoneIcon,{className:\"copyToCommandLine\"})})}),/*#__PURE__*/_jsx(Snackbar,{anchorOrigin:{vertical:'top',horizontal:'center'},open:isCopySuccess,autoHideDuration:1500,onClose:function onClose(){return setIsCopySuccess(false);},children:/*#__PURE__*/_jsx(Alert,{severity:\"success\",variant:\"filled\",sx:{width:'100%'},children:t('components.copySuccess')})})]});}export default CopyComponent;","map":{"version":3,"names":["FilterNoneIcon","Alert","Snackbar","Tooltip","ClipboardJS","React","useEffect","useRef","useState","useTranslation","jsx","_jsx","jsxs","_jsxs","keyMap","model_size_in_billions","download_hub","enable_thinking","reasoning_content","lightning_version","lightning_model_path","CopyComponent","_ref","modelData","predefinedKeys","_useTranslation","t","_useState","_useState2","_slicedToArray","isCopySuccess","setIsCopySuccess","copyRef","generateCommandLineStatement","params","args","Object","entries","filter","_ref2","_ref3","key","value","includes","undefined","flatMap","_ref4","_ref5","Array","isArray","concat","join","peftArgs","lora_list","push","apply","_toConsumableArray","map","lora","lora_name","local_path","image_lora_load_kwargs","_ref6","_ref7","k","v","image_lora_fuse_kwargs","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","pkg","_keyMap$key","newKey","replace","text","clipboard","current","on","e","clearSelection","handleClick","event","stopPropagation","focus","copy","addEventListener","destroy","removeEventListener","style","marginInline","lineHeight","children","title","placement","ref","className","anchorOrigin","vertical","horizontal","open","autoHideDuration","onClose","severity","variant","sx","width"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/launch_model/components/copyComponent.js"],"sourcesContent":["import FilterNoneIcon from '@mui/icons-material/FilterNone'\nimport { Alert, Snackbar, Tooltip } from '@mui/material'\nimport ClipboardJS from 'clipboard'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nconst keyMap = {\n model_size_in_billions: '--size-in-billions',\n download_hub: '--download_hub',\n enable_thinking: '--enable_thinking',\n reasoning_content: '--reasoning_content',\n lightning_version: '--lightning_version',\n lightning_model_path: '--lightning_model_path',\n}\n\nfunction CopyComponent({ modelData, predefinedKeys }) {\n const { t } = useTranslation()\n const [isCopySuccess, setIsCopySuccess] = useState(false)\n const copyRef = useRef(null)\n\n const generateCommandLineStatement = (params) => {\n const args = Object.entries(params)\n .filter(\n ([key, value]) =>\n (predefinedKeys.includes(key) &&\n value !== null &&\n value !== undefined) ||\n !predefinedKeys.includes(key)\n )\n .flatMap(([key, value]) => {\n if (key === 'gpu_idx' && Array.isArray(value)) {\n return `--gpu-idx ${value.join(',')}`\n } else if (key === 'peft_model_config' && typeof value === 'object') {\n const peftArgs = []\n if (value.lora_list) {\n peftArgs.push(\n ...value.lora_list.map(\n (lora) => `--lora-modules ${lora.lora_name} ${lora.local_path}`\n )\n )\n }\n if (value.image_lora_load_kwargs) {\n peftArgs.push(\n ...Object.entries(value.image_lora_load_kwargs).map(\n ([k, v]) => `--image-lora-load-kwargs ${k} ${v}`\n )\n )\n }\n if (value.image_lora_fuse_kwargs) {\n peftArgs.push(\n ...Object.entries(value.image_lora_fuse_kwargs).map(\n ([k, v]) => `--image-lora-fuse-kwargs ${k} ${v}`\n )\n )\n }\n return peftArgs\n } else if (key === 'quantization_config' && typeof value === 'object') {\n return Object.entries(value).map(\n ([k, v]) => `--quantization-config ${k} ${v === null ? 'none' : v}`\n )\n } else if (key === 'envs' && typeof value === 'object') {\n return Object.entries(value).map(([k, v]) => `--env ${k} ${v}`)\n } else if (key === 'virtual_env_packages' && Array.isArray(value)) {\n return value.map((pkg) => `--virtual-env-package ${pkg}`)\n } else if (key === 'enable_virtual_env') {\n if (value === true) return `--enable-virtual-env`\n if (value === false) return `--disable-virtual-env`\n return []\n } else if (predefinedKeys.includes(key)) {\n const newKey = keyMap[key] ?? `--${key.replace(/_/g, '-')}`\n return `${newKey} ${\n value === false ? 'false' : value === null ? 'none' : value\n }`\n } else {\n return `--${key} ${\n value === false ? 'false' : value === null ? 'none' : value\n }`\n }\n })\n .join(' ')\n\n return `xinference launch ${args}`\n }\n\n useEffect(() => {\n const text = generateCommandLineStatement(modelData)\n const clipboard = new ClipboardJS(copyRef.current, {\n text: () => text,\n })\n\n clipboard.on('success', (e) => {\n e.clearSelection()\n setIsCopySuccess(true)\n })\n\n const handleClick = (event) => {\n event.stopPropagation()\n copyRef.current.focus()\n }\n\n const copy = copyRef.current\n copy.addEventListener('click', handleClick)\n\n return () => {\n clipboard.destroy()\n copy.removeEventListener('click', handleClick)\n }\n }, [modelData])\n\n return (\n <div style={{ marginInline: '10px', lineHeight: '14px' }}>\n <Tooltip title={t('launchModel.copyToCommandLine')} placement=\"top\">\n <div ref={copyRef}>\n <FilterNoneIcon className=\"copyToCommandLine\" />\n </div>\n </Tooltip>\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={isCopySuccess}\n autoHideDuration={1500}\n onClose={() => setIsCopySuccess(false)}\n >\n <Alert severity=\"success\" variant=\"filled\" sx={{ width: '100%' }}>\n {t('components.copySuccess')}\n </Alert>\n </Snackbar>\n </div>\n )\n}\n\nexport default CopyComponent\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -0,0 +1 @@
1
+ {"ast":null,"code":"export var llmAllDataKey=['model_uid','model_name','model_type','model_engine','model_format','model_size_in_billions','quantization','n_worker','n_gpu','n_gpu_layers','replica','request_limits','worker_ip','gpu_idx','download_hub','model_path','reasoning_content','gguf_quantization','gguf_model_path','lightning_version','lightning_model_path','cpu_offload','peft_model_config','quantization_config','enable_thinking','multimodal_projectors','enable_virtual_env','virtual_env_packages','envs'];export var additionalParameterTipList={'transformers':['torch_dtype','device','enable_flash_attn'],'llama.cpp':['n_ctx','use_mmap','use_mlock'],'vllm':['block_size','gpu_memory_utilization','max_num_seqs','max_model_len','guided_decoding_backend','scheduling_policy','tensor_parallel_size','pipeline_parallel_size','enable_prefix_caching','enable_chunked_prefill','enforce_eager','cpu_offload_gb','disable_custom_all_reduce','limit_mm_per_prompt','model_quantization','mm_processor_kwargs','min_pixels','max_pixels'],'sglang':['mem_fraction_static','attention_reduce_in_fp32','tp_size','dp_size','chunked_prefill_size','cpu_offload_gb','enable_dp_attention','enable_ep_moe'],'mlx':['cache_limit_gb','max_kv_size']};export var quantizationParametersTipList=['load_in_8bit','load_in_4bit','llm_int8_threshold','llm_int8_skip_modules','llm_int8_enable_fp32_cpu_offload','llm_int8_has_fp16_weight','bnb_4bit_compute_dtype','bnb_4bit_quant_type','bnb_4bit_use_double_quant','bnb_4bit_quant_storage'];export var featureModels=[{type:'llm',feature_models:['Deepseek-V3.1','gpt-oss','qwen3','Ernie4.5','deepseek-r1-0528','deepseek-r1-0528-qwen3','qwen2.5-vl-instruct','glm-4.5','QwQ-32B','gemma-3-it']},{type:'embedding',feature_models:['Qwen3-Embedding-0.6B','Qwen3-Embedding-4B','Qwen3-Embedding-8B','bge-large-zh-v1.5','bge-large-en-v1.5','bge-m3','gte-Qwen2','jina-embeddings-v3']},{type:'rerank',feature_models:[]},{type:'image',feature_models:['Qwen-Image','Qwen-Image-Edit','FLUX.1-dev','FLUX.1-Kontext-dev','FLUX.1-schnell','sd3.5-large','HunyuanDiT-v1.2','cogview4','sd3.5-medium']},{type:'audio',feature_models:['CosyVoice2-0.5B','FishSpeech-1.5','F5-TTS','ChatTTS','SenseVoiceSmall','whisper-large-v3']},{type:'video',feature_models:[]}];","map":{"version":3,"names":["llmAllDataKey","additionalParameterTipList","quantizationParametersTipList","featureModels","type","feature_models"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/launch_model/data/data.js"],"sourcesContent":["export const llmAllDataKey = [\n 'model_uid',\n 'model_name',\n 'model_type',\n 'model_engine',\n 'model_format',\n 'model_size_in_billions',\n 'quantization',\n 'n_worker',\n 'n_gpu',\n 'n_gpu_layers',\n 'replica',\n 'request_limits',\n 'worker_ip',\n 'gpu_idx',\n 'download_hub',\n 'model_path',\n 'reasoning_content',\n 'gguf_quantization',\n 'gguf_model_path',\n 'lightning_version',\n 'lightning_model_path',\n 'cpu_offload',\n 'peft_model_config',\n 'quantization_config',\n 'enable_thinking',\n 'multimodal_projectors',\n 'enable_virtual_env',\n 'virtual_env_packages',\n 'envs',\n]\n\nexport const additionalParameterTipList = {\n 'transformers': ['torch_dtype', 'device', 'enable_flash_attn'],\n 'llama.cpp': ['n_ctx', 'use_mmap', 'use_mlock'],\n 'vllm': [\n 'block_size',\n 'gpu_memory_utilization',\n 'max_num_seqs',\n 'max_model_len',\n 'guided_decoding_backend',\n 'scheduling_policy',\n 'tensor_parallel_size',\n 'pipeline_parallel_size',\n 'enable_prefix_caching',\n 'enable_chunked_prefill',\n 'enforce_eager',\n 'cpu_offload_gb',\n 'disable_custom_all_reduce',\n 'limit_mm_per_prompt',\n 'model_quantization',\n 'mm_processor_kwargs',\n 'min_pixels',\n 'max_pixels',\n ],\n 'sglang': [\n 'mem_fraction_static',\n 'attention_reduce_in_fp32',\n 'tp_size',\n 'dp_size',\n 'chunked_prefill_size',\n 'cpu_offload_gb',\n 'enable_dp_attention',\n 'enable_ep_moe',\n ],\n 'mlx': ['cache_limit_gb', 'max_kv_size'],\n}\n\nexport const quantizationParametersTipList = [\n 'load_in_8bit',\n 'load_in_4bit',\n 'llm_int8_threshold',\n 'llm_int8_skip_modules',\n 'llm_int8_enable_fp32_cpu_offload',\n 'llm_int8_has_fp16_weight',\n 'bnb_4bit_compute_dtype',\n 'bnb_4bit_quant_type',\n 'bnb_4bit_use_double_quant',\n 'bnb_4bit_quant_storage',\n]\n\nexport const featureModels = [\n {\n type: 'llm',\n feature_models: [\n 'Deepseek-V3.1',\n 'gpt-oss',\n 'qwen3',\n 'Ernie4.5',\n 'deepseek-r1-0528',\n 'deepseek-r1-0528-qwen3',\n 'qwen2.5-vl-instruct',\n 'glm-4.5',\n 'QwQ-32B',\n 'gemma-3-it',\n ],\n },\n {\n type: 'embedding',\n feature_models: [\n 'Qwen3-Embedding-0.6B',\n 'Qwen3-Embedding-4B',\n 'Qwen3-Embedding-8B',\n 'bge-large-zh-v1.5',\n 'bge-large-en-v1.5',\n 'bge-m3',\n 'gte-Qwen2',\n 'jina-embeddings-v3',\n ],\n },\n {\n type: 'rerank',\n feature_models: [],\n },\n {\n type: 'image',\n feature_models: [\n 'Qwen-Image',\n 'Qwen-Image-Edit',\n 'FLUX.1-dev',\n 'FLUX.1-Kontext-dev',\n 'FLUX.1-schnell',\n 'sd3.5-large',\n 'HunyuanDiT-v1.2',\n 'cogview4',\n 'sd3.5-medium',\n ],\n },\n {\n type: 'audio',\n feature_models: [\n 'CosyVoice2-0.5B',\n 'FishSpeech-1.5',\n 'F5-TTS',\n 'ChatTTS',\n 'SenseVoiceSmall',\n 'whisper-large-v3',\n ],\n },\n {\n type: 'video',\n feature_models: [],\n },\n]\n"],"mappings":"AAAA,MAAO,IAAM,CAAAA,aAAa,CAAG,CAC3B,WAAW,CACX,YAAY,CACZ,YAAY,CACZ,cAAc,CACd,cAAc,CACd,wBAAwB,CACxB,cAAc,CACd,UAAU,CACV,OAAO,CACP,cAAc,CACd,SAAS,CACT,gBAAgB,CAChB,WAAW,CACX,SAAS,CACT,cAAc,CACd,YAAY,CACZ,mBAAmB,CACnB,mBAAmB,CACnB,iBAAiB,CACjB,mBAAmB,CACnB,sBAAsB,CACtB,aAAa,CACb,mBAAmB,CACnB,qBAAqB,CACrB,iBAAiB,CACjB,uBAAuB,CACvB,oBAAoB,CACpB,sBAAsB,CACtB,MAAM,CACP,CAED,MAAO,IAAM,CAAAC,0BAA0B,CAAG,CACxC,cAAc,CAAE,CAAC,aAAa,CAAE,QAAQ,CAAE,mBAAmB,CAAC,CAC9D,WAAW,CAAE,CAAC,OAAO,CAAE,UAAU,CAAE,WAAW,CAAC,CAC/C,MAAM,CAAE,CACN,YAAY,CACZ,wBAAwB,CACxB,cAAc,CACd,eAAe,CACf,yBAAyB,CACzB,mBAAmB,CACnB,sBAAsB,CACtB,wBAAwB,CACxB,uBAAuB,CACvB,wBAAwB,CACxB,eAAe,CACf,gBAAgB,CAChB,2BAA2B,CAC3B,qBAAqB,CACrB,oBAAoB,CACpB,qBAAqB,CACrB,YAAY,CACZ,YAAY,CACb,CACD,QAAQ,CAAE,CACR,qBAAqB,CACrB,0BAA0B,CAC1B,SAAS,CACT,SAAS,CACT,sBAAsB,CACtB,gBAAgB,CAChB,qBAAqB,CACrB,eAAe,CAChB,CACD,KAAK,CAAE,CAAC,gBAAgB,CAAE,aAAa,CACzC,CAAC,CAED,MAAO,IAAM,CAAAC,6BAA6B,CAAG,CAC3C,cAAc,CACd,cAAc,CACd,oBAAoB,CACpB,uBAAuB,CACvB,kCAAkC,CAClC,0BAA0B,CAC1B,wBAAwB,CACxB,qBAAqB,CACrB,2BAA2B,CAC3B,wBAAwB,CACzB,CAED,MAAO,IAAM,CAAAC,aAAa,CAAG,CAC3B,CACEC,IAAI,CAAE,KAAK,CACXC,cAAc,CAAE,CACd,eAAe,CACf,SAAS,CACT,OAAO,CACP,UAAU,CACV,kBAAkB,CAClB,wBAAwB,CACxB,qBAAqB,CACrB,SAAS,CACT,SAAS,CACT,YAAY,CAEhB,CAAC,CACD,CACED,IAAI,CAAE,WAAW,CACjBC,cAAc,CAAE,CACd,sBAAsB,CACtB,oBAAoB,CACpB,oBAAoB,CACpB,mBAAmB,CACnB,mBAAmB,CACnB,QAAQ,CACR,WAAW,CACX,oBAAoB,CAExB,CAAC,CACD,CACED,IAAI,CAAE,QAAQ,CACdC,cAAc,CAAE,EAClB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,CACd,YAAY,CACZ,iBAAiB,CACjB,YAAY,CACZ,oBAAoB,CACpB,gBAAgB,CAChB,aAAa,CACb,iBAAiB,CACjB,UAAU,CACV,cAAc,CAElB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,CACd,iBAAiB,CACjB,gBAAgB,CAChB,QAAQ,CACR,SAAS,CACT,iBAAiB,CACjB,kBAAkB,CAEtB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,EAClB,CAAC,CACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -80,6 +80,8 @@
80
80
  "modelPath.optional": "(Optional) Model Path, For PyTorch, provide the model directory. For GGML/GGUF, provide the model file path.",
81
81
  "GGUFQuantization.optional": "(Optional) GGUF quantization format, quantizing the Transformer part.",
82
82
  "GGUFModelPath.optional": "(Optional) GGUF model path, should be a file ending with .gguf.",
83
+ "lightningVersions.optional": "(Optional) Lightning Versions",
84
+ "lightningModelPath.optional": "(Optional) Lightning Model Path",
83
85
  "enableThinking": "Enable Thinking",
84
86
  "parsingReasoningContent": "Parsing Reasoning Content",
85
87
  "CPUOffload": "CPU Offload",
@@ -80,6 +80,8 @@
80
80
  "modelPath.optional": "(オプション) モデルパス、PyTorchの場合はモデルディレクトリ、GGML/GGUFの場合はモデルファイルパスを指定",
81
81
  "GGUFQuantization.optional": "(オプション) GGUF量子化フォーマット、Transformer部分を量子化",
82
82
  "GGUFModelPath.optional": "(オプション) GGUFモデルパス、.ggufで終わるファイルを指定",
83
+ "lightningVersions.optional": "(オプション) 軽量化バージョン",
84
+ "lightningModelPath.optional": "(オプション) 軽量化LoRAモデルパス",
83
85
  "enableThinking": "思考を有効化",
84
86
  "parsingReasoningContent": "推論内容の解析",
85
87
  "CPUOffload": "CPUオフロード",
@@ -80,6 +80,8 @@
80
80
  "modelPath.optional": "(선택) 모델 경로, PyTorch의 경우 모델 디렉토리, GGML/GGUF의 경우 모델 파일 경로 지정",
81
81
  "GGUFQuantization.optional": "(선택) GGUF 양자화 형식, Transformer 부분 양자화",
82
82
  "GGUFModelPath.optional": "(선택) GGUF 모델 경로, .gguf로 끝나는 파일 지정",
83
+ "lightningVersions.optional": "(선택) 경량화 버전",
84
+ "lightningModelPath.optional": "(선택) 경량화 lora 모델 경로",
83
85
  "enableThinking": "사고 활성화",
84
86
  "parsingReasoningContent": "추론 내용 파싱",
85
87
  "CPUOffload": "CPU 오프로드",
@@ -80,6 +80,8 @@
80
80
  "modelPath.optional": "(可选) 模型路径,对于 PyTorch,提供模型目录;对于 GGML/GGUF,提供模型文件路径。",
81
81
  "GGUFQuantization.optional": "(可选) GGUF量化格式,对Transformer部分进行量化。",
82
82
  "GGUFModelPath.optional": "(可选) GGUF模型路径,应为以 .gguf 结尾的文件。",
83
+ "lightningVersions.optional": "(可选) 蒸馏版本",
84
+ "lightningModelPath.optional": "(可选) 蒸馏lora路径",
83
85
  "enableThinking": "开启思考模式",
84
86
  "parsingReasoningContent": "解析推理内容",
85
87
  "CPUOffload": "CPU卸载",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xinference
3
- Version: 1.8.1rc1
3
+ Version: 1.9.1
4
4
  Summary: Model Serving Made Easy
5
5
  Home-page: https://github.com/xorbitsai/inference
6
6
  Author: Qin Xuye
@@ -68,7 +68,7 @@ Requires-Dist: sphinx-tabs; extra == "dev"
68
68
  Requires-Dist: sphinx-design; extra == "dev"
69
69
  Provides-Extra: all
70
70
  Requires-Dist: uv; extra == "all"
71
- Requires-Dist: xllamacpp>=0.1.23; extra == "all"
71
+ Requires-Dist: xllamacpp>=0.2.0; extra == "all"
72
72
  Requires-Dist: transformers>=4.46.0; extra == "all"
73
73
  Requires-Dist: torch; extra == "all"
74
74
  Requires-Dist: accelerate>=0.28.0; extra == "all"
@@ -100,7 +100,9 @@ Requires-Dist: qwen_vl_utils!=0.0.9; extra == "all"
100
100
  Requires-Dist: tomli; extra == "all"
101
101
  Requires-Dist: sentence-transformers>=3.1.0; extra == "all"
102
102
  Requires-Dist: FlagEmbedding; extra == "all"
103
+ Requires-Dist: datasets>=3.4.0; extra == "all"
103
104
  Requires-Dist: FlagEmbedding; extra == "all"
105
+ Requires-Dist: datasets>=3.4.0; extra == "all"
104
106
  Requires-Dist: diffusers>=0.32.0; extra == "all"
105
107
  Requires-Dist: controlnet_aux; extra == "all"
106
108
  Requires-Dist: deepcache; extra == "all"
@@ -166,7 +168,7 @@ Provides-Extra: intel
166
168
  Requires-Dist: torch==2.1.0a0; extra == "intel"
167
169
  Requires-Dist: intel_extension_for_pytorch==2.1.10+xpu; extra == "intel"
168
170
  Provides-Extra: llama-cpp
169
- Requires-Dist: xllamacpp>=0.1.23; extra == "llama-cpp"
171
+ Requires-Dist: xllamacpp>=0.2.0; extra == "llama-cpp"
170
172
  Provides-Extra: transformers
171
173
  Requires-Dist: transformers>=4.46.0; extra == "transformers"
172
174
  Requires-Dist: torch; extra == "transformers"
@@ -193,6 +195,7 @@ Provides-Extra: transformers-quantization
193
195
  Requires-Dist: bitsandbytes; sys_platform == "linux" and extra == "transformers-quantization"
194
196
  Requires-Dist: gptqmodel; extra == "transformers-quantization"
195
197
  Requires-Dist: autoawq!=0.2.6; sys_platform != "darwin" and extra == "transformers-quantization"
198
+ Requires-Dist: datasets>=3.4.0; extra == "transformers-quantization"
196
199
  Provides-Extra: vllm
197
200
  Requires-Dist: vllm>=0.2.6; sys_platform == "linux" and extra == "vllm"
198
201
  Provides-Extra: sglang
@@ -208,8 +211,10 @@ Requires-Dist: tomli; extra == "mlx"
208
211
  Provides-Extra: embedding
209
212
  Requires-Dist: sentence-transformers>=3.1.0; extra == "embedding"
210
213
  Requires-Dist: FlagEmbedding; extra == "embedding"
214
+ Requires-Dist: datasets>=3.4.0; extra == "embedding"
211
215
  Provides-Extra: rerank
212
216
  Requires-Dist: FlagEmbedding; extra == "rerank"
217
+ Requires-Dist: datasets>=3.4.0; extra == "rerank"
213
218
  Provides-Extra: image
214
219
  Requires-Dist: diffusers>=0.32.0; extra == "image"
215
220
  Requires-Dist: controlnet_aux; extra == "image"
@@ -339,14 +344,14 @@ potential of cutting-edge AI models.
339
344
  - Support SGLang backend: [#1161](https://github.com/xorbitsai/inference/pull/1161)
340
345
  - Support LoRA for LLM and image models: [#1080](https://github.com/xorbitsai/inference/pull/1080)
341
346
  ### New Models
347
+ - Built-in support for [Deepseek-V3.1](https://api-docs.deepseek.com/news/news250821): [#4022](https://github.com/xorbitsai/inference/pull/4022)
348
+ - Built-in support for [Qwen-Image-Edit](https://huggingface.co/Qwen/Qwen-Image-Edit): [#3989](https://github.com/xorbitsai/inference/pull/3989)
349
+ - Built-in support for [Wan2.2](https://github.com/Wan-Video/Wan2.2): [#3996](https://github.com/xorbitsai/inference/pull/3996)
350
+ - Built-in support for [seed-oss](https://github.com/ByteDance-Seed/seed-oss): [#4020](https://github.com/xorbitsai/inference/pull/4020)
351
+ - Built-in support for [gpt-oss](https://openai.com/zh-Hans-CN/index/introducing-gpt-oss/): [#3924](https://github.com/xorbitsai/inference/pull/3924)
352
+ - Built-in support for [GLM-4.5v](https://github.com/zai-org/GLM-V): [#3957](https://github.com/xorbitsai/inference/pull/3957)
353
+ - Built-in support for [Qwen-Image](https://qwenlm.github.io/blog/qwen-image/): [#3916](https://github.com/xorbitsai/inference/pull/3916)
342
354
  - Built-in support for [GLM-4.5](https://github.com/zai-org/GLM-4.5): [#3882](https://github.com/xorbitsai/inference/pull/3882)
343
- - Built-in support for [ERNIE 4.5](https://yiyan.baidu.com/blog/posts/ernie4.5/): [#3812](https://github.com/xorbitsai/inference/pull/3812)
344
- - Built-in support for [GLM-4.1V-Thinking](https://github.com/THUDM/GLM-4.1V-Thinking/tree/main): [#3756](https://github.com/xorbitsai/inference/pull/3756)
345
- - Built-in support for [jina-embeddings-v4](https://jina.ai/news/jina-embeddings-v4-universal-embeddings-for-multimodal-multilingual-retrieval/): [#3814](https://github.com/xorbitsai/inference/pull/3814)
346
- - Built-in support for [FLUX.1-Kontext-dev](https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev): [#3728](https://github.com/xorbitsai/inference/pull/3728)
347
- - Built-in support for [Qwen3-Embedding](https://github.com/QwenLM/Qwen3-Embedding): [#3627](https://github.com/xorbitsai/inference/pull/3627)
348
- - Built-in support for [Minicpm4](https://github.com/OpenBMB/MiniCPM): [#3609](https://github.com/xorbitsai/inference/pull/3609)
349
- - Built-in support for [CogView4](https://github.com/THUDM/CogView4): [#3557](https://github.com/xorbitsai/inference/pull/3557)
350
355
  ### Integrations
351
356
  - [Dify](https://docs.dify.ai/advanced/model-configuration/xinference): an LLMOps platform that enables developers (and even non-developers) to quickly build useful applications based on large language models, ensuring they are visual, operable, and improvable.
352
357
  - [FastGPT](https://github.com/labring/FastGPT): a knowledge-based platform built on the LLM, offers out-of-the-box data processing and model invocation capabilities, allows for workflow orchestration through Flow visualization.