xinference 0.9.1__py3-none-any.whl → 0.9.2__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 (42) hide show
  1. xinference/_version.py +3 -3
  2. xinference/api/restful_api.py +31 -0
  3. xinference/client/common.py +2 -0
  4. xinference/client/restful/restful_client.py +25 -0
  5. xinference/core/supervisor.py +11 -1
  6. xinference/core/worker.py +16 -0
  7. xinference/deploy/cmdline.py +53 -1
  8. xinference/device_utils.py +0 -2
  9. xinference/model/core.py +13 -2
  10. xinference/model/image/core.py +16 -2
  11. xinference/model/image/stable_diffusion/core.py +25 -2
  12. xinference/model/llm/__init__.py +17 -0
  13. xinference/model/llm/core.py +18 -2
  14. xinference/model/llm/ggml/llamacpp.py +3 -19
  15. xinference/model/llm/llm_family.json +8 -3
  16. xinference/model/llm/llm_family.py +100 -29
  17. xinference/model/llm/llm_family_modelscope.json +7 -2
  18. xinference/model/llm/pytorch/baichuan.py +2 -0
  19. xinference/model/llm/pytorch/chatglm.py +2 -0
  20. xinference/model/llm/pytorch/core.py +23 -0
  21. xinference/model/llm/pytorch/falcon.py +4 -0
  22. xinference/model/llm/pytorch/internlm2.py +2 -0
  23. xinference/model/llm/pytorch/llama_2.py +4 -0
  24. xinference/model/llm/pytorch/qwen_vl.py +1 -0
  25. xinference/model/llm/pytorch/vicuna.py +2 -0
  26. xinference/model/llm/pytorch/yi_vl.py +1 -0
  27. xinference/web/ui/build/asset-manifest.json +3 -3
  28. xinference/web/ui/build/index.html +1 -1
  29. xinference/web/ui/build/static/js/{main.ebf7716d.js → main.78829790.js} +3 -3
  30. xinference/web/ui/build/static/js/main.78829790.js.map +1 -0
  31. xinference/web/ui/node_modules/.cache/babel-loader/98b7ef307f436affe13d75a4f265b27e828ccc2b10ffae6513abe2681bc11971.json +1 -0
  32. xinference/web/ui/node_modules/.cache/babel-loader/e8687f75d2adacd34852b71c41ca17203d6fb4c8999ea55325bb2939f9d9ea90.json +1 -0
  33. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/METADATA +3 -1
  34. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/RECORD +39 -39
  35. xinference/web/ui/build/static/js/main.ebf7716d.js.map +0 -1
  36. xinference/web/ui/node_modules/.cache/babel-loader/0738899eefad7f90261125823d87ea9f0d53667b1479a0c1f398aff14f2bbd2a.json +0 -1
  37. xinference/web/ui/node_modules/.cache/babel-loader/77d4d795f078408fa2dd49da26d1ba1543d51b63cc253e736f4bef2e6014e888.json +0 -1
  38. /xinference/web/ui/build/static/js/{main.ebf7716d.js.LICENSE.txt → main.78829790.js.LICENSE.txt} +0 -0
  39. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/LICENSE +0 -0
  40. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/WHEEL +0 -0
  41. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/entry_points.txt +0 -0
  42. {xinference-0.9.1.dist-info → xinference-0.9.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ {"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{ChatOutlined,EditNoteOutlined,HelpCenterOutlined,RocketLaunchOutlined,UndoOutlined}from'@mui/icons-material';import DeleteIcon from'@mui/icons-material/Delete';import{Box,Chip,CircularProgress,FormControl,Grid,InputLabel,MenuItem,Select,Stack,TextField}from'@mui/material';import IconButton from'@mui/material/IconButton';import React,{useContext,useEffect,useState}from'react';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';import TitleTypography from'../../components/titleTypography';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var CARD_HEIGHT=380;var CARD_WIDTH=300;var ModelCard=function ModelCard(_ref){var url=_ref.url,modelData=_ref.modelData,gpuAvailable=_ref.gpuAvailable,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),hover=_useState2[0],setHover=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),selected=_useState4[0],setSelected=_useState4[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;var _useContext3=useContext(ApiContext),setErrorMsg=_useContext3.setErrorMsg;var navigate=useNavigate();// Model parameter selections\nvar _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),modelUID=_useState6[0],setModelUID=_useState6[1];var _useState7=useState(''),_useState8=_slicedToArray(_useState7,2),modelFormat=_useState8[0],setModelFormat=_useState8[1];var _useState9=useState(''),_useState10=_slicedToArray(_useState9,2),modelSize=_useState10[0],setModelSize=_useState10[1];var _useState11=useState(''),_useState12=_slicedToArray(_useState11,2),quantization=_useState12[0],setQuantization=_useState12[1];var _useState13=useState('auto'),_useState14=_slicedToArray(_useState13,2),nGPU=_useState14[0],setNGPU=_useState14[1];var _useState15=useState(-1),_useState16=_slicedToArray(_useState15,2),nGPULayers=_useState16[0],setNGPULayers=_useState16[1];var _useState17=useState(1),_useState18=_slicedToArray(_useState17,2),replica=_useState18[0],setReplica=_useState18[1];var _useState19=useState([]),_useState20=_slicedToArray(_useState19,2),formatOptions=_useState20[0],setFormatOptions=_useState20[1];var _useState21=useState([]),_useState22=_slicedToArray(_useState21,2),sizeOptions=_useState22[0],setSizeOptions=_useState22[1];var _useState23=useState([]),_useState24=_slicedToArray(_useState23,2),quantizationOptions=_useState24[0],setQuantizationOptions=_useState24[1];var _useState25=useState(false),_useState26=_slicedToArray(_useState25,2),customDeleted=_useState26[0],setCustomDeleted=_useState26[1];var range=function range(start,end){return new Array(end-start+1).fill(undefined).map(function(_,i){return i+start;});};var isCached=function isCached(spec){if(spec.model_format==='pytorch'){return spec.cache_status&&spec.cache_status===true;}else{return spec.cache_status&&spec.cache_status.some(function(cs){return cs;});}};// model size can be int or string. For string style, \"1_8\" means 1.8 as an example.\nvar convertModelSize=function convertModelSize(size){return size.toString().includes('_')?size:parseInt(size,10);};// UseEffects for parameter selection, change options based on previous selections\nuseEffect(function(){if(modelData){var modelFamily=modelData.model_specs;var formats=_toConsumableArray(new Set(modelFamily.map(function(spec){return spec.model_format;})));setFormatOptions(formats);}},[modelData]);useEffect(function(){if(modelFormat&&modelData){var modelFamily=modelData.model_specs;var sizes=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat;}).map(function(spec){return spec.model_size_in_billions;})));setSizeOptions(sizes);}},[modelFormat,modelData]);useEffect(function(){if(modelFormat&&modelSize&&modelData){var modelFamily=modelData.model_specs;var quants=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat&&spec.model_size_in_billions===convertModelSize(modelSize);}).flatMap(function(spec){return spec.quantizations;})));setQuantizationOptions(quants);}},[modelFormat,modelSize,modelData]);var getNGPURange=function getNGPURange(){if(gpuAvailable===0){// remain 'auto' for distributed situation\nreturn['auto','CPU'];}return['auto','CPU'].concat(range(1,gpuAvailable));};var launchModel=function launchModel(url){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);var modelDataWithID={// If user does not fill model_uid, pass null (None) to server and server generates it.\nmodel_uid:modelUID.trim()===''?null:modelUID.trim(),model_name:modelData.model_name,model_format:modelFormat,model_size_in_billions:convertModelSize(modelSize),quantization:quantization,n_gpu:parseInt(nGPU,10)===0||nGPU==='CPU'?null:nGPU==='auto'?'auto':parseInt(nGPU,10),replica:replica};if(nGPULayers>=0){modelDataWithID.n_gpu_layers=nGPULayers;}// First fetcher request to initiate the model\nfetcher(url+'/v1/models',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(modelDataWithID)}).then(function(response){if(!response.ok){// Assuming the server returns error details in JSON format\nresponse.json().then(function(errorData){setErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{navigate('/running_models');}setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var styles={container:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden',boxShadow:'0 0 2px #00000099'},descriptionCard:{position:'relative',top:'-1px',left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(CARD_HEIGHT+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},img:{display:'block',margin:'0 auto',width:'180px',height:'180px',objectFit:'cover',borderRadius:'10px'},h2:{margin:'10px 10px',fontSize:'20px'},p:{minHeight:'140px',fontSize:'14px',padding:'0px 10px 15px 10px'},buttonsContainer:{display:'flex',margin:'0 auto',marginTop:'15px',border:'none',justifyContent:'space-between',alignItems:'center'},buttonContainer:{width:'45%',borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'0px'},buttonItem:{width:'100%',margin:'0 auto',padding:'5px',display:'flex',justifyContent:'center',borderRadius:'4px',border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},instructionText:{fontSize:'12px',color:'#666666',fontStyle:'italic',margin:'10px 0',textAlign:'center'},slideIn:{transform:'translateX(0%)',transition:'transform 0.2s ease-in-out'},slideOut:{transform:'translateX(100%)',transition:'transform 0.2s ease-in-out'},iconRow:{display:'flex',justifyContent:'space-between',alignItems:'center'},iconItem:{display:'flex',flexDirection:'column',alignItems:'center',margin:'20px'},boldIconText:{fontWeight:'bold',fontSize:'1.2em'},muiIcon:{fontSize:'1.5em'},smallText:{fontSize:'0.8em'},tagRow:{margin:'2px 5px'}};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();fetcher(url+\"/v1/model_registrations/LLM/\".concat(modelData.model_name),{method:'DELETE',headers:{'Content-Type':'application/json'}}).then(function(){return setCustomDeleted(true);}).catch(console.error);};// Set two different states based on mouse hover\nreturn/*#__PURE__*/_jsxs(Box,{style:hover?styles.containerSelected:styles.container,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);},onClick:function onClick(){if(!selected&&!customDeleted){setSelected(true);}},children:[/*#__PURE__*/_jsxs(Box,{style:styles.descriptionCard,children:[is_custom&&/*#__PURE__*/_jsxs(Stack,{direction:\"row\",justifyContent:\"space-evenly\",alignItems:\"center\",spacing:1,children:[/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",onClick:handeCustomDelete,disabled:customDeleted,children:/*#__PURE__*/_jsx(DeleteIcon,{})})]}),!is_custom&&/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsxs(Stack,{spacing:1,direction:\"row\",useFlexGap:true,flexWrap:\"wrap\",sx:{marginLeft:1},children:[function(){return modelData.model_lang.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"});});}(),function(){if(modelData.model_specs.some(function(spec){return isCached(spec);})){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\"});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]}),/*#__PURE__*/_jsx(\"p\",{style:styles.p,children:modelData.model_description}),/*#__PURE__*/_jsxs(\"div\",{style:styles.iconRow,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsxs(\"span\",{style:styles.boldIconText,children:[Math.floor(modelData.context_length/1000),\"K\"]}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"context length\"})]}),function(){if(modelData.model_ability.includes('chat')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(ChatOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"chat model\"})]});}else if(modelData.model_ability.includes('generate')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(EditNoteOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"generate model\"})]});}else{return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(HelpCenterOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"other model\"})]});}}()]})]}),/*#__PURE__*/_jsxs(Box,{style:selected?_objectSpread(_objectSpread({},styles.parameterCard),styles.slideIn):_objectSpread(_objectSpread({},styles.parameterCard),styles.slideOut),children:[/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsx(Box,{display:\"flex\",flexDirection:\"column\",width:\"100%\",mx:\"auto\",children:/*#__PURE__*/_jsxs(Grid,{container:true,rowSpacing:0,columnSpacing:1,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"modelFormat-label\",children:\"Model Format\"}),/*#__PURE__*/_jsx(Select,{labelId:\"modelFormat-label\",value:modelFormat,onChange:function onChange(e){return setModelFormat(e.target.value);},label:\"Model Format\",children:formatOptions.map(function(format){var specs=modelData.model_specs.filter(function(spec){return spec.model_format===format;});var cached=specs.some(function(spec){return isCached(spec);});var displayedFormat=cached?format+' (cached)':format;return/*#__PURE__*/_jsx(MenuItem,{value:format,children:displayedFormat},format);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelFormat,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"modelSize-label\",children:\"Model Size\"}),/*#__PURE__*/_jsx(Select,{labelId:\"modelSize-label\",value:modelSize,onChange:function onChange(e){return setModelSize(e.target.value);},label:\"Model Size\",children:sizeOptions.map(function(size){var specs=modelData.model_specs.filter(function(spec){return spec.model_format===modelFormat;}).filter(function(spec){return spec.model_size_in_billions===size;});var cached=specs.some(function(spec){return isCached(spec);});var displayedSize=cached?size+' (cached)':size;return/*#__PURE__*/_jsx(MenuItem,{value:size,children:displayedSize},size);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelFormat||!modelSize,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"quantization-label\",children:\"Quantization\"}),/*#__PURE__*/_jsx(Select,{labelId:\"quantization-label\",value:quantization,onChange:function onChange(e){return setQuantization(e.target.value);},label:\"Quantization\",children:quantizationOptions.map(function(quant,index){var _specs$0$cache_status,_specs$,_specs$0$cache_status2,_specs$2,_specs$2$cache_status;var specs=modelData.model_specs.filter(function(spec){return spec.model_format===modelFormat;}).filter(function(spec){return spec.model_size_in_billions===convertModelSize(modelSize);});var cached=modelFormat==='pytorch'?(_specs$0$cache_status=(_specs$=specs[0])===null||_specs$===void 0?void 0:_specs$.cache_status)!==null&&_specs$0$cache_status!==void 0?_specs$0$cache_status:false===true:(_specs$0$cache_status2=(_specs$2=specs[0])===null||_specs$2===void 0?void 0:(_specs$2$cache_status=_specs$2.cache_status)===null||_specs$2$cache_status===void 0?void 0:_specs$2$cache_status[index])!==null&&_specs$0$cache_status2!==void 0?_specs$0$cache_status2:false===true;var displayedQuant=cached?quant+' (cached)':quant;return/*#__PURE__*/_jsx(MenuItem,{value:quant,children:displayedQuant},quant);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:modelFormat!=='ggufv2'&&modelFormat!=='ggmlv3'?/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelFormat||!modelSize||!quantization,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"n-gpu-label\",children:\"N-GPU\"}),/*#__PURE__*/_jsx(Select,{labelId:\"n-gpu-label\",value:nGPU,onChange:function onChange(e){return setNGPU(e.target.value);},label:\"N-GPU\",children:getNGPURange().map(function(v){return/*#__PURE__*/_jsx(MenuItem,{value:v,children:v},v);})})]}):/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{disabled:!modelFormat||!modelSize||!quantization,type:\"number\",label:\"N GPU Layers\",InputProps:{inputProps:{min:-1}},value:nGPULayers,onChange:function onChange(e){return setNGPULayers(parseInt(e.target.value,10));}})})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{variant:\"outlined\",value:modelUID,label:\"(Optional) Model UID, model name by default\",onChange:function onChange(e){return setModelUID(e.target.value);}})})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{disabled:!modelFormat||!modelSize||!quantization,type:\"number\",InputProps:{inputProps:{min:1}},label:\"Replica\",value:replica,onChange:function onChange(e){return setReplica(parseInt(e.target.value,10));}})})})]})}),/*#__PURE__*/_jsxs(Box,{style:styles.buttonsContainer,children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch\",style:styles.buttonContainer,onClick:function onClick(){return launchModel(url,modelData);},disabled:isCallingApi||isUpdatingModel||!(modelFormat&&modelSize&&modelData&&(quantization||!modelData.is_builtin&&modelFormat!=='pytorch')),children:function(){if(isCallingApi||isUpdatingModel){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(CircularProgress,{size:\"20px\",sx:{color:'#000000'}})});}else if(!(modelFormat&&modelSize&&modelData&&(quantization||!modelData.is_builtin&&modelFormat!=='pytorch'))){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{size:\"20px\"})});}else{return/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{color:\"#000000\",size:\"20px\"})});}}()}),/*#__PURE__*/_jsx(\"button\",{title:\"Go Back\",style:styles.buttonContainer,onClick:function onClick(){return setSelected(false);},children:/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(UndoOutlined,{color:\"#000000\",size:\"20px\"})})})]})]})]});};export default ModelCard;","map":{"version":3,"names":["ChatOutlined","EditNoteOutlined","HelpCenterOutlined","RocketLaunchOutlined","UndoOutlined","DeleteIcon","Box","Chip","CircularProgress","FormControl","Grid","InputLabel","MenuItem","Select","Stack","TextField","IconButton","React","useContext","useEffect","useState","useNavigate","ApiContext","fetcher","TitleTypography","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","ModelCard","_ref","url","modelData","gpuAvailable","_ref$is_custom","is_custom","_useState","_useState2","_slicedToArray","hover","setHover","_useState3","_useState4","selected","setSelected","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","navigate","_useState5","_useState6","modelUID","setModelUID","_useState7","_useState8","modelFormat","setModelFormat","_useState9","_useState10","modelSize","setModelSize","_useState11","_useState12","quantization","setQuantization","_useState13","_useState14","nGPU","setNGPU","_useState15","_useState16","nGPULayers","setNGPULayers","_useState17","_useState18","replica","setReplica","_useState19","_useState20","formatOptions","setFormatOptions","_useState21","_useState22","sizeOptions","setSizeOptions","_useState23","_useState24","quantizationOptions","setQuantizationOptions","_useState25","_useState26","customDeleted","setCustomDeleted","range","start","end","Array","fill","undefined","map","_","i","isCached","spec","model_format","cache_status","some","cs","convertModelSize","size","toString","includes","parseInt","modelFamily","model_specs","formats","_toConsumableArray","Set","sizes","filter","model_size_in_billions","quants","flatMap","quantizations","getNGPURange","concat","launchModel","modelDataWithID","model_uid","trim","model_name","n_gpu","n_gpu_layers","method","headers","body","JSON","stringify","then","response","ok","json","errorData","status","detail","catch","error","console","styles","container","display","position","width","height","border","borderRadius","background","overflow","containerSelected","boxShadow","descriptionCard","top","left","padding","parameterCard","img","margin","objectFit","h2","fontSize","p","minHeight","buttonsContainer","marginTop","justifyContent","alignItems","buttonContainer","borderWidth","backgroundColor","paddingLeft","paddingRight","buttonItem","borderColor","instructionText","color","fontStyle","textAlign","slideIn","transform","transition","slideOut","iconRow","iconItem","flexDirection","boldIconText","fontWeight","muiIcon","smallText","tagRow","handeCustomDelete","e","stopPropagation","style","onMouseEnter","onMouseLeave","onClick","children","direction","spacing","value","disabled","useFlexGap","flexWrap","sx","marginLeft","model_lang","v","label","variant","model_description","Math","floor","context_length","model_ability","_objectSpread","mx","rowSpacing","columnSpacing","item","xs","fullWidth","id","labelId","onChange","target","format","specs","cached","displayedFormat","displayedSize","quant","index","_specs$0$cache_status","_specs$","_specs$0$cache_status2","_specs$2","_specs$2$cache_status","displayedQuant","type","InputProps","inputProps","min","title","is_builtin"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/modelCard.js"],"sourcesContent":["import {\n ChatOutlined,\n EditNoteOutlined,\n HelpCenterOutlined,\n RocketLaunchOutlined,\n UndoOutlined,\n} from '@mui/icons-material'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport {\n Box,\n Chip,\n CircularProgress,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n TextField,\n} from '@mui/material'\nimport IconButton from '@mui/material/IconButton'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetcher from '../../components/fetcher'\nimport TitleTypography from '../../components/titleTypography'\n\nconst CARD_HEIGHT = 380\nconst CARD_WIDTH = 300\n\nconst ModelCard = ({ url, modelData, gpuAvailable, is_custom = false }) => {\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n const navigate = useNavigate()\n\n // Model parameter selections\n const [modelUID, setModelUID] = useState('')\n const [modelFormat, setModelFormat] = useState('')\n const [modelSize, setModelSize] = useState('')\n const [quantization, setQuantization] = useState('')\n const [nGPU, setNGPU] = useState('auto')\n const [nGPULayers, setNGPULayers] = useState(-1)\n const [replica, setReplica] = useState(1)\n\n const [formatOptions, setFormatOptions] = useState([])\n const [sizeOptions, setSizeOptions] = useState([])\n const [quantizationOptions, setQuantizationOptions] = useState([])\n const [customDeleted, setCustomDeleted] = useState(false)\n\n const range = (start, end) => {\n return new Array(end - start + 1).fill(undefined).map((_, i) => i + start)\n }\n\n const isCached = (spec) => {\n if (spec.model_format === 'pytorch') {\n return spec.cache_status && spec.cache_status === true\n } else {\n return spec.cache_status && spec.cache_status.some((cs) => cs)\n }\n }\n\n // model size can be int or string. For string style, \"1_8\" means 1.8 as an example.\n const convertModelSize = (size) => {\n return size.toString().includes('_') ? size : parseInt(size, 10)\n }\n\n // UseEffects for parameter selection, change options based on previous selections\n useEffect(() => {\n if (modelData) {\n const modelFamily = modelData.model_specs\n const formats = [...new Set(modelFamily.map((spec) => spec.model_format))]\n setFormatOptions(formats)\n }\n }, [modelData])\n\n useEffect(() => {\n if (modelFormat && modelData) {\n const modelFamily = modelData.model_specs\n const sizes = [\n ...new Set(\n modelFamily\n .filter((spec) => spec.model_format === modelFormat)\n .map((spec) => spec.model_size_in_billions)\n ),\n ]\n setSizeOptions(sizes)\n }\n }, [modelFormat, modelData])\n\n useEffect(() => {\n if (modelFormat && modelSize && modelData) {\n const modelFamily = modelData.model_specs\n const quants = [\n ...new Set(\n modelFamily\n .filter(\n (spec) =>\n spec.model_format === modelFormat &&\n spec.model_size_in_billions === convertModelSize(modelSize)\n )\n .flatMap((spec) => spec.quantizations)\n ),\n ]\n setQuantizationOptions(quants)\n }\n }, [modelFormat, modelSize, modelData])\n\n const getNGPURange = () => {\n if (gpuAvailable === 0) {\n // remain 'auto' for distributed situation\n return ['auto', 'CPU']\n }\n return ['auto', 'CPU'].concat(range(1, gpuAvailable))\n }\n\n const launchModel = (url) => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n\n setIsCallingApi(true)\n\n const modelDataWithID = {\n // If user does not fill model_uid, pass null (None) to server and server generates it.\n model_uid: modelUID.trim() === '' ? null : modelUID.trim(),\n model_name: modelData.model_name,\n model_format: modelFormat,\n model_size_in_billions: convertModelSize(modelSize),\n quantization: quantization,\n n_gpu:\n parseInt(nGPU, 10) === 0 || nGPU === 'CPU'\n ? null\n : nGPU === 'auto'\n ? 'auto'\n : parseInt(nGPU, 10),\n replica: replica,\n }\n\n if (nGPULayers >= 0) {\n modelDataWithID.n_gpu_layers = nGPULayers\n }\n\n // First fetcher request to initiate the model\n fetcher(url + '/v1/models', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(modelDataWithID),\n })\n .then((response) => {\n if (!response.ok) {\n // Assuming the server returns error details in JSON format\n response.json().then((errorData) => {\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n navigate('/running_models')\n }\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const styles = {\n container: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n },\n containerSelected: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n boxShadow: '0 0 2px #00000099',\n },\n descriptionCard: {\n position: 'relative',\n top: '-1px',\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${CARD_HEIGHT + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n img: {\n display: 'block',\n margin: '0 auto',\n width: '180px',\n height: '180px',\n objectFit: 'cover',\n borderRadius: '10px',\n },\n h2: {\n margin: '10px 10px',\n fontSize: '20px',\n },\n p: {\n minHeight: '140px',\n fontSize: '14px',\n padding: '0px 10px 15px 10px',\n },\n buttonsContainer: {\n display: 'flex',\n margin: '0 auto',\n marginTop: '15px',\n border: 'none',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonContainer: {\n width: '45%',\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n buttonItem: {\n width: '100%',\n margin: '0 auto',\n padding: '5px',\n display: 'flex',\n justifyContent: 'center',\n borderRadius: '4px',\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n },\n instructionText: {\n fontSize: '12px',\n color: '#666666',\n fontStyle: 'italic',\n margin: '10px 0',\n textAlign: 'center',\n },\n slideIn: {\n transform: 'translateX(0%)',\n transition: 'transform 0.2s ease-in-out',\n },\n slideOut: {\n transform: 'translateX(100%)',\n transition: 'transform 0.2s ease-in-out',\n },\n iconRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n iconItem: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n margin: '20px',\n },\n boldIconText: {\n fontWeight: 'bold',\n fontSize: '1.2em',\n },\n muiIcon: {\n fontSize: '1.5em',\n },\n smallText: {\n fontSize: '0.8em',\n },\n tagRow: {\n margin: '2px 5px',\n },\n }\n\n const handeCustomDelete = (e) => {\n e.stopPropagation()\n fetcher(url + `/v1/model_registrations/LLM/${modelData.model_name}`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(() => setCustomDeleted(true))\n .catch(console.error)\n }\n\n // Set two different states based on mouse hover\n return (\n <Box\n style={hover ? styles.containerSelected : styles.container}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={() => {\n if (!selected && !customDeleted) {\n setSelected(true)\n }\n }}\n >\n {/* First state: show description page */}\n <Box style={styles.descriptionCard}>\n {is_custom && (\n <Stack\n direction=\"row\"\n justifyContent=\"space-evenly\"\n alignItems=\"center\"\n spacing={1}\n >\n <TitleTypography value={modelData.model_name} />\n <IconButton\n aria-label=\"delete\"\n onClick={handeCustomDelete}\n disabled={customDeleted}\n >\n <DeleteIcon />\n </IconButton>\n </Stack>\n )}\n {!is_custom && <TitleTypography value={modelData.model_name} />}\n <Stack\n spacing={1}\n direction=\"row\"\n useFlexGap\n flexWrap=\"wrap\"\n sx={{ marginLeft: 1 }}\n >\n {(() => {\n return modelData.model_lang.map((v) => {\n return <Chip label={v} variant=\"outlined\" size=\"small\" />\n })\n })()}\n {(() => {\n if (modelData.model_specs.some((spec) => isCached(spec))) {\n return <Chip label=\"Cached\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n </Stack>\n <p style={styles.p}>{modelData.model_description}</p>\n\n <div style={styles.iconRow}>\n <div style={styles.iconItem}>\n <span style={styles.boldIconText}>\n {Math.floor(modelData.context_length / 1000)}K\n </span>\n <small style={styles.smallText}>context length</small>\n </div>\n {(() => {\n if (modelData.model_ability.includes('chat')) {\n return (\n <div style={styles.iconItem}>\n <ChatOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>chat model</small>\n </div>\n )\n } else if (modelData.model_ability.includes('generate')) {\n return (\n <div style={styles.iconItem}>\n <EditNoteOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>generate model</small>\n </div>\n )\n } else {\n return (\n <div style={styles.iconItem}>\n <HelpCenterOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>other model</small>\n </div>\n )\n }\n })()}\n </div>\n </Box>\n {/* Second state: show parameter selection page */}\n <Box\n style={\n selected\n ? { ...styles.parameterCard, ...styles.slideIn }\n : { ...styles.parameterCard, ...styles.slideOut }\n }\n >\n <TitleTypography value={modelData.model_name} />\n <Box display=\"flex\" flexDirection=\"column\" width=\"100%\" mx=\"auto\">\n <Grid container rowSpacing={0} columnSpacing={1}>\n <Grid item xs={6}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <InputLabel id=\"modelFormat-label\">Model Format</InputLabel>\n <Select\n labelId=\"modelFormat-label\"\n value={modelFormat}\n onChange={(e) => setModelFormat(e.target.value)}\n label=\"Model Format\"\n >\n {formatOptions.map((format) => {\n const specs = modelData.model_specs.filter(\n (spec) => spec.model_format === format\n )\n const cached = specs.some((spec) => isCached(spec))\n const displayedFormat = cached\n ? format + ' (cached)'\n : format\n\n return (\n <MenuItem key={format} value={format}>\n {displayedFormat}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat}\n >\n <InputLabel id=\"modelSize-label\">Model Size</InputLabel>\n <Select\n labelId=\"modelSize-label\"\n value={modelSize}\n onChange={(e) => setModelSize(e.target.value)}\n label=\"Model Size\"\n >\n {sizeOptions.map((size) => {\n const specs = modelData.model_specs\n .filter((spec) => spec.model_format === modelFormat)\n .filter((spec) => spec.model_size_in_billions === size)\n const cached = specs.some((spec) => isCached(spec))\n const displayedSize = cached ? size + ' (cached)' : size\n\n return (\n <MenuItem key={size} value={size}>\n {displayedSize}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat || !modelSize}\n >\n <InputLabel id=\"quantization-label\">Quantization</InputLabel>\n <Select\n labelId=\"quantization-label\"\n value={quantization}\n onChange={(e) => setQuantization(e.target.value)}\n label=\"Quantization\"\n >\n {quantizationOptions.map((quant, index) => {\n const specs = modelData.model_specs\n .filter((spec) => spec.model_format === modelFormat)\n .filter(\n (spec) =>\n spec.model_size_in_billions ===\n convertModelSize(modelSize)\n )\n\n const cached =\n modelFormat === 'pytorch'\n ? specs[0]?.cache_status ?? false === true\n : specs[0]?.cache_status?.[index] ?? false === true\n const displayedQuant = cached ? quant + ' (cached)' : quant\n\n return (\n <MenuItem key={quant} value={quant}>\n {displayedQuant}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n {modelFormat !== 'ggufv2' && modelFormat !== 'ggmlv3' ? (\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat || !modelSize || !quantization}\n >\n <InputLabel id=\"n-gpu-label\">N-GPU</InputLabel>\n <Select\n labelId=\"n-gpu-label\"\n value={nGPU}\n onChange={(e) => setNGPU(e.target.value)}\n label=\"N-GPU\"\n >\n {getNGPURange().map((v) => {\n return (\n <MenuItem key={v} value={v}>\n {v}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n ) : (\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n disabled={!modelFormat || !modelSize || !quantization}\n type=\"number\"\n label=\"N GPU Layers\"\n InputProps={{\n inputProps: {\n min: -1,\n },\n }}\n value={nGPULayers}\n onChange={(e) =>\n setNGPULayers(parseInt(e.target.value, 10))\n }\n />\n </FormControl>\n )}\n </Grid>\n <Grid item xs={6}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n variant=\"outlined\"\n value={modelUID}\n label=\"(Optional) Model UID, model name by default\"\n onChange={(e) => setModelUID(e.target.value)}\n />\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n disabled={!modelFormat || !modelSize || !quantization}\n type=\"number\"\n InputProps={{\n inputProps: {\n min: 1,\n },\n }}\n label=\"Replica\"\n value={replica}\n onChange={(e) => setReplica(parseInt(e.target.value, 10))}\n />\n </FormControl>\n </Grid>\n </Grid>\n </Box>\n <Box style={styles.buttonsContainer}>\n <button\n title=\"Launch\"\n style={styles.buttonContainer}\n onClick={() => launchModel(url, modelData)}\n disabled={\n isCallingApi ||\n isUpdatingModel ||\n !(\n modelFormat &&\n modelSize &&\n modelData &&\n (quantization ||\n (!modelData.is_builtin && modelFormat !== 'pytorch'))\n )\n }\n >\n {(() => {\n if (isCallingApi || isUpdatingModel) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <CircularProgress\n size=\"20px\"\n sx={{\n color: '#000000',\n }}\n />\n </Box>\n )\n } else if (\n !(\n modelFormat &&\n modelSize &&\n modelData &&\n (quantization ||\n (!modelData.is_builtin && modelFormat !== 'pytorch'))\n )\n ) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <RocketLaunchOutlined size=\"20px\" />\n </Box>\n )\n } else {\n return (\n <Box style={styles.buttonItem}>\n <RocketLaunchOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n )\n }\n })()}\n </button>\n <button\n title=\"Go Back\"\n style={styles.buttonContainer}\n onClick={() => setSelected(false)}\n >\n <Box style={styles.buttonItem}>\n <UndoOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n </button>\n </Box>\n </Box>\n </Box>\n )\n}\n\nexport default ModelCard\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -0,0 +1 @@
1
+ {"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import DeleteOutlineOutlinedIcon from'@mui/icons-material/DeleteOutlineOutlined';import OpenInBrowserOutlinedIcon from'@mui/icons-material/OpenInBrowserOutlined';import{TabContext,TabList,TabPanel}from'@mui/lab';import{Box,Stack,Tab}from'@mui/material';import{DataGrid}from'@mui/x-data-grid';import React,{useContext,useEffect,useState}from'react';import{useCookies}from'react-cookie';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import fetcher from'../../components/fetcher';import Title from'../../components/Title';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var RunningModels=function RunningModels(){var _React$useState=React.useState('1'),_React$useState2=_slicedToArray(_React$useState,2),tabValue=_React$useState2[0],setTabValue=_React$useState2[1];var _useState=useState([]),_useState2=_slicedToArray(_useState,2),llmData=_useState2[0],setLlmData=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),embeddingModelData=_useState4[0],setEmbeddingModelData=_useState4[1];var _useState5=useState([]),_useState6=_slicedToArray(_useState5,2),imageModelData=_useState6[0],setImageModelData=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),rerankModelData=_useState8[0],setRerankModelData=_useState8[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 handleTabChange=function handleTabChange(event,newValue){setTabValue(newValue);};var update=function update(isCallingApi){if(cookie.token===''||cookie.token===undefined){return;}if(cookie.token==='need_auth'){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'}]);setImageModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setRerankModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);}else{setIsUpdatingModel(true);fetcher(\"\".concat(endPoint,\"/v1/models/\"),{method:'GET'}).then(function(response){if(!response.ok){response.json().then(function(errorData){setErrorMsg(\"Login failed: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{response.json().then(function(data){var newLlmData=[];var newEmbeddingModelData=[];var newImageModelData=[];var newRerankModelData=[];Object.entries(data).forEach(function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],value=_ref2[1];var newValue=_objectSpread(_objectSpread({},value),{},{id:key,url:key});if(newValue.model_type==='LLM'){newLlmData.push(newValue);}else if(newValue.model_type==='embedding'){newEmbeddingModelData.push(newValue);}else if(newValue.model_type==='image'){newImageModelData.push(newValue);}else if(newValue.model_type==='rerank'){newRerankModelData.push(newValue);}});setLlmData(newLlmData);setEmbeddingModelData(newEmbeddingModelData);setImageModelData(newImageModelData);setRerankModelData(newRerankModelData);setIsUpdatingModel(false);});}}).catch(function(error){console.error('Error:',error);setIsUpdatingModel(false);});}};useEffect(function(){update(isCallingApi);// eslint-disable-next-line\n},[isCallingApi,cookie.token]);var llmColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250},{field:'model_name',headerName:'Name',flex:1},{field:'address',headerName:'Address',flex:1},{field:'accelerators',headerName:'GPU Indexes',flex:1},{field:'model_size_in_billions',headerName:'Size',flex:1},{field:'quantization',headerName:'Quantization',flex:1},{field:'replica',headerName:'Replica',flex:1},{field:'url',headerName:'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(\"button\",{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(\"button\",{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},{field:'model_name',headerName:'Name',flex:1},{field:'address',headerName:'Address',flex:1},{field:'accelerators',headerName:'GPU Indexes',flex:1},{field:'replica',headerName:'Replica',flex:1},{field:'url',headerName:'Actions',flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref4){var row=_ref4.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(\"button\",{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=embeddingModelColumns;var rerankModelColumns=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:\"No Running Models\"});};var noResultsOverlay=function noResultsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:\"No Running Models Matches\"});};return/*#__PURE__*/_jsxs(Box,{sx:{height:'100%',width:'100%',paddingLeft:'20px',paddingTop:'20px'},children:[/*#__PURE__*/_jsx(Title,{title:\"Running Models\"}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsxs(TabContext,{value:tabValue,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsxs(TabList,{value:tabValue,onChange:handleTabChange,\"aria-label\":\"tabs\",children:[/*#__PURE__*/_jsx(Tab,{label:\"Language Models\",value:\"1\"}),/*#__PURE__*/_jsx(Tab,{label:\"Embedding Models\",value:\"2\"}),/*#__PURE__*/_jsx(Tab,{label:\"Rerank models\",value:\"3\"}),/*#__PURE__*/_jsx(Tab,{label:\"Image models\",value:\"4\"})]})}),/*#__PURE__*/_jsx(TabPanel,{value:\"1\",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:\"2\",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:\"3\",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:\"4\",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}})})})]})]});};export default RunningModels;","map":{"version":3,"names":["DeleteOutlineOutlinedIcon","OpenInBrowserOutlinedIcon","TabContext","TabList","TabPanel","Box","Stack","Tab","DataGrid","React","useContext","useEffect","useState","useCookies","useNavigate","ApiContext","ErrorMessageSnackBar","fetcher","Title","jsx","_jsx","jsxs","_jsxs","RunningModels","_React$useState","_React$useState2","_slicedToArray","tabValue","setTabValue","_useState","_useState2","llmData","setLlmData","_useState3","_useState4","embeddingModelData","setEmbeddingModelData","_useState5","_useState6","imageModelData","setImageModelData","_useState7","_useState8","rerankModelData","setRerankModelData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","setIsUpdatingModel","_useContext3","setErrorMsg","_useCookies","_useCookies2","cookie","navigate","endPoint","handleTabChange","event","newValue","update","token","undefined","replace","id","url","concat","method","then","response","ok","json","errorData","status","detail","data","newLlmData","newEmbeddingModelData","newImageModelData","newRerankModelData","Object","entries","forEach","_ref","_ref2","key","value","_objectSpread","model_type","push","catch","error","console","llmColumns","field","headerName","flex","minWidth","sortable","filterable","disableColumnMenu","renderCell","_ref3","row","openUrl","closeUrl","gradioUrl","style","width","display","justifyContent","alignItems","children","title","borderWidth","backgroundColor","paddingLeft","paddingRight","onClick","log","headers","body","JSON","stringify","model_name","model_family","model_size_in_billions","model_format","quantization","context_length","model_ability","model_description","model_lang","window","open","finally","m","p","borderRadius","border","borderColor","embeddingModelColumns","_ref4","imageModelColumns","rerankModelColumns","dataGridStyle","borderBottom","fontWeight","overflowX","overflow","borderTop","noRowsOverlay","height","noResultsOverlay","sx","paddingTop","onChange","label","padding","rows","columns","autoHeight","slots"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/running_models/index.js"],"sourcesContent":["import DeleteOutlineOutlinedIcon from '@mui/icons-material/DeleteOutlineOutlined'\nimport OpenInBrowserOutlinedIcon from '@mui/icons-material/OpenInBrowserOutlined'\nimport { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, Stack, Tab } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport fetcher from '../../components/fetcher'\nimport Title from '../../components/Title'\n\nconst RunningModels = () => {\n const [tabValue, setTabValue] = React.useState('1')\n const [llmData, setLlmData] = useState([])\n const [embeddingModelData, setEmbeddingModelData] = useState([])\n const [imageModelData, setImageModelData] = useState([])\n const [rerankModelData, setRerankModelData] = 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\n const handleTabChange = (event, newValue) => {\n setTabValue(newValue)\n }\n\n const update = (isCallingApi) => {\n if (cookie.token === '' || cookie.token === undefined) {\n return\n }\n if (cookie.token === 'need_auth') {\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 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 } else {\n setIsUpdatingModel(true)\n fetcher(`${endPoint}/v1/models/`, {\n method: 'GET',\n })\n .then((response) => {\n if (!response.ok) {\n response.json().then((errorData) => {\n setErrorMsg(\n `Login failed: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n response.json().then((data) => {\n const newLlmData = []\n const newEmbeddingModelData = []\n const newImageModelData = []\n const newRerankModelData = []\n Object.entries(data).forEach(([key, value]) => {\n let newValue = {\n ...value,\n id: key,\n url: key,\n }\n if (newValue.model_type === 'LLM') {\n newLlmData.push(newValue)\n } else if (newValue.model_type === 'embedding') {\n newEmbeddingModelData.push(newValue)\n } else if (newValue.model_type === 'image') {\n newImageModelData.push(newValue)\n } else if (newValue.model_type === 'rerank') {\n newRerankModelData.push(newValue)\n }\n })\n setLlmData(newLlmData)\n setEmbeddingModelData(newEmbeddingModelData)\n setImageModelData(newImageModelData)\n setRerankModelData(newRerankModelData)\n setIsUpdatingModel(false)\n })\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsUpdatingModel(false)\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 },\n {\n field: 'model_name',\n headerName: 'Name',\n flex: 1,\n },\n {\n field: 'address',\n headerName: 'Address',\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: 'GPU Indexes',\n flex: 1,\n },\n {\n field: 'model_size_in_billions',\n headerName: 'Size',\n flex: 1,\n },\n {\n field: 'quantization',\n headerName: 'Quantization',\n flex: 1,\n },\n {\n field: 'replica',\n headerName: 'Replica',\n flex: 1,\n },\n {\n field: 'url',\n headerName: '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 <button\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 </button>\n <button\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 </button>\n </Box>\n )\n },\n },\n ]\n\n const embeddingModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n },\n {\n field: 'model_name',\n headerName: 'Name',\n flex: 1,\n },\n {\n field: 'address',\n headerName: 'Address',\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: 'GPU Indexes',\n flex: 1,\n },\n {\n field: 'replica',\n headerName: 'Replica',\n flex: 1,\n },\n {\n field: 'url',\n headerName: '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 <button\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 </button>\n </Box>\n )\n },\n },\n ]\n\n const imageModelColumns = embeddingModelColumns\n const rerankModelColumns = 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 No Running Models\n </Stack>\n )\n }\n\n const noResultsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n No Running Models Matches\n </Stack>\n )\n }\n\n return (\n <Box\n sx={{\n height: '100%',\n width: '100%',\n paddingLeft: '20px',\n paddingTop: '20px',\n }}\n >\n <Title title=\"Running Models\" />\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 <Tab label=\"Language Models\" value=\"1\" />\n <Tab label=\"Embedding Models\" value=\"2\" />\n <Tab label=\"Rerank models\" value=\"3\" />\n <Tab label=\"Image models\" value=\"4\" />\n </TabList>\n </Box>\n <TabPanel value=\"1\" 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=\"2\" 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=\"3\" 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=\"4\" 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 </TabContext>\n </Box>\n )\n}\n\nexport default RunningModels\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xinference
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Model Serving Made Easy
5
5
  Home-page: https://github.com/xorbitsai/inference
6
6
  Author: Qin Xuye
@@ -42,6 +42,7 @@ Requires-Dist: passlib[bcrypt]
42
42
  Requires-Dist: aioprometheus[starlette] >=23.12.0
43
43
  Requires-Dist: pynvml
44
44
  Requires-Dist: async-timeout
45
+ Requires-Dist: peft
45
46
  Provides-Extra: all
46
47
  Requires-Dist: chatglm-cpp >=0.3.0 ; extra == 'all'
47
48
  Requires-Dist: llama-cpp-python >=0.2.25 ; extra == 'all'
@@ -116,6 +117,7 @@ Requires-Dist: einops ; extra == 'transformers'
116
117
  Requires-Dist: tiktoken ; extra == 'transformers'
117
118
  Requires-Dist: auto-gptq ; extra == 'transformers'
118
119
  Requires-Dist: optimum ; extra == 'transformers'
120
+ Requires-Dist: peft ; extra == 'transformers'
119
121
  Provides-Extra: vllm
120
122
  Requires-Dist: vllm <0.3.1,>=0.2.6 ; extra == 'vllm'
121
123
 
@@ -1,26 +1,26 @@
1
1
  xinference/__init__.py,sha256=0LgIveLP6CXxoIaSrxhlFyOh0lOqPgJBVcBe0tkWJjc,987
2
2
  xinference/_compat.py,sha256=SQAjZMGxtBIce45qtW7ob7RWzA0zhv2yB3AxT0rb0uU,1778
3
- xinference/_version.py,sha256=lM0lIR3NvRRVZ98rpC1aafgxknUvfuqY0u2Tz3LDOKs,497
3
+ xinference/_version.py,sha256=S99LqZ3f3xPrdaWki6fzMuX0aYrTcLMYXLkg0yjn8-s,497
4
4
  xinference/conftest.py,sha256=EzkH_9WpPR3qRGMQneI3w00KdhsEkPkl9YXsLgBJ1cg,9438
5
5
  xinference/constants.py,sha256=81M8ATbulsB78fht4pp0H8q2dDU2qTqSmu1FAjRiOKk,2738
6
- xinference/device_utils.py,sha256=rcu8anlBrLgRnef3mYWJB5asccvm-YXGXaIuuYnUhS4,2676
6
+ xinference/device_utils.py,sha256=WNKDD4Eni3Io3AehiyonsuoJaukT77Bc76Es7vNGvjc,2615
7
7
  xinference/fields.py,sha256=BFAVowcvvwA4i1HHHeyD1J_p3p6Vi5hVmKY0CT21blM,5075
8
8
  xinference/isolation.py,sha256=NstVRcO3dG4umHExICXAHlzVKwH8ch8MBwKwE-KFkE0,1826
9
9
  xinference/types.py,sha256=_tbGgdMTlXs6oINWbEmCesyckDDa2tsPRH9yzM8fKSI,11812
10
10
  xinference/utils.py,sha256=Z6PPDGmX4EW8OD3OfA2Wa37ZM9OdRTnR00ITMDTu4qE,716
11
11
  xinference/api/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
12
- xinference/api/restful_api.py,sha256=fgmst4kSpnaVcnTNY-oVftWg2nJMxJ4XiL5Xko-rLGQ,53536
12
+ xinference/api/restful_api.py,sha256=eFCKCiL_PHZuFwNg6dePB-GyGRabH3tzkEfmg3evH_A,54793
13
13
  xinference/api/oauth2/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
14
14
  xinference/api/oauth2/auth_service.py,sha256=n88v85kkkM_4NYZBmbETM7OF7XuehWv9gyLRUmhVL1Q,4929
15
15
  xinference/api/oauth2/types.py,sha256=ltAkjPBEJVSvYVhzwjaJpe2eUbnqkx2vofLuRbcGMg4,972
16
16
  xinference/api/oauth2/utils.py,sha256=SIiiUj6VuTEsj3bZ2TYUyhx3cGlLSX3ZNWDOgUwRtXc,1410
17
17
  xinference/client/__init__.py,sha256=Gc4HOzAy_1cic5kXlso7hahYgw89CKvZSJDicEU461k,669
18
- xinference/client/common.py,sha256=wk-3j1tJPNa60tHO8YZ5z7iBIeI6cBEqomKIatyMQx8,1554
18
+ xinference/client/common.py,sha256=iciZRs5YjM2gYsXnwACPMaiBZp4_XpawWwfym0Iyu40,1617
19
19
  xinference/client/handlers.py,sha256=3gd9C7u4URbcVdR6Eyv8cpEZ175Ll4q_jGL07CnEIpg,648
20
20
  xinference/client/oscar/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
21
21
  xinference/client/oscar/actor_client.py,sha256=fWGbqCaJHp33CSgtznPosryTD88KWSjQLQebHkGvQCI,21545
22
22
  xinference/client/restful/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
23
- xinference/client/restful/restful_client.py,sha256=Pde5p2XDJL-F_y-xJmuC4qDz3_fYItnMTt27aHKYSII,39868
23
+ xinference/client/restful/restful_client.py,sha256=LVYaRpFS517tLQAlAefh5AYilIOlGoXLaMQWMzvYJ6M,40973
24
24
  xinference/core/__init__.py,sha256=Fe5tYCHDbYJ7PhxJhQ68VbfgKgOsAuslNPr4wPhFMJM,612
25
25
  xinference/core/cache_tracker.py,sha256=rBF8MXWK3rP5Q69LuhpWb2ZeF_bqbC3zCTCKs8FlfZE,4261
26
26
  xinference/core/chat_interface.py,sha256=CNqILarZfdMnZebuOaemK4FomouLqKAcd7lt24JF09Q,17073
@@ -29,11 +29,11 @@ xinference/core/metrics.py,sha256=ScmTG15Uq3h_ob72ybZSMWdnk8P4sUZFcm60f4ikSXc,26
29
29
  xinference/core/model.py,sha256=5zQ0MVAiLvohSgy92oOsZZ5kvCe8uPj92qc6SU_aVlA,17700
30
30
  xinference/core/resource.py,sha256=FQ0aRt3T4ZQo0P6CZZf5QUKHiCsr5llBvKb1f7wfnxg,1611
31
31
  xinference/core/status_guard.py,sha256=ScmTFb3NPTp-RzufdHFpBh5TZHPc2bu907JA8l0gywE,2804
32
- xinference/core/supervisor.py,sha256=oiDgjlHDgTn7A345qkZ5F9YUPWz8aSJ-9e6B2r6Tbek,37866
32
+ xinference/core/supervisor.py,sha256=GoaYGvru7-cGfuDruH89KGmFpMHtOsVDlcqO5rmXZ6o,38392
33
33
  xinference/core/utils.py,sha256=tUpUJUQv1zkE9i7fw1pAFfFdcB3PC6DvKJn4Bmmq75E,6008
34
- xinference/core/worker.py,sha256=JrYt-mZ_t8YpCFiXnt5rn-i0meDIhmalpz93gQIgtNQ,26830
34
+ xinference/core/worker.py,sha256=x24H_hzgp7Kae7dB2ZPaGbIXDs43iRcI5RYS0LRUpig,27542
35
35
  xinference/deploy/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
36
- xinference/deploy/cmdline.py,sha256=JETEccB32QSUGJXl3hQKNzm2lehV9uUt63ttYSXuOeA,29003
36
+ xinference/deploy/cmdline.py,sha256=j9wpP9gUSr0Ox2xg0gHgGHu1g2UJYKEWIRQK2YC_oaM,30664
37
37
  xinference/deploy/local.py,sha256=hyT6fxjNS_BCH3mrlM6suvRW4OaIg59I1paBXhEnv2g,3951
38
38
  xinference/deploy/supervisor.py,sha256=LyERwWG_gxgaTFJLo0Cw7scnT00s0dY7CvZx09VpZX4,2983
39
39
  xinference/deploy/utils.py,sha256=_g4U6GJVzHnEHzF-KSMm-tffba2mtLNnxoEwnC8jmj8,5361
@@ -44,7 +44,7 @@ xinference/locale/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms
44
44
  xinference/locale/utils.py,sha256=w-G1DAJGw1UUQVVtq6khOZn7ZjobUmTw6qwHMm2eWIs,1312
45
45
  xinference/locale/zh_CN.json,sha256=YA55G9s1p05Bt5RBoDo5SV12dd-CMJI0ABap6RpCp4M,1097
46
46
  xinference/model/__init__.py,sha256=IRC3ojiqYkVLIK_xsIxYeKypEeeTTdrovnVzK_4L4eg,663
47
- xinference/model/core.py,sha256=kKNteGbBHn11aZhNIuMdYnCLyDAL6cPFIY5x4LwKmRA,3336
47
+ xinference/model/core.py,sha256=631-_AnQ9_XlSgFULS_EYQ_r7P1ghh9FHP_z-Q_hj1s,3716
48
48
  xinference/model/utils.py,sha256=iLm8Dq70yOlus7_tUkKXFX3ceD_RFSwo5RcM0RnLY_Q,14261
49
49
  xinference/model/audio/__init__.py,sha256=fM_2G0I9wFHTMuRrr6bebCaLjfCCSZIThxHXEcBdGh4,967
50
50
  xinference/model/audio/core.py,sha256=xBICFsBtqnx6mhkw-4XpcreiwhBOl5NLOIFYDgR8j3s,5051
@@ -58,40 +58,40 @@ xinference/model/embedding/model_spec.json,sha256=rrKFcgFjOIevuvE2AratcrJssvt1Hw
58
58
  xinference/model/embedding/model_spec_modelscope.json,sha256=CTS4KgQYgeuojHnv01HHjo5Um_DKbh0Y5TKi4FYMWj8,5248
59
59
  xinference/model/embedding/utils.py,sha256=t_y-7TrYenJKzX3p8e8KWXyC66u7Kd7lMvSzEOolnZw,790
60
60
  xinference/model/image/__init__.py,sha256=QUIxm9OgY76UAVGlAdkzXNZ8-CbkGnfEwBkyW9TM-NQ,1586
61
- xinference/model/image/core.py,sha256=FbByLb87RSZldDGwJHr7o2QIt7zVXXHUPoF2132t5Sg,6724
61
+ xinference/model/image/core.py,sha256=-GZDyb5P8hWgR7fXg5gNKjpWldrPy84_uY5kmqpNR6s,7032
62
62
  xinference/model/image/model_spec.json,sha256=VBo3jTq93UtwD9fB1oqrpIJVaZbyYNiougZuY81pt8g,2965
63
63
  xinference/model/image/model_spec_modelscope.json,sha256=KMI-2YOJoLUtN93LZiqqETWTVjhGBpsxo87d6M8eJP8,2964
64
64
  xinference/model/image/utils.py,sha256=gxg8jJ2nYaDknzCcSC53WCy1slbB5aWU14AbJbfm6Z4,906
65
65
  xinference/model/image/stable_diffusion/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
66
- xinference/model/image/stable_diffusion/core.py,sha256=Zt2y19LzMGCPc1zb8VHTH9kDsjtiBaPd91ZbaeU0FGU,5097
67
- xinference/model/llm/__init__.py,sha256=zxArvh4ggVj9BEZ7ZSGEFmv0pYINpXB8eT_S101LQAc,5932
68
- xinference/model/llm/core.py,sha256=xl1VA9isB3lG7zmNq5hVk_J5QbggUGezlQz_bc-CyqM,9162
69
- xinference/model/llm/llm_family.json,sha256=Nc4syQAdAXll6CMgvVwLeR4BMFdCFo7Gu0CyfV2PbW0,94588
70
- xinference/model/llm/llm_family.py,sha256=ZP4s9TO1Iy00eT0wkHFUEU2LReHtfoWItXhA78CGMv4,31019
71
- xinference/model/llm/llm_family_modelscope.json,sha256=9z3Xkv9mCfyGF_BCYZjYj0pKIaBP0_dOsGsIexyKQ_4,58618
66
+ xinference/model/image/stable_diffusion/core.py,sha256=YStAtcO-HVR36brvy7DK-D-Z-LT1X4tfwrVrXcLXK5Y,6010
67
+ xinference/model/llm/__init__.py,sha256=j-e1XhrqQvizR4CU4AhURu29t4LA2qWP2hHNf7haj6Q,6417
68
+ xinference/model/llm/core.py,sha256=ubS7maXHr5tzTUey1D8ta49Ur1C5RMB-rnpAZNqZZ8c,9526
69
+ xinference/model/llm/llm_family.json,sha256=iU9tuXAuj29jviFSs6QRosbriPpdOz_BOZ-oCNaTaDU,94770
70
+ xinference/model/llm/llm_family.py,sha256=BoqfNX6DpIJylIOUYd1xpDybu1WyV94HMtdQRlRHVho,33447
71
+ xinference/model/llm/llm_family_modelscope.json,sha256=GsMTaJ1oKcl46fykDTUiuUITH4Z6du41WGci8SDZoU8,58801
72
72
  xinference/model/llm/utils.py,sha256=Gh6CjrOnhQAZYrmRUvxLD_io3RLa-xyYQ5G34Lk7OQ0,25715
73
73
  xinference/model/llm/ggml/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
74
74
  xinference/model/llm/ggml/chatglm.py,sha256=Zrzw8K2EroI5v2JlwOAJ08tNFs871n86zRtBxuK97Z8,13044
75
75
  xinference/model/llm/ggml/ctransformers.py,sha256=n8dTItZe97cF79NkmsVPirqpBcrZiGAQfd2GRpz9-3I,9917
76
76
  xinference/model/llm/ggml/ctransformers_util.py,sha256=WozFJgJZlbuEDPQLhy31YmwGp-oJoUYsnd9HjuGraIE,5271
77
- xinference/model/llm/ggml/llamacpp.py,sha256=8rkIj11t91Lg5Gl_vhVAEPWhQsj8CeLKpO2rcvwZUIs,12259
77
+ xinference/model/llm/ggml/llamacpp.py,sha256=AXOMhyYYdrrZFWREveMZ1xeIqag19KrX0Kcrj2pfNw4,11916
78
78
  xinference/model/llm/ggml/tools/__init__.py,sha256=6a6P2VPKE06xKxJ-dTqp4TRO2IEDWvtcVP6gHutAR0M,624
79
79
  xinference/model/llm/ggml/tools/convert_ggml_to_gguf.py,sha256=ULvaoAKGH-L6RuRLFOtAOVitKLVPdpd5QyXrLL14gG0,17959
80
80
  xinference/model/llm/ggml/tools/gguf.py,sha256=Hv2haR-UN7NdB1N8YId32hFoEPd-JX6_aUNWRJhyJZc,30277
81
81
  xinference/model/llm/pytorch/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
82
- xinference/model/llm/pytorch/baichuan.py,sha256=6d9UQw5Ox1FFdPG-cO3aKPcUmio5bQ4j1X5B0eCg5TU,2703
83
- xinference/model/llm/pytorch/chatglm.py,sha256=OEFqhDm7NSA-WrkUQBpOo9DJBHmU-lfEklBk2wXnMdA,7007
82
+ xinference/model/llm/pytorch/baichuan.py,sha256=gh49PNue47T4XUwE5bx_ErDwagb1dYVrhBFYXUsJDQ8,2795
83
+ xinference/model/llm/pytorch/chatglm.py,sha256=jjoYRcZmFht9hXKh8zp6JGlY-jPJTJ5nuUc1nJAFfPs,7099
84
84
  xinference/model/llm/pytorch/compression.py,sha256=U0vMJ-JaBt4oC2LffgWg6HbPj1CeUi_YdwVbjDd0mRA,8112
85
- xinference/model/llm/pytorch/core.py,sha256=3OR0hOceklBH0nniqTVsMhIJfWX8g6c9AoNILaH_vr8,18420
86
- xinference/model/llm/pytorch/falcon.py,sha256=wC3_ILUtoimtOWox2_Sr94OcEkMYoB7Mf84R4LYHMGI,4298
87
- xinference/model/llm/pytorch/internlm2.py,sha256=J9byaXpgPQ28zp8EEqz2hggX2d7bdmY5-e2Mp6SIeTU,5569
88
- xinference/model/llm/pytorch/llama_2.py,sha256=JQI9R_ZrNhTXg_MbS7el6P-ou49iMKq5vnr9QlQ_o70,3509
89
- xinference/model/llm/pytorch/qwen_vl.py,sha256=lM1WhqSV81dr6XJkWlXXgOkQMjuR14fkexchN1pc8GA,5695
85
+ xinference/model/llm/pytorch/core.py,sha256=bmLyP2GWk4mfq7LP6z8-ME5-AC3KikU2BbglqKPXNck,19228
86
+ xinference/model/llm/pytorch/falcon.py,sha256=Dp19-Sv4mbx1PAVMEp7biATqs4T1WdwcvZZhuVndmYQ,4482
87
+ xinference/model/llm/pytorch/internlm2.py,sha256=WvXehL7iSoL9OB_WE_3omcFBJkwnuUHfWYnS0wWPRvo,5661
88
+ xinference/model/llm/pytorch/llama_2.py,sha256=RiS6chAj-nh_E-GOZPV-Ze1zDevGmJkhWZMdF4Etoq4,3693
89
+ xinference/model/llm/pytorch/qwen_vl.py,sha256=jyE9em7sMTosYPLqW08aCuEc6c2zNKLJzIcFzowKjyk,5722
90
90
  xinference/model/llm/pytorch/spec_decoding_utils.py,sha256=brSxcXkXlELprGK2cLjNTW-3h1Lk9GlgcOFYZo5NBAA,18781
91
91
  xinference/model/llm/pytorch/spec_model.py,sha256=8E0jZuXp9MlNLCqgvOjNdUeYqJdMZqU78qIzGY9WhkM,6649
92
92
  xinference/model/llm/pytorch/utils.py,sha256=frFvbT2Ka4YRsfnx6ma8IW_i8eqqRwSo5pCU0qnOJtQ,17288
93
- xinference/model/llm/pytorch/vicuna.py,sha256=eJ2HVHg-HbhVHRdA5g4N9I2_cCti4K9y3Y4WjMMzAIs,2217
94
- xinference/model/llm/pytorch/yi_vl.py,sha256=FvZDv1C2alD1ugueMd0MNXPJNI4o99HznJPR8ZPoyjk,9366
93
+ xinference/model/llm/pytorch/vicuna.py,sha256=PjLD-5BF4MVXkPs1_WncCCuziDKl5tiGXHf-zkrBz_c,2309
94
+ xinference/model/llm/pytorch/yi_vl.py,sha256=aJZQauLmyXEtnz57ZU-Z3pmi0dFdlR_UjnZu0QsC06c,9393
95
95
  xinference/model/llm/vllm/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
96
96
  xinference/model/llm/vllm/core.py,sha256=MYI6BtPsm8frsAsBl8O9p4uKTzrNNCeexIb0UEx1roc,15220
97
97
  xinference/model/rerank/__init__.py,sha256=BXIL1uu3ZpZHX9bODhW9lxKUXudZE7-OkXFmmM5rpMU,2817
@@ -115,12 +115,12 @@ xinference/thirdparty/llava/model/multimodal_projector/__init__.py,sha256=47DEQp
115
115
  xinference/thirdparty/llava/model/multimodal_projector/builder.py,sha256=URP051uhGLWqC6ERsqjn2MiQDNYzOoQ6EJEcB-Z0RzM,1933
116
116
  xinference/web/ui/package-lock.json,sha256=RohJDz4MQ4pn-aoNNNUQHJ0cJAStBFGxc_nI-jj1QvE,766322
117
117
  xinference/web/ui/package.json,sha256=hHxujbFJK1cCtCmqkh9z9D8F5WtWYaEB9J1snBEgQZ4,1959
118
- xinference/web/ui/build/asset-manifest.json,sha256=8lE6Q9wIoGIQ9FsBI_pQOR2VvPtdNtmi0jx0SV3RoXE,300
118
+ xinference/web/ui/build/asset-manifest.json,sha256=fnHgKyt2q6GpqZOdW1jL-K6JG3Sd5zWRWQIwAeV1CzU,300
119
119
  xinference/web/ui/build/favicon.svg,sha256=dWR8uaz0Q9GCcl-DjWvQh07e1f3jhJBt-r4aSbmH3A4,1894
120
- xinference/web/ui/build/index.html,sha256=5ek_d8mCIZ8kLrWFMHTEo4jIoW6YccfKfV3qBRJnLs8,589
121
- xinference/web/ui/build/static/js/main.ebf7716d.js,sha256=SF_4SLnR0-Fu0EzCG5RT3Nz5uU7mf5eNL0w9sU6n31w,941181
122
- xinference/web/ui/build/static/js/main.ebf7716d.js.LICENSE.txt,sha256=8ziOYGb1jthAUKvOTShmsWJ1ZU9Dax-7OPCFl6cARsI,2185
123
- xinference/web/ui/build/static/js/main.ebf7716d.js.map,sha256=YtU-vEBcH2cdiE58Dsr1xzpME78Pq-yELIG0FhzXO-8,4207781
120
+ xinference/web/ui/build/index.html,sha256=-ZrR4-NgxFCHpMNBv6q59IUg0PLOVr5YiR-64paKHT0,589
121
+ xinference/web/ui/build/static/js/main.78829790.js,sha256=-fiYljLedOzAJh-GeTrwwrte2YWCpa30Sb1GQdGZp8U,941641
122
+ xinference/web/ui/build/static/js/main.78829790.js.LICENSE.txt,sha256=8ziOYGb1jthAUKvOTShmsWJ1ZU9Dax-7OPCFl6cARsI,2185
123
+ xinference/web/ui/build/static/js/main.78829790.js.map,sha256=dCEyIEZDrcpXmv0GGrMNfQADAMQFdIxD7kUi47ItVVg,4209445
124
124
  xinference/web/ui/build/static/media/icon.4603d52c63041e5dfbfd.webp,sha256=kM--URMpXs5Vf0iSqQ8hmUalvWgcmRERpv37CriXRAE,16128
125
125
  xinference/web/ui/node_modules/.package-lock.json,sha256=BeeuWat6HitNdQxWXtz_VcIin_ZN1rqaSzBNbLMwnEo,764314
126
126
  xinference/web/ui/node_modules/.cache/babel-loader/000791038e4133db461021f1018491323a006cca7a53e09c2ac35032bc36d8b6.json,sha256=lcvLWh7kYVCN6ZBwqKJYmnST8it8tv7i7gOzsbV5Gas,1358
@@ -471,7 +471,6 @@ xinference/web/ui/node_modules/.cache/babel-loader/0729f5b14d4b947f87a7f9222344d
471
471
  xinference/web/ui/node_modules/.cache/babel-loader/072d75f17ffd0923daa1c60cf27fe37d880e39bf011bd5ef3f518ea36f857019.json,sha256=v9HII1t3HKCnJ0nkTnHoFqE4tgBPkqf-Osql7pavYp8,1848
472
472
  xinference/web/ui/node_modules/.cache/babel-loader/072dbe08fc977201380c1894313b328617a6817c6458313f8981ee5eedcbe3e9.json,sha256=jvEivGufFH5-44qsRBUOB_Bm1oQCMrwHdV_u3p6FUes,1020
473
473
  xinference/web/ui/node_modules/.cache/babel-loader/073509dec461c060e7fccc1da4ddb7700a2de39b688a774c870169c03eb97215.json,sha256=vbpYZi0iYoOMYbvK_-4Lt6yrxz7sHQgFFhxoiYKqMSc,1348
474
- xinference/web/ui/node_modules/.cache/babel-loader/0738899eefad7f90261125823d87ea9f0d53667b1479a0c1f398aff14f2bbd2a.json,sha256=nrr2f7eA1g_e454feIBZx1zj-V2bgXErzs8DAJliAhA,59354
475
474
  xinference/web/ui/node_modules/.cache/babel-loader/07391101ec58160d69c23b74459b329060ea668a1592eaad42670ad901245847.json,sha256=RZL5Psh9bFfXfX2Cj19XcVHPBrVpwP1dS77QxeTSIEY,1189
476
475
  xinference/web/ui/node_modules/.cache/babel-loader/073d9e72651168b125a3872e9554f8ebaf3c94caea063a65b9fad2a333a1e440.json,sha256=B7lWvdVAVsp76M9dkb0T30ocWLTDcTkzokCdNfhyiQA,1945
477
476
  xinference/web/ui/node_modules/.cache/babel-loader/074006c85bf3dd5a6c90e656635f2e86fc49b91643f857e6cf82779341f27bd2.json,sha256=UxuI8O4y6VzO68lE2hE1YHwJUeeHK9ZyV6zBpTFiNeg,285
@@ -5826,7 +5825,6 @@ xinference/web/ui/node_modules/.cache/babel-loader/77c7f0ca7038cf72e2bdcfa59d54c
5826
5825
  xinference/web/ui/node_modules/.cache/babel-loader/77c857d7321eb7c9abd76c65969e9264aa57359178906039c323471a40dd37bc.json,sha256=Fl_RU2BxTFqIheL4TCRoi8h_0mStd_H0fGoJ6hL_ROE,1701
5827
5826
  xinference/web/ui/node_modules/.cache/babel-loader/77c9b46084c699d598a19005df285fc5ff8966ab2448ed1edeed7b129f3a9f53.json,sha256=mkfALRzdkUtcqY798GY9FIOWvBcFSqhl8BP35Ld3Xb4,2321
5828
5827
  xinference/web/ui/node_modules/.cache/babel-loader/77d0ee70e78db503afcdeea5d871cacc8efb030c362c46002079abf7904236e4.json,sha256=6khBUslV9s88IyE2NHAUD4govjZZVo8cPrjekA9jtDc,1730
5829
- xinference/web/ui/node_modules/.cache/babel-loader/77d4d795f078408fa2dd49da26d1ba1543d51b63cc253e736f4bef2e6014e888.json,sha256=J-Mmv28CsoiFQP1ctm3KC-u5puhefx2CZQRhjWB3b8M,43250
5830
5828
  xinference/web/ui/node_modules/.cache/babel-loader/77e849e9a3ab2abd01dfce5de997af4bda7f3b69c5d21b4f63f528114c2dc88e.json,sha256=CtzZsROWhdA1RyGoJI55XBgv_FZDO8KPUP3iAfzI3bc,2327
5831
5829
  xinference/web/ui/node_modules/.cache/babel-loader/77fcab23c5c35e143f1c33213d29797f108ae588c93d72241b3e9a7eab33ccc6.json,sha256=byNBS1hnKuLKzQa_4sZAMfH8d9SjaUg-AYMuFvK2NzM,955
5832
5830
  xinference/web/ui/node_modules/.cache/babel-loader/780bce27cadc69abd2145c26db57703529a7842e31da4e9de87e773192deb390.json,sha256=JA2Oo4HayVXDE0qqXAlhN9dBlHcfJTTT0-YTPnqXTjU,1926
@@ -7471,6 +7469,7 @@ xinference/web/ui/node_modules/.cache/babel-loader/98a7e614a3f12e7192ab15e114ec9
7471
7469
  xinference/web/ui/node_modules/.cache/babel-loader/98a89e941cb20730b264f0a2e9cb2e70667fb825c6fae049f1235423369fdb3a.json,sha256=-4YHTU93Zp7Cx0gJvLJD1-wNLk5bGFiXhkZwlpHaquk,1081
7472
7470
  xinference/web/ui/node_modules/.cache/babel-loader/98ac4df0cb2d3243201dbcea2010f686c2c2fee5fef9aaa8b100bf04df44d60e.json,sha256=aeBeL1MK0uOigYUlTwqOAJYXNYfrQT4oeypKoVQUrG8,1599
7473
7471
  xinference/web/ui/node_modules/.cache/babel-loader/98afeafdfc285a744d116fb5f189a16ad2b977adbd4fc0757f7ade1b29b8ad31.json,sha256=Cc5dYL6cuSHFbN-6TklkM_9gCbmrS8QMwMrqPek2hh0,2993
7472
+ xinference/web/ui/node_modules/.cache/babel-loader/98b7ef307f436affe13d75a4f265b27e828ccc2b10ffae6513abe2681bc11971.json,sha256=aqH6FmlV3dlEeB0Lxgw4IVLr9oGaUWiBnYeIflRsDeY,61845
7474
7473
  xinference/web/ui/node_modules/.cache/babel-loader/98b912aded137b514350bc42652df996dd043a50ee6d4c135ce7611c95038833.json,sha256=CGcB3PyqnXFTFNil58iSqnzielKRrorpM_HcJVFIQW4,1313
7475
7474
  xinference/web/ui/node_modules/.cache/babel-loader/98bdf735ffbb0845c6d4f137041cfc33789b94370aaef08c5383008950e705a5.json,sha256=iXl1Sy9Cd21kBWeYI6AlEWT8Kknzxg7GndGCXhF0lxQ,1373
7476
7475
  xinference/web/ui/node_modules/.cache/babel-loader/98bed7e77fcdb9b7a42b0a8cb0b0c469330deeb7740b19a24f9894b5d2215551.json,sha256=PeyJqm8x-dorE3nVf21FIIL4xTvcqTkK5l8HVQdyLqY,618
@@ -11333,6 +11332,7 @@ xinference/web/ui/node_modules/.cache/babel-loader/e855535354a209da3b12d7d44806e
11333
11332
  xinference/web/ui/node_modules/.cache/babel-loader/e856c21452cd230233fcb41232e891b53314c2e8b2a93686eef48ff99515ab07.json,sha256=zTRNHaxV4qWF58AF3Je9aqd2ZFYC-jjTMuyC4HTDnoY,2254
11334
11333
  xinference/web/ui/node_modules/.cache/babel-loader/e864cc61b8a91ef3d94b1a90b338218174bcf93229dd48837bf53e12133bcfe9.json,sha256=j_z13GAWDNa7yfkpXEbRH8SECroKOARjB4ErfmbRMvk,1086
11335
11334
  xinference/web/ui/node_modules/.cache/babel-loader/e86556394650cbac1c36a85221a135171d4caaeb0a17854c758eb1c2044b8b25.json,sha256=a9s429C35W9vndT_q1oxirYV-fT7HpKSNGfaQ3tZ2UY,10494
11335
+ xinference/web/ui/node_modules/.cache/babel-loader/e8687f75d2adacd34852b71c41ca17203d6fb4c8999ea55325bb2939f9d9ea90.json,sha256=PGWAenDj_2_nSKsVuwLvpcpV-kI7CwK8IUXJR1WyfDo,43664
11336
11336
  xinference/web/ui/node_modules/.cache/babel-loader/e86d52de068491a4acf73d16398e3e4a5791de56c05f0ecef134dec1c6a17b3b.json,sha256=onn1ZP0xA_oKTP8vwvmrpxWVMqD0eCyS8Ub5oeg6lKg,2090
11337
11337
  xinference/web/ui/node_modules/.cache/babel-loader/e87034d02c960de7fda1a4580986b2e44776e22da2a6ca77fad3effd2e688013.json,sha256=9EjBs7fLeDMrsGUQvtGTu5Zj8h6HT_43dR4yufBmktM,1410
11338
11338
  xinference/web/ui/node_modules/.cache/babel-loader/e8819da773befcb502e9690ed3844dd09c3b1b8776c955b1a57d9e0114f586cb.json,sha256=alsKj539uKUXoKboe9xDagWhl_TSdn1blNQdAp3jlec,1378
@@ -15373,9 +15373,9 @@ xinference/web/ui/node_modules/yargs-parser/package.json,sha256=BSwbOzgetKXMK4u0
15373
15373
  xinference/web/ui/node_modules/yocto-queue/package.json,sha256=6U1XHQPGXJTqsiFvT953ORihUtXTblZy4fXBWP9qxC0,725
15374
15374
  xinference/web/ui/node_modules/yup/package.json,sha256=xRFSROB9NKxqSWHEVFvSTsPs9Ll074uo8OS1zEw0qhA,1206
15375
15375
  xinference/web/ui/node_modules/yup/node_modules/type-fest/package.json,sha256=JTv2zTTVgxQ2H82m1-6qEpdMv08lHjFx4Puf_MsbB_Q,1134
15376
- xinference-0.9.1.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
15377
- xinference-0.9.1.dist-info/METADATA,sha256=pEvdIY3WGUans6eawHDw16VMyZQ7oi0O8tV2Hczhwo8,14058
15378
- xinference-0.9.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
15379
- xinference-0.9.1.dist-info/entry_points.txt,sha256=-lDyyzqWMFQF0Rgm7VxBNz0V-bMBMQLRR3pvQ-Y8XTY,226
15380
- xinference-0.9.1.dist-info/top_level.txt,sha256=L1rQt7pl6m8tmKXpWVHzP-GtmzAxp663rXxGE7qnK00,11
15381
- xinference-0.9.1.dist-info/RECORD,,
15376
+ xinference-0.9.2.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
15377
+ xinference-0.9.2.dist-info/METADATA,sha256=7hhiKIp3tIsQwS8QwMx8QVvXx7uBziqCHBOxRR2C0jw,14124
15378
+ xinference-0.9.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
15379
+ xinference-0.9.2.dist-info/entry_points.txt,sha256=-lDyyzqWMFQF0Rgm7VxBNz0V-bMBMQLRR3pvQ-Y8XTY,226
15380
+ xinference-0.9.2.dist-info/top_level.txt,sha256=L1rQt7pl6m8tmKXpWVHzP-GtmzAxp663rXxGE7qnK00,11
15381
+ xinference-0.9.2.dist-info/RECORD,,