xinference 0.12.0__py3-none-any.whl → 0.12.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.
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +108 -14
- xinference/client/restful/restful_client.py +78 -5
- xinference/constants.py +1 -0
- xinference/core/cache_tracker.py +48 -28
- xinference/core/event.py +5 -6
- xinference/core/model.py +59 -42
- xinference/core/scheduler.py +46 -18
- xinference/core/supervisor.py +73 -24
- xinference/core/worker.py +68 -2
- xinference/deploy/cmdline.py +86 -2
- xinference/deploy/test/test_cmdline.py +19 -10
- xinference/model/audio/__init__.py +14 -1
- xinference/model/audio/core.py +12 -1
- xinference/model/audio/custom.py +6 -4
- xinference/model/audio/model_spec_modelscope.json +20 -0
- xinference/model/llm/__init__.py +34 -2
- xinference/model/llm/llm_family.json +8 -2
- xinference/model/llm/llm_family.py +86 -1
- xinference/model/llm/llm_family_csghub.json +66 -0
- xinference/model/llm/llm_family_modelscope.json +8 -2
- xinference/model/llm/pytorch/chatglm.py +41 -12
- xinference/model/llm/pytorch/core.py +128 -88
- xinference/model/llm/pytorch/glm4v.py +24 -3
- xinference/model/llm/pytorch/internlm2.py +15 -0
- xinference/model/llm/pytorch/qwen_vl.py +1 -1
- xinference/model/llm/pytorch/utils.py +69 -189
- xinference/model/llm/utils.py +27 -14
- xinference/model/llm/vllm/core.py +10 -4
- xinference/model/rerank/core.py +35 -6
- xinference/model/utils.py +8 -2
- xinference/thirdparty/ChatTTS/experimental/__init__.py +0 -0
- xinference/thirdparty/ChatTTS/experimental/llm.py +40 -0
- xinference/thirdparty/ChatTTS/infer/__init__.py +0 -0
- xinference/thirdparty/ChatTTS/infer/api.py +125 -0
- xinference/thirdparty/ChatTTS/model/__init__.py +0 -0
- xinference/thirdparty/ChatTTS/model/dvae.py +155 -0
- xinference/thirdparty/ChatTTS/model/gpt.py +265 -0
- xinference/thirdparty/ChatTTS/utils/__init__.py +0 -0
- xinference/thirdparty/ChatTTS/utils/gpu_utils.py +23 -0
- xinference/thirdparty/ChatTTS/utils/infer_utils.py +141 -0
- xinference/thirdparty/ChatTTS/utils/io_utils.py +14 -0
- xinference/types.py +28 -0
- xinference/web/ui/build/asset-manifest.json +6 -6
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/css/main.4bafd904.css +2 -0
- xinference/web/ui/build/static/css/main.4bafd904.css.map +1 -0
- xinference/web/ui/build/static/js/main.b80d9c08.js +3 -0
- xinference/web/ui/build/static/js/main.b80d9c08.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/0c2fb5375667931c4a331c99e0d87dc145e8f327cea3f44d6e56f54c7c1d4020.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/131091b25d26b17cdca187d7542a21475c211138d900cf667682260e76ef9463.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/16537795de12c61903b6110c241f62a7855b2d0fc1e7c3d1faa347267f3a6893.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/17b8f071491402d70b146532358b1a612226e5dc7b3e8755a1322d27b4680cee.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/395409bd005e19d48b437c48d88e5126c7865ba9631fe98535333c952e383dc5.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/3da7d55e87882a4af923e187b1351160e34ca102f589086439c15131a227fb6e.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/43991bb67c3136863e6fb37f796466b12eb547a1465408cc77820fddafb3bed3.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/72bcecc71c5267250edeb89608859d449b586f13ff9923a5e70e7172976ec403.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/{15e2cf8cd8d0989719b6349428ff576f9009ff4c2dcc52378be0bd938e82495e.json → 935efd2867664c58230378fdf2ff1ea85e58d853b7214014e20dfbca8dab7b05.json} +1 -1
- xinference/web/ui/node_modules/.cache/babel-loader/a7109d4425e3d94ca2726fc7020fd33bf5030afd4c9cf4bf71e21776cd70646a.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/c2abe75f04ad82fba68f35ed9cbe2e287762c876684fddccccfa73f739489b65.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/f28b83886159d83b84f099b05d607a822dca4dd7f2d8aa6d56fe08bab0b5b086.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/f51bf63ddaa7afd125ef2254a105789333eecc1c94fdf5157a9b88ef7ad0a5bd.json +1 -0
- {xinference-0.12.0.dist-info → xinference-0.12.2.dist-info}/METADATA +1 -1
- {xinference-0.12.0.dist-info → xinference-0.12.2.dist-info}/RECORD +69 -56
- xinference/web/ui/build/static/css/main.54bca460.css +0 -2
- xinference/web/ui/build/static/css/main.54bca460.css.map +0 -1
- xinference/web/ui/build/static/js/main.551aa479.js +0 -3
- xinference/web/ui/build/static/js/main.551aa479.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/1e86938a0cdf706d21e99b21f5d868fa247c0c88b26807047e26dcdc4d9a9db3.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/1fa824d82b2af519de7700c594e50bde4bbca60d13bd3fabff576802e4070304.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/2c63e940b945fd5817157e08a42b889b30d668ea4c91332f48ef2b1b9d26f520.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/3c2f277c93c5f1638e08db38df0d0fb4e58d1c5571aea03241a5c04ff4094704.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/3e737bcdbcbc407ccd65b90e199ef0c3214b261e8e41dbf14d921384a717d9ee.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/4135fe8745434cbce6438d1ebfa47422e0c77d884db4edc75c8bf32ea1d50621.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/46b6dd1f6d1109cd0e2455a0ea0be3e9bda1097cd4ebec9c4040070372671cfc.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/4de0a71074f9cbe1e7862750dcdd08cbc1bae7d9d9849a78b1783ca670017b3c.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/59ce49eae0f486af4c5034d4d2f9ca77c3ec3a32ecc560085caf5ef482b5f4c9.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/9cfd33238ca43e5bf9fc7e442690e8cc6027c73553db36de87e3597ed524ee4b.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/a6da6bc3d0d2191adebee87fb58ecebe82d071087bd2f7f3a9c7fdd2ada130f2.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/e6eccc9aa641e7da833492e27846dc965f9750281420977dc84654ca6ed221e4.json +0 -1
- /xinference/web/ui/build/static/js/{main.551aa479.js.LICENSE.txt → main.b80d9c08.js.LICENSE.txt} +0 -0
- {xinference-0.12.0.dist-info → xinference-0.12.2.dist-info}/LICENSE +0 -0
- {xinference-0.12.0.dist-info → xinference-0.12.2.dist-info}/WHEEL +0 -0
- {xinference-0.12.0.dist-info → xinference-0.12.2.dist-info}/entry_points.txt +0 -0
- {xinference-0.12.0.dist-info → xinference-0.12.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'./styles/modelCardStyle.css';import{ChatOutlined,Close,Delete,EditNote,EditNoteOutlined,ExpandLess,ExpandMore,HelpCenterOutlined,RocketLaunchOutlined,UndoOutlined}from'@mui/icons-material';import{Alert,Backdrop,Box,Button,Chip,CircularProgress,Collapse,Drawer,FormControl,Grid,IconButton,InputLabel,ListItemButton,ListItemText,MenuItem,Paper,Select,Snackbar,Stack,Table,TableBody,TableCell,TableContainer,TableHead,TablePagination,TableRow,TextField,Tooltip}from'@mui/material';import{styled}from'@mui/material/styles';import React,{useContext,useEffect,useRef,useState}from'react';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import CopyComponent from'../../components/copyComponent/copyComponent';import DeleteDialog from'../../components/deleteDialog';import fetcher from'../../components/fetcher';import TitleTypography from'../../components/titleTypography';import AddPair from'./components/addPair';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var ModelCard=function ModelCard(_ref){var url=_ref.url,modelData=_ref.modelData,gpuAvailable=_ref.gpuAvailable,modelType=_ref.modelType,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom,onHandleCompleteDelete=_ref.onHandleCompleteDelete,onHandlecustomDelete=_ref.onHandlecustomDelete;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 _useState5=useState(false),_useState6=_slicedToArray(_useState5,2),requestLimitsAlert=_useState6[0],setRequestLimitsAlert=_useState6[1];var _useState7=useState(false),_useState8=_slicedToArray(_useState7,2),GPUIdxAlert=_useState8[0],setGPUIdxAlert=_useState8[1];var _useState9=useState(false),_useState10=_slicedToArray(_useState9,2),isOther=_useState10[0],setIsOther=_useState10[1];var _useState11=useState(false),_useState12=_slicedToArray(_useState11,2),isPeftModelConfig=_useState12[0],setIsPeftModelConfig=_useState12[1];var _useState13=useState(false),_useState14=_slicedToArray(_useState13,2),openSnackbar=_useState14[0],setOpenSnackbar=_useState14[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 _useState15=useState(''),_useState16=_slicedToArray(_useState15,2),modelUID=_useState16[0],setModelUID=_useState16[1];var _useState17=useState(''),_useState18=_slicedToArray(_useState17,2),modelEngine=_useState18[0],setModelEngine=_useState18[1];var _useState19=useState(''),_useState20=_slicedToArray(_useState19,2),modelFormat=_useState20[0],setModelFormat=_useState20[1];var _useState21=useState(''),_useState22=_slicedToArray(_useState21,2),modelSize=_useState22[0],setModelSize=_useState22[1];var _useState23=useState(''),_useState24=_slicedToArray(_useState23,2),quantization=_useState24[0],setQuantization=_useState24[1];var _useState25=useState('auto'),_useState26=_slicedToArray(_useState25,2),nGPU=_useState26[0],setNGPU=_useState26[1];var _useState27=useState(gpuAvailable===0?'CPU':'GPU'),_useState28=_slicedToArray(_useState27,2),nGpu=_useState28[0],setNGpu=_useState28[1];var _useState29=useState(-1),_useState30=_slicedToArray(_useState29,2),nGPULayers=_useState30[0],setNGPULayers=_useState30[1];var _useState31=useState(1),_useState32=_slicedToArray(_useState31,2),replica=_useState32[0],setReplica=_useState32[1];var _useState33=useState(''),_useState34=_slicedToArray(_useState33,2),requestLimits=_useState34[0],setRequestLimits=_useState34[1];var _useState35=useState(''),_useState36=_slicedToArray(_useState35,2),workerIp=_useState36[0],setWorkerIp=_useState36[1];var _useState37=useState(''),_useState38=_slicedToArray(_useState37,2),GPUIdx=_useState38[0],setGPUIdx=_useState38[1];var _useState39=useState({}),_useState40=_slicedToArray(_useState39,2),enginesObj=_useState40[0],setEnginesObj=_useState40[1];var _useState41=useState([]),_useState42=_slicedToArray(_useState41,2),engineOptions=_useState42[0],setEngineOptions=_useState42[1];var _useState43=useState([]),_useState44=_slicedToArray(_useState43,2),formatOptions=_useState44[0],setFormatOptions=_useState44[1];var _useState45=useState([]),_useState46=_slicedToArray(_useState45,2),sizeOptions=_useState46[0],setSizeOptions=_useState46[1];var _useState47=useState([]),_useState48=_slicedToArray(_useState47,2),quantizationOptions=_useState48[0],setQuantizationOptions=_useState48[1];var _useState49=useState(false),_useState50=_slicedToArray(_useState49,2),customDeleted=_useState50[0],setCustomDeleted=_useState50[1];var _useState51=useState([]),_useState52=_slicedToArray(_useState51,2),customParametersArr=_useState52[0],setCustomParametersArr=_useState52[1];var _useState53=useState([]),_useState54=_slicedToArray(_useState53,2),loraListArr=_useState54[0],setLoraListArr=_useState54[1];var _useState55=useState([]),_useState56=_slicedToArray(_useState55,2),imageLoraLoadKwargsArr=_useState56[0],setImageLoraLoadKwargsArr=_useState56[1];var _useState57=useState([]),_useState58=_slicedToArray(_useState57,2),imageLoraFuseKwargsArr=_useState58[0],setImageLoraFuseKwargsArr=_useState58[1];var _useState59=useState(false),_useState60=_slicedToArray(_useState59,2),isOpenCachedList=_useState60[0],setIsOpenCachedList=_useState60[1];var _useState61=useState(false),_useState62=_slicedToArray(_useState61,2),isDeleteCached=_useState62[0],setIsDeleteCached=_useState62[1];var _useState63=useState([]),_useState64=_slicedToArray(_useState63,2),cachedListArr=_useState64[0],setCachedListArr=_useState64[1];var _useState65=useState(''),_useState66=_slicedToArray(_useState65,2),cachedModelVersion=_useState66[0],setCachedModelVersion=_useState66[1];var _useState67=useState(''),_useState68=_slicedToArray(_useState67,2),cachedRealPath=_useState68[0],setCachedRealPath=_useState68[1];var _useState69=useState(0),_useState70=_slicedToArray(_useState69,2),page=_useState70[0],setPage=_useState70[1];var _useState71=useState(false),_useState72=_slicedToArray(_useState71,2),isDeleteCustomModel=_useState72[0],setIsDeleteCustomModel=_useState72[1];var _useState73=useState(false),_useState74=_slicedToArray(_useState73,2),isJsonShow=_useState74[0],setIsJsonShow=_useState74[1];var parentRef=useRef(null);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);};useEffect(function(){setModelFormat('');if(modelEngine){var format=_toConsumableArray(new Set(enginesObj[modelEngine].map(function(item){return item.model_format;})));setFormatOptions(format);if(format.length===1){setModelFormat(format[0]);}}},[modelEngine]);useEffect(function(){setModelSize('');if(modelEngine&&modelFormat){var sizes=_toConsumableArray(new Set(enginesObj[modelEngine].filter(function(item){return item.model_format===modelFormat;}).map(function(item){return item.model_size_in_billions;})));setSizeOptions(sizes);if(sizes.length===1){setModelSize(sizes[0]);}}},[modelEngine,modelFormat]);useEffect(function(){setQuantization('');if(modelEngine&&modelFormat&&modelSize){var quants=_toConsumableArray(new Set(enginesObj[modelEngine].filter(function(item){return item.model_format===modelFormat&&item.model_size_in_billions===convertModelSize(modelSize);}).flatMap(function(item){return item.quantizations;})));setQuantizationOptions(quants);if(quants.length===1){setQuantization(quants[0]);}}},[modelEngine,modelFormat,modelSize]);useEffect(function(){if(parentRef.current){parentRef.current.scrollTo({top:parentRef.current.scrollHeight,behavior:'smooth'});}},[customParametersArr]);var getNGPURange=function getNGPURange(){if(gpuAvailable===0){// remain 'auto' for distributed situation\nreturn['auto','CPU'];}return['auto','CPU'].concat(range(1,gpuAvailable));};var getNewNGPURange=function getNewNGPURange(){if(gpuAvailable===0){return['CPU'];}else{return['GPU','CPU'];}};var getModelEngine=function getModelEngine(model_name){fetcher(url+\"/v1/engines/\".concat(model_name),{method:'GET',headers:{'Content-Type':'application/json'}}).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{response.json().then(function(data){setEnginesObj(data);setEngineOptions(Object.keys(data));});}setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var launchModel=function launchModel(url){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);var modelDataWithID_LLM={// 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_type:modelType,model_engine:modelEngine,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,request_limits:requestLimits.trim()===''?null:Number(requestLimits.trim()),worker_ip:workerIp.trim()===''?null:workerIp.trim(),gpu_idx:GPUIdx.trim()===''?null:handleGPUIdx(GPUIdx.trim())};var modelDataWithID_other={model_uid:modelUID.trim()===''?null:modelUID.trim(),model_name:modelData.model_name,model_type:modelType};if(modelType==='embedding'||modelType==='rerank'){modelDataWithID_other=_objectSpread(_objectSpread({},modelDataWithID_other),{},{replica:replica,n_gpu:nGpu==='GPU'?'auto':null,worker_ip:workerIp.trim()===''?null:workerIp.trim(),gpu_idx:GPUIdx.trim()===''?null:handleGPUIdx(GPUIdx.trim())});}if(nGPULayers>=0){modelDataWithID_LLM.n_gpu_layers=nGPULayers;}if(loraListArr.length||imageLoraLoadKwargsArr.length||imageLoraFuseKwargsArr.length){var peft_model_config={};if(imageLoraLoadKwargsArr.length){var image_lora_load_kwargs={};imageLoraLoadKwargsArr.forEach(function(item){image_lora_load_kwargs[item.key]=handleValueType(item.value);});peft_model_config['image_lora_load_kwargs']=image_lora_load_kwargs;}if(imageLoraFuseKwargsArr.length){var image_lora_fuse_kwargs={};imageLoraFuseKwargsArr.forEach(function(item){image_lora_fuse_kwargs[item.key]=handleValueType(item.value);});peft_model_config['image_lora_fuse_kwargs']=image_lora_fuse_kwargs;}if(loraListArr.length){var lora_list=loraListArr;lora_list.map(function(item){delete item.id;});peft_model_config['lora_list']=lora_list;}modelDataWithID_LLM['peft_model_config']=peft_model_config;}if(customParametersArr.length){customParametersArr.forEach(function(item){modelDataWithID_LLM[item.key]=handleValueType(item.value);});}var modelDataWithID=modelType==='LLM'?modelDataWithID_LLM:modelDataWithID_other;// 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/\".concat(modelType));sessionStorage.setItem('runningModelType',\"/running_models/\".concat(modelType));}setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var handleGPUIdx=function handleGPUIdx(data){var arr=[];data.split(',').forEach(function(item){arr.push(Number(item));});return arr;};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();var subType=sessionStorage.getItem('subType').split('/');if(subType){subType[3];fetcher(url+\"/v1/model_registrations/\".concat(subType[3]==='llm'?'LLM':subType[3],\"/\").concat(modelData.model_name),{method:'DELETE',headers:{'Content-Type':'application/json'}}).then(function(){setCustomDeleted(true);onHandlecustomDelete(modelData.model_name);setIsDeleteCustomModel(false);}).catch(console.error);}};var judgeArr=function judgeArr(arr,keysArr){if(arr.length&&arr[arr.length-1][keysArr[0]]!==''&&arr[arr.length-1][keysArr[1]]!==''){return true;}else if(arr.length===0){return true;}else{return false;}};var handleValueType=function handleValueType(str){if(str.toLowerCase()==='none'){return null;}else if(str.toLowerCase()==='true'){return true;}else if(str.toLowerCase()==='false'){return false;}else if(Number(str)||str!==''&&Number(str)===0){return Number(str);}else{return str;}};var getLoraListArr=function getLoraListArr(arr){setLoraListArr(arr);};var getImageLoraLoadKwargsArr=function getImageLoraLoadKwargsArr(arr){setImageLoraLoadKwargsArr(arr);};var getImageLoraFuseKwargsArr=function getImageLoraFuseKwargsArr(arr){setImageLoraFuseKwargsArr(arr);};var getCustomParametersArr=function getCustomParametersArr(arr){setCustomParametersArr(arr);};var StyledTableRow=styled(TableRow)(function(_ref2){var theme=_ref2.theme;return{'&:nth-of-type(odd)':{backgroundColor:theme.palette.action.hover}};});var emptyRows=page>=0?Math.max(0,(1+page)*5-cachedListArr.length):0;var handleChangePage=function handleChangePage(_,newPage){setPage(newPage);};var handleOpenCachedList=function handleOpenCachedList(){setIsOpenCachedList(true);getCachedList();document.body.style.overflow='hidden';};var handleCloseCachedList=function handleCloseCachedList(){document.body.style.overflow='auto';setHover(false);setIsOpenCachedList(false);if(cachedListArr.length===0){onHandleCompleteDelete(modelData.model_name);}};var getCachedList=function getCachedList(){fetcher(url+\"/v1/cache/models?model_name=\".concat(modelData.model_name),{method:'GET',headers:{'Content-Type':'application/json'}}).then(function(response){if(!response.ok){response.json().then(function(errorData){setErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{response.json().then(function(data){setCachedListArr(data.list);});}}).catch(function(error){console.error('Error:',error);});};var handleOpenDeleteCachedDialog=function handleOpenDeleteCachedDialog(real_path,model_version){setCachedRealPath(real_path);setCachedModelVersion(model_version);setIsDeleteCached(true);};var handleDeleteCached=function handleDeleteCached(){fetcher(url+\"/v1/cache/models?model_version=\".concat(cachedModelVersion),{method:'DELETE',headers:{'Content-Type':'application/json'}}).then(function(response){if(!response.ok){response.json().then(function(errorData){setErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{response.json().then(function(){var cachedArr=cachedListArr.filter(function(item){return item.real_path!==cachedRealPath;});setCachedListArr(cachedArr);setIsDeleteCached(false);if(cachedArr.length){if((page+1)*5>=cachedListArr.length&&cachedArr.length%5===0){setPage(cachedArr.length/5-1);}}});}}).catch(function(error){console.error('Error:',error);});};var handleJsonDataPresentation=function handleJsonDataPresentation(){var arr=sessionStorage.getItem('subType').split('/');sessionStorage.setItem('registerModelType',\"/register_model/\".concat(arr[arr.length-1]));sessionStorage.setItem('customJsonData',JSON.stringify(modelData));navigate(\"/register_model/\".concat(arr[arr.length-1],\"/\").concat(modelData.model_name));};// Set two different states based on mouse hover\nreturn/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Paper,{className:\"container\",onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);},onClick:function onClick(){if(!selected&&!customDeleted){setSelected(true);if(modelType==='LLM'){getModelEngine(modelData.model_name);}}},elevation:hover?24:4,children:modelType==='LLM'?/*#__PURE__*/_jsxs(Box,{className:\"descriptionCard\",children:[is_custom&&/*#__PURE__*/_jsxs(\"div\",{className:\"cardTitle\",children:[/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsxs(\"div\",{className:\"iconButtonBox\",children:[/*#__PURE__*/_jsx(Tooltip,{title:'Edit',placement:\"top\",children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"show\",onClick:function onClick(e){e.stopPropagation();setIsJsonShow(true);},children:/*#__PURE__*/_jsx(EditNote,{})})}),/*#__PURE__*/_jsx(Tooltip,{title:'delete',placement:\"top\",children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",onClick:function onClick(e){e.stopPropagation();setIsDeleteCustomModel(true);},disabled:customDeleted,children:/*#__PURE__*/_jsx(Delete,{})})})]})]}),!is_custom&&/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsxs(Stack,{spacing:1,direction:\"row\",useFlexGap:true,flexWrap:\"wrap\",sx:{marginLeft:1},children:[modelData.model_lang&&function(){return modelData.model_lang.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"},v);});}(),function(){if(modelData.model_specs&&modelData.model_specs.some(function(spec){return isCached(spec);})){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\",deleteIcon:/*#__PURE__*/_jsx(EditNote,{}),onDelete:handleOpenCachedList});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]}),modelData.model_description&&/*#__PURE__*/_jsx(\"p\",{className:\"p\",title:modelData.model_description,children:modelData.model_description}),/*#__PURE__*/_jsxs(\"div\",{className:\"iconRow\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"boldIconText\",children:[Math.floor(modelData.context_length/1000),\"K\"]}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"context length\"})]}),function(){if(modelData.model_ability&&modelData.model_ability.includes('chat')){return/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsx(ChatOutlined,{className:\"muiIcon\"}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"chat model\"})]});}else if(modelData.model_ability&&modelData.model_ability.includes('generate')){return/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsx(EditNoteOutlined,{className:\"muiIcon\"}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"generate model\"})]});}else{return/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsx(HelpCenterOutlined,{className:\"muiIcon\"}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"other model\"})]});}}()]})]}):/*#__PURE__*/_jsxs(Box,{className:\"descriptionCard\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"titleContainer\",children:[is_custom&&/*#__PURE__*/_jsxs(\"div\",{className:\"cardTitle\",children:[/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),/*#__PURE__*/_jsxs(\"div\",{className:\"iconButtonBox\",children:[/*#__PURE__*/_jsx(Tooltip,{title:'Edit',placement:\"top\",children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"show\",onClick:function onClick(e){e.stopPropagation();setIsJsonShow(true);},children:/*#__PURE__*/_jsx(EditNote,{})})}),/*#__PURE__*/_jsx(Tooltip,{title:'delete',placement:\"top\",children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",onClick:function onClick(e){e.stopPropagation();setIsDeleteCustomModel(true);},disabled:customDeleted,children:/*#__PURE__*/_jsx(Delete,{})})})]})]}),!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(){if(modelData.language){return modelData.language.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"});});}else if(modelData.model_family){return/*#__PURE__*/_jsx(Chip,{label:modelData.model_family,variant:\"outlined\",size:\"small\"});}}(),function(){if(modelData.cache_status){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\",deleteIcon:/*#__PURE__*/_jsx(EditNote,{}),onDelete:handleOpenCachedList});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]})]}),modelData.dimensions&&/*#__PURE__*/_jsxs(\"div\",{className:\"iconRow\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"boldIconText\",children:modelData.dimensions}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"dimensions\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"iconItem\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"boldIconText\",children:modelData.max_tokens}),/*#__PURE__*/_jsx(\"small\",{className:\"smallText\",children:\"max tokens\"})]})]}),!selected&&hover&&/*#__PURE__*/_jsx(\"p\",{className:\"instructionText\",children:\"Click with mouse to launch the model\"})]})}),/*#__PURE__*/_jsx(DeleteDialog,{text:'Are you sure to delete this custom model? This behavior is irreversible.',isDelete:isDeleteCustomModel,onHandleIsDelete:function onHandleIsDelete(){return setIsDeleteCustomModel(false);},onHandleDelete:handeCustomDelete}),/*#__PURE__*/_jsx(Drawer,{open:selected,onClose:function onClose(){setSelected(false);setHover(false);},anchor:'right',children:/*#__PURE__*/_jsxs(\"div\",{className:\"drawerCard\",children:[/*#__PURE__*/_jsx(TitleTypography,{value:modelData.model_name}),modelType==='LLM'?/*#__PURE__*/_jsx(Box,{ref:parentRef,className:\"formContainer\",display:\"flex\",flexDirection:\"column\",width:\"100%\",mx:\"auto\",children:/*#__PURE__*/_jsxs(Grid,{rowSpacing:0,columnSpacing:1,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"modelEngine-label\",children:\"Model Engine\"}),/*#__PURE__*/_jsx(Select,{labelId:\"modelEngine-label\",value:modelEngine,onChange:function onChange(e){return setModelEngine(e.target.value);},label:\"Model Engine\",children:engineOptions.map(function(engine){var subArr=[];enginesObj[engine].forEach(function(item){subArr.push(item.model_format);});var arr=_toConsumableArray(new Set(subArr));var specs=modelData.model_specs.filter(function(spec){return arr.includes(spec.model_format);});var cached=specs.some(function(spec){return isCached(spec);});var displayedEngine=cached?engine+' (cached)':engine;return/*#__PURE__*/_jsx(MenuItem,{value:engine,children:displayedEngine},engine);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelEngine,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:12,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:12,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:12,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:12,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(ListItemButton,{onClick:function onClick(){return setIsOther(!isOther);},children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"Optional Configurations\"}),isOther?/*#__PURE__*/_jsx(ExpandLess,{}):/*#__PURE__*/_jsx(ExpandMore,{})]}),/*#__PURE__*/_jsxs(Collapse,{in:isOther,timeout:\"auto\",unmountOnExit:true,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:12,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:12,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(TextField,{value:requestLimits,label:\"(Optional) Request Limits, the number of request limits for this model\\uFF0Cdefault is None\",onChange:function onChange(e){setRequestLimitsAlert(false);setRequestLimits(e.target.value);if(e.target.value!==''&&(!Number(e.target.value)||Number(e.target.value)<1||parseInt(e.target.value)!==parseFloat(e.target.value))){setRequestLimitsAlert(true);}}}),requestLimitsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0\"})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{variant:\"outlined\",value:workerIp,label:\"(Optional) Worker Ip, specify the worker ip where the model is located in a distributed scenario\",onChange:function onChange(e){return setWorkerIp(e.target.value);}})})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(TextField,{value:GPUIdx,label:\"(Optional) GPU Idx, Specify the GPU index where the model is located\",onChange:function onChange(e){setGPUIdxAlert(false);setGPUIdx(e.target.value);var regular=/^\\d+(?:,\\d+)*$/;if(e.target.value!==''&&!regular.test(e.target.value)){setGPUIdxAlert(true);}}}),GPUIdxAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter numeric data separated by commas, for example: 0,1,2\"})]})}),/*#__PURE__*/_jsxs(ListItemButton,{onClick:function onClick(){return setIsPeftModelConfig(!isPeftModelConfig);},children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"Lora Config\"}),isPeftModelConfig?/*#__PURE__*/_jsx(ExpandLess,{}):/*#__PURE__*/_jsx(ExpandMore,{})]}),/*#__PURE__*/_jsxs(Collapse,{in:isPeftModelConfig,timeout:\"auto\",unmountOnExit:true,style:{marginLeft:'30px'},children:[/*#__PURE__*/_jsx(AddPair,{customData:{title:'Lora Model Config',key:'lora_name',value:'local_path'},onGetArr:getLoraListArr,onJudgeArr:judgeArr}),/*#__PURE__*/_jsx(AddPair,{customData:{title:'Lora Load Kwargs for Image Model',key:'key',value:'value'},onGetArr:getImageLoraLoadKwargsArr,onJudgeArr:judgeArr}),/*#__PURE__*/_jsx(AddPair,{customData:{title:'Lora Fuse Kwargs for Image Model',key:'key',value:'value'},onGetArr:getImageLoraFuseKwargsArr,onJudgeArr:judgeArr})]})]}),/*#__PURE__*/_jsx(AddPair,{customData:{title:\"Additional parameters passed to the inference engine\".concat(modelEngine?': '+modelEngine:''),key:'key',value:'value'},onGetArr:getCustomParametersArr,onJudgeArr:judgeArr})]})}):/*#__PURE__*/_jsxs(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);}}),(modelType==='embedding'||modelType==='rerank')&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{style:{marginTop:'25px'},type:\"number\",InputProps:{inputProps:{min:1}},label:\"Replica\",value:replica,onChange:function onChange(e){return setReplica(parseInt(e.target.value,10));}}),/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"n-gpu-label\",children:\"Device\"}),/*#__PURE__*/_jsx(Select,{labelId:\"n-gpu-label\",value:nGpu,onChange:function onChange(e){return setNGpu(e.target.value);},label:\"N-GPU\",children:getNewNGPURange().map(function(v){return/*#__PURE__*/_jsx(MenuItem,{value:v,children:v},v);})})]}),nGpu==='GPU'&&/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(TextField,{value:GPUIdx,label:\"GPU Idx, Specify the GPU index where the model is located\",onChange:function onChange(e){setGPUIdxAlert(false);setGPUIdx(e.target.value);var regular=/^\\d+(?:,\\d+)*$/;if(e.target.value!==''&&!regular.test(e.target.value)){setGPUIdxAlert(true);}}}),GPUIdxAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter numeric data separated by commas, for example: 0,1,2\"})]}),/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{variant:\"outlined\",value:workerIp,label:\"Worker Ip, specify the worker ip where the model is located in a distributed scenario\",onChange:function onChange(e){return setWorkerIp(e.target.value);}})})]})]}),/*#__PURE__*/_jsxs(Box,{className:\"buttonsContainer\",children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch\",className:\"buttonContainer\",onClick:function onClick(){return launchModel(url,modelData);},disabled:modelType==='LLM'&&(isCallingApi||isUpdatingModel||!(modelFormat&&modelSize&&modelData&&(quantization||!modelData.is_builtin&&modelFormat!=='pytorch'))||!judgeArr(customParametersArr,['key','value'])||!judgeArr(loraListArr,['lora_name','local_path'])||!judgeArr(imageLoraLoadKwargsArr,['key','value'])||!judgeArr(imageLoraFuseKwargsArr,['key','value'])||requestLimitsAlert||GPUIdxAlert)||(modelType==='embedding'||modelType==='rerank')&&GPUIdxAlert,children:function(){if(isCallingApi||isUpdatingModel){return/*#__PURE__*/_jsx(Box,{className:\"buttonItem\",style:{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,{className:\"buttonItem\",style:{backgroundColor:'#f2f2f2'},children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{size:\"20px\"})});}else{return/*#__PURE__*/_jsx(Box,{className:\"buttonItem\",children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{color:\"#000000\",size:\"20px\"})});}}()}),/*#__PURE__*/_jsx(\"button\",{title:\"Go Back\",className:\"buttonContainer\",onClick:function onClick(){setSelected(false);setHover(false);},children:/*#__PURE__*/_jsx(Box,{className:\"buttonItem\",children:/*#__PURE__*/_jsx(UndoOutlined,{color:\"#000000\",size:\"20px\"})})})]})]})}),/*#__PURE__*/_jsx(Backdrop,{sx:{color:'#fff',zIndex:function zIndex(theme){return theme.zIndex.drawer+1;}},open:isJsonShow,children:/*#__PURE__*/_jsxs(\"div\",{className:\"jsonDialog\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"jsonDialog-title\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"title-name\",children:modelData.model_name}),/*#__PURE__*/_jsx(CopyComponent,{tip:'Copy Json',text:JSON.stringify(modelData,null,4)})]}),/*#__PURE__*/_jsx(\"div\",{className:\"main-box\",children:/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea-box\",value:JSON.stringify(modelData,null,4)})}),/*#__PURE__*/_jsxs(\"div\",{className:\"but-box\",children:[/*#__PURE__*/_jsx(Button,{onClick:function onClick(){setIsJsonShow(false);},style:{marginRight:30},children:\"Cancel\"}),/*#__PURE__*/_jsx(Button,{onClick:handleJsonDataPresentation,children:\"Edit\"})]})]})}),/*#__PURE__*/_jsx(Snackbar,{anchorOrigin:{vertical:'top',horizontal:'center'},open:openSnackbar,onClose:function onClose(){return setOpenSnackbar(false);},message:\"Please fill in the complete parameters before adding!\"},'top'+'center'),/*#__PURE__*/_jsx(Backdrop,{sx:{color:'#fff',zIndex:function zIndex(theme){return theme.zIndex.drawer+1;}},open:isOpenCachedList,children:/*#__PURE__*/_jsxs(\"div\",{className:\"dialogBox\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"dialogTitle\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"dialogTitle-model_name\",children:modelData.model_name}),/*#__PURE__*/_jsx(Close,{style:{cursor:'pointer'},onClick:handleCloseCachedList})]}),/*#__PURE__*/_jsx(TableContainer,{component:Paper,children:/*#__PURE__*/_jsxs(Table,{sx:{minWidth:500},style:{height:'500px',width:'100%'},stickyHeader:true,\"aria-label\":\"simple pagination table\",children:[/*#__PURE__*/_jsx(TableHead,{children:/*#__PURE__*/_jsxs(TableRow,{children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:\"model_format\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:\"model_size_in_billions\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:\"quantizations\"})]}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:192},children:\"real_path\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:46}}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:192},children:\"path\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:46}}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{whiteSpace:'nowrap',minWidth:116},children:\"IP Address\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:\"operation\"})]})}),/*#__PURE__*/_jsxs(TableBody,{style:{position:'relative'},children:[cachedListArr.slice(page*5,page*5+5).map(function(row){return/*#__PURE__*/_jsxs(StyledTableRow,{style:{maxHeight:90},children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TableCell,{component:\"th\",scope:\"row\",children:row.model_format===null?'—':row.model_format}),/*#__PURE__*/_jsx(TableCell,{children:row.model_size_in_billions===null?'—':row.model_size_in_billions}),/*#__PURE__*/_jsx(TableCell,{children:row.quantization===null?'—':row.quantization})]}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(Tooltip,{title:row.real_path,children:/*#__PURE__*/_jsx(\"div\",{className:modelType==='LLM'?'pathBox':'pathBox pathBox2',children:row.real_path})})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(CopyComponent,{tip:'Copy real_path',text:row.real_path})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(Tooltip,{title:row.path,children:/*#__PURE__*/_jsx(\"div\",{className:modelType==='LLM'?'pathBox':'pathBox pathBox2',children:row.path})})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(CopyComponent,{tip:'Copy path',text:row.path})}),/*#__PURE__*/_jsx(TableCell,{children:row.actor_ip_address}),/*#__PURE__*/_jsx(TableCell,{align:modelType==='LLM'?'center':'left',children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",size:\"large\",onClick:function onClick(){return handleOpenDeleteCachedDialog(row.real_path,row.model_version);},children:/*#__PURE__*/_jsx(Delete,{})})})]},row.model_name);}),emptyRows>0&&/*#__PURE__*/_jsx(TableRow,{style:{height:89.4*emptyRows},children:/*#__PURE__*/_jsx(TableCell,{})}),cachedListArr.length===0&&/*#__PURE__*/_jsx(\"div\",{className:\"empty\",children:\"No cache for now !\"})]})]})}),/*#__PURE__*/_jsx(TablePagination,{style:{float:'right'},rowsPerPageOptions:[5],count:cachedListArr.length,rowsPerPage:5,page:page,onPageChange:handleChangePage})]})}),/*#__PURE__*/_jsx(DeleteDialog,{text:'Confirm deletion of cache files? This action is irreversible.',isDelete:isDeleteCached,onHandleIsDelete:function onHandleIsDelete(){return setIsDeleteCached(false);},onHandleDelete:handleDeleteCached})]});};export default ModelCard;","map":{"version":3,"names":["ChatOutlined","Close","Delete","EditNote","EditNoteOutlined","ExpandLess","ExpandMore","HelpCenterOutlined","RocketLaunchOutlined","UndoOutlined","Alert","Backdrop","Box","Button","Chip","CircularProgress","Collapse","Drawer","FormControl","Grid","IconButton","InputLabel","ListItemButton","ListItemText","MenuItem","Paper","Select","Snackbar","Stack","Table","TableBody","TableCell","TableContainer","TableHead","TablePagination","TableRow","TextField","Tooltip","styled","React","useContext","useEffect","useRef","useState","useNavigate","ApiContext","CopyComponent","DeleteDialog","fetcher","TitleTypography","AddPair","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ModelCard","_ref","url","modelData","gpuAvailable","modelType","_ref$is_custom","is_custom","onHandleCompleteDelete","onHandlecustomDelete","_useState","_useState2","_slicedToArray","hover","setHover","_useState3","_useState4","selected","setSelected","_useState5","_useState6","requestLimitsAlert","setRequestLimitsAlert","_useState7","_useState8","GPUIdxAlert","setGPUIdxAlert","_useState9","_useState10","isOther","setIsOther","_useState11","_useState12","isPeftModelConfig","setIsPeftModelConfig","_useState13","_useState14","openSnackbar","setOpenSnackbar","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","navigate","_useState15","_useState16","modelUID","setModelUID","_useState17","_useState18","modelEngine","setModelEngine","_useState19","_useState20","modelFormat","setModelFormat","_useState21","_useState22","modelSize","setModelSize","_useState23","_useState24","quantization","setQuantization","_useState25","_useState26","nGPU","setNGPU","_useState27","_useState28","nGpu","setNGpu","_useState29","_useState30","nGPULayers","setNGPULayers","_useState31","_useState32","replica","setReplica","_useState33","_useState34","requestLimits","setRequestLimits","_useState35","_useState36","workerIp","setWorkerIp","_useState37","_useState38","GPUIdx","setGPUIdx","_useState39","_useState40","enginesObj","setEnginesObj","_useState41","_useState42","engineOptions","setEngineOptions","_useState43","_useState44","formatOptions","setFormatOptions","_useState45","_useState46","sizeOptions","setSizeOptions","_useState47","_useState48","quantizationOptions","setQuantizationOptions","_useState49","_useState50","customDeleted","setCustomDeleted","_useState51","_useState52","customParametersArr","setCustomParametersArr","_useState53","_useState54","loraListArr","setLoraListArr","_useState55","_useState56","imageLoraLoadKwargsArr","setImageLoraLoadKwargsArr","_useState57","_useState58","imageLoraFuseKwargsArr","setImageLoraFuseKwargsArr","_useState59","_useState60","isOpenCachedList","setIsOpenCachedList","_useState61","_useState62","isDeleteCached","setIsDeleteCached","_useState63","_useState64","cachedListArr","setCachedListArr","_useState65","_useState66","cachedModelVersion","setCachedModelVersion","_useState67","_useState68","cachedRealPath","setCachedRealPath","_useState69","_useState70","page","setPage","_useState71","_useState72","isDeleteCustomModel","setIsDeleteCustomModel","_useState73","_useState74","isJsonShow","setIsJsonShow","parentRef","range","start","end","Array","fill","undefined","map","_","i","isCached","spec","model_format","cache_status","some","cs","convertModelSize","size","toString","includes","parseInt","format","_toConsumableArray","Set","item","length","sizes","filter","model_size_in_billions","quants","flatMap","quantizations","current","scrollTo","top","scrollHeight","behavior","getNGPURange","concat","getNewNGPURange","getModelEngine","model_name","method","headers","then","response","ok","json","errorData","status","detail","data","Object","keys","catch","error","console","launchModel","modelDataWithID_LLM","model_uid","trim","model_type","model_engine","n_gpu","request_limits","Number","worker_ip","gpu_idx","handleGPUIdx","modelDataWithID_other","_objectSpread","n_gpu_layers","peft_model_config","image_lora_load_kwargs","forEach","key","handleValueType","value","image_lora_fuse_kwargs","lora_list","id","modelDataWithID","body","JSON","stringify","sessionStorage","setItem","arr","split","push","handeCustomDelete","e","stopPropagation","subType","getItem","judgeArr","keysArr","str","toLowerCase","getLoraListArr","getImageLoraLoadKwargsArr","getImageLoraFuseKwargsArr","getCustomParametersArr","StyledTableRow","_ref2","theme","backgroundColor","palette","action","emptyRows","Math","max","handleChangePage","newPage","handleOpenCachedList","getCachedList","document","style","overflow","handleCloseCachedList","list","handleOpenDeleteCachedDialog","real_path","model_version","handleDeleteCached","cachedArr","handleJsonDataPresentation","children","className","onMouseEnter","onMouseLeave","onClick","elevation","title","placement","disabled","spacing","direction","useFlexGap","flexWrap","sx","marginLeft","model_lang","v","label","variant","model_specs","deleteIcon","onDelete","model_description","floor","context_length","model_ability","language","model_family","dimensions","max_tokens","text","isDelete","onHandleIsDelete","onHandleDelete","open","onClose","anchor","ref","display","flexDirection","width","mx","rowSpacing","columnSpacing","xs","margin","fullWidth","labelId","onChange","target","engine","subArr","specs","cached","displayedEngine","displayedFormat","displayedSize","quant","index","_specs$0$cache_status","_specs$","_specs$0$cache_status2","_specs$2","_specs$2$cache_status","displayedQuant","type","InputProps","inputProps","min","primary","in","timeout","unmountOnExit","parseFloat","severity","regular","test","customData","onGetArr","onJudgeArr","marginTop","is_builtin","color","zIndex","drawer","tip","readOnly","marginRight","anchorOrigin","vertical","horizontal","message","cursor","component","minWidth","height","stickyHeader","align","whiteSpace","position","slice","row","maxHeight","scope","path","actor_ip_address","float","rowsPerPageOptions","count","rowsPerPage","onPageChange"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/modelCard.js"],"sourcesContent":["import './styles/modelCardStyle.css'\n\nimport {\n ChatOutlined,\n Close,\n Delete,\n EditNote,\n EditNoteOutlined,\n ExpandLess,\n ExpandMore,\n HelpCenterOutlined,\n RocketLaunchOutlined,\n UndoOutlined,\n} from '@mui/icons-material'\nimport {\n Alert,\n Backdrop,\n Box,\n Button,\n Chip,\n CircularProgress,\n Collapse,\n Drawer,\n FormControl,\n Grid,\n IconButton,\n InputLabel,\n ListItemButton,\n ListItemText,\n MenuItem,\n Paper,\n Select,\n Snackbar,\n Stack,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableRow,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport CopyComponent from '../../components/copyComponent/copyComponent'\nimport DeleteDialog from '../../components/deleteDialog'\nimport fetcher from '../../components/fetcher'\nimport TitleTypography from '../../components/titleTypography'\nimport AddPair from './components/addPair'\n\nconst ModelCard = ({\n url,\n modelData,\n gpuAvailable,\n modelType,\n is_custom = false,\n onHandleCompleteDelete,\n onHandlecustomDelete,\n}) => {\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const [requestLimitsAlert, setRequestLimitsAlert] = useState(false)\n const [GPUIdxAlert, setGPUIdxAlert] = useState(false)\n const [isOther, setIsOther] = useState(false)\n const [isPeftModelConfig, setIsPeftModelConfig] = useState(false)\n const [openSnackbar, setOpenSnackbar] = 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 [modelEngine, setModelEngine] = useState('')\n const [modelFormat, setModelFormat] = useState('')\n const [modelSize, setModelSize] = useState('')\n const [quantization, setQuantization] = useState('')\n const [nGPU, setNGPU] = useState('auto')\n const [nGpu, setNGpu] = useState(gpuAvailable === 0 ? 'CPU' : 'GPU')\n const [nGPULayers, setNGPULayers] = useState(-1)\n const [replica, setReplica] = useState(1)\n const [requestLimits, setRequestLimits] = useState('')\n const [workerIp, setWorkerIp] = useState('')\n const [GPUIdx, setGPUIdx] = useState('')\n\n const [enginesObj, setEnginesObj] = useState({})\n const [engineOptions, setEngineOptions] = useState([])\n const [formatOptions, setFormatOptions] = useState([])\n const [sizeOptions, setSizeOptions] = useState([])\n const [quantizationOptions, setQuantizationOptions] = useState([])\n const [customDeleted, setCustomDeleted] = useState(false)\n const [customParametersArr, setCustomParametersArr] = useState([])\n const [loraListArr, setLoraListArr] = useState([])\n const [imageLoraLoadKwargsArr, setImageLoraLoadKwargsArr] = useState([])\n const [imageLoraFuseKwargsArr, setImageLoraFuseKwargsArr] = useState([])\n const [isOpenCachedList, setIsOpenCachedList] = useState(false)\n const [isDeleteCached, setIsDeleteCached] = useState(false)\n const [cachedListArr, setCachedListArr] = useState([])\n const [cachedModelVersion, setCachedModelVersion] = useState('')\n const [cachedRealPath, setCachedRealPath] = useState('')\n const [page, setPage] = useState(0)\n const [isDeleteCustomModel, setIsDeleteCustomModel] = useState(false)\n const [isJsonShow, setIsJsonShow] = useState(false)\n\n const parentRef = useRef(null)\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 useEffect(() => {\n setModelFormat('')\n if (modelEngine) {\n const format = [\n ...new Set(enginesObj[modelEngine].map((item) => item.model_format)),\n ]\n setFormatOptions(format)\n if (format.length === 1) {\n setModelFormat(format[0])\n }\n }\n }, [modelEngine])\n\n useEffect(() => {\n setModelSize('')\n if (modelEngine && modelFormat) {\n const sizes = [\n ...new Set(\n enginesObj[modelEngine]\n .filter((item) => item.model_format === modelFormat)\n .map((item) => item.model_size_in_billions)\n ),\n ]\n setSizeOptions(sizes)\n if (sizes.length === 1) {\n setModelSize(sizes[0])\n }\n }\n }, [modelEngine, modelFormat])\n\n useEffect(() => {\n setQuantization('')\n if (modelEngine && modelFormat && modelSize) {\n const quants = [\n ...new Set(\n enginesObj[modelEngine]\n .filter(\n (item) =>\n item.model_format === modelFormat &&\n item.model_size_in_billions === convertModelSize(modelSize)\n )\n .flatMap((item) => item.quantizations)\n ),\n ]\n setQuantizationOptions(quants)\n if (quants.length === 1) {\n setQuantization(quants[0])\n }\n }\n }, [modelEngine, modelFormat, modelSize])\n\n useEffect(() => {\n if (parentRef.current) {\n parentRef.current.scrollTo({\n top: parentRef.current.scrollHeight,\n behavior: 'smooth',\n })\n }\n }, [customParametersArr])\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 getNewNGPURange = () => {\n if (gpuAvailable === 0) {\n return ['CPU']\n } else {\n return ['GPU', 'CPU']\n }\n }\n\n const getModelEngine = (model_name) => {\n fetcher(url + `/v1/engines/${model_name}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\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 response.json().then((data) => {\n setEnginesObj(data)\n setEngineOptions(Object.keys(data))\n })\n }\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const launchModel = (url) => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n\n setIsCallingApi(true)\n\n const modelDataWithID_LLM = {\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_type: modelType,\n model_engine: modelEngine,\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 request_limits:\n requestLimits.trim() === '' ? null : Number(requestLimits.trim()),\n worker_ip: workerIp.trim() === '' ? null : workerIp.trim(),\n gpu_idx: GPUIdx.trim() === '' ? null : handleGPUIdx(GPUIdx.trim()),\n }\n\n let modelDataWithID_other = {\n model_uid: modelUID.trim() === '' ? null : modelUID.trim(),\n model_name: modelData.model_name,\n model_type: modelType,\n }\n\n if (modelType === 'embedding' || modelType === 'rerank') {\n modelDataWithID_other = {\n ...modelDataWithID_other,\n replica: replica,\n n_gpu: nGpu === 'GPU' ? 'auto' : null,\n worker_ip: workerIp.trim() === '' ? null : workerIp.trim(),\n gpu_idx: GPUIdx.trim() === '' ? null : handleGPUIdx(GPUIdx.trim()),\n }\n }\n\n if (nGPULayers >= 0) {\n modelDataWithID_LLM.n_gpu_layers = nGPULayers\n }\n\n if (\n loraListArr.length ||\n imageLoraLoadKwargsArr.length ||\n imageLoraFuseKwargsArr.length\n ) {\n const peft_model_config = {}\n if (imageLoraLoadKwargsArr.length) {\n const image_lora_load_kwargs = {}\n imageLoraLoadKwargsArr.forEach((item) => {\n image_lora_load_kwargs[item.key] = handleValueType(item.value)\n })\n peft_model_config['image_lora_load_kwargs'] = image_lora_load_kwargs\n }\n if (imageLoraFuseKwargsArr.length) {\n const image_lora_fuse_kwargs = {}\n imageLoraFuseKwargsArr.forEach((item) => {\n image_lora_fuse_kwargs[item.key] = handleValueType(item.value)\n })\n peft_model_config['image_lora_fuse_kwargs'] = image_lora_fuse_kwargs\n }\n if (loraListArr.length) {\n const lora_list = loraListArr\n lora_list.map((item) => {\n delete item.id\n })\n peft_model_config['lora_list'] = lora_list\n }\n modelDataWithID_LLM['peft_model_config'] = peft_model_config\n }\n\n if (customParametersArr.length) {\n customParametersArr.forEach((item) => {\n modelDataWithID_LLM[item.key] = handleValueType(item.value)\n })\n }\n\n const modelDataWithID =\n modelType === 'LLM' ? modelDataWithID_LLM : modelDataWithID_other\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/${modelType}`)\n sessionStorage.setItem(\n 'runningModelType',\n `/running_models/${modelType}`\n )\n }\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const handleGPUIdx = (data) => {\n const arr = []\n data.split(',').forEach((item) => {\n arr.push(Number(item))\n })\n return arr\n }\n\n const handeCustomDelete = (e) => {\n e.stopPropagation()\n const subType = sessionStorage.getItem('subType').split('/')\n if (subType) {\n subType[3]\n fetcher(\n url +\n `/v1/model_registrations/${\n subType[3] === 'llm' ? 'LLM' : subType[3]\n }/${modelData.model_name}`,\n {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n .then(() => {\n setCustomDeleted(true)\n onHandlecustomDelete(modelData.model_name)\n setIsDeleteCustomModel(false)\n })\n .catch(console.error)\n }\n }\n\n const judgeArr = (arr, keysArr) => {\n if (\n arr.length &&\n arr[arr.length - 1][keysArr[0]] !== '' &&\n arr[arr.length - 1][keysArr[1]] !== ''\n ) {\n return true\n } else if (arr.length === 0) {\n return true\n } else {\n return false\n }\n }\n\n const handleValueType = (str) => {\n if (str.toLowerCase() === 'none') {\n return null\n } else if (str.toLowerCase() === 'true') {\n return true\n } else if (str.toLowerCase() === 'false') {\n return false\n } else if (Number(str) || (str !== '' && Number(str) === 0)) {\n return Number(str)\n } else {\n return str\n }\n }\n\n const getLoraListArr = (arr) => {\n setLoraListArr(arr)\n }\n\n const getImageLoraLoadKwargsArr = (arr) => {\n setImageLoraLoadKwargsArr(arr)\n }\n\n const getImageLoraFuseKwargsArr = (arr) => {\n setImageLoraFuseKwargsArr(arr)\n }\n\n const getCustomParametersArr = (arr) => {\n setCustomParametersArr(arr)\n }\n\n const StyledTableRow = styled(TableRow)(({ theme }) => ({\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.action.hover,\n },\n }))\n\n const emptyRows =\n page >= 0 ? Math.max(0, (1 + page) * 5 - cachedListArr.length) : 0\n\n const handleChangePage = (_, newPage) => {\n setPage(newPage)\n }\n\n const handleOpenCachedList = () => {\n setIsOpenCachedList(true)\n getCachedList()\n document.body.style.overflow = 'hidden'\n }\n\n const handleCloseCachedList = () => {\n document.body.style.overflow = 'auto'\n setHover(false)\n setIsOpenCachedList(false)\n if (cachedListArr.length === 0) {\n onHandleCompleteDelete(modelData.model_name)\n }\n }\n\n const getCachedList = () => {\n fetcher(url + `/v1/cache/models?model_name=${modelData.model_name}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => {\n if (!response.ok) {\n response.json().then((errorData) => {\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n response.json().then((data) => {\n setCachedListArr(data.list)\n })\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n })\n }\n\n const handleOpenDeleteCachedDialog = (real_path, model_version) => {\n setCachedRealPath(real_path)\n setCachedModelVersion(model_version)\n setIsDeleteCached(true)\n }\n\n const handleDeleteCached = () => {\n fetcher(url + `/v1/cache/models?model_version=${cachedModelVersion}`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => {\n if (!response.ok) {\n response.json().then((errorData) => {\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n response.json().then(() => {\n const cachedArr = cachedListArr.filter(\n (item) => item.real_path !== cachedRealPath\n )\n setCachedListArr(cachedArr)\n setIsDeleteCached(false)\n if (cachedArr.length) {\n if (\n (page + 1) * 5 >= cachedListArr.length &&\n cachedArr.length % 5 === 0\n ) {\n setPage(cachedArr.length / 5 - 1)\n }\n }\n })\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n })\n }\n\n const handleJsonDataPresentation = () => {\n const arr = sessionStorage.getItem('subType').split('/')\n sessionStorage.setItem(\n 'registerModelType',\n `/register_model/${arr[arr.length - 1]}`\n )\n sessionStorage.setItem('customJsonData', JSON.stringify(modelData))\n navigate(`/register_model/${arr[arr.length - 1]}/${modelData.model_name}`)\n }\n\n // Set two different states based on mouse hover\n return (\n <>\n <Paper\n className=\"container\"\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={() => {\n if (!selected && !customDeleted) {\n setSelected(true)\n if (modelType === 'LLM') {\n getModelEngine(modelData.model_name)\n }\n }\n }}\n elevation={hover ? 24 : 4}\n >\n {modelType === 'LLM' ? (\n <Box className=\"descriptionCard\">\n {is_custom && (\n <div className=\"cardTitle\">\n <TitleTypography value={modelData.model_name} />\n <div className=\"iconButtonBox\">\n <Tooltip title={'Edit'} placement=\"top\">\n <IconButton\n aria-label=\"show\"\n onClick={(e) => {\n e.stopPropagation()\n setIsJsonShow(true)\n }}\n >\n <EditNote />\n </IconButton>\n </Tooltip>\n <Tooltip title={'delete'} placement=\"top\">\n <IconButton\n aria-label=\"delete\"\n onClick={(e) => {\n e.stopPropagation()\n setIsDeleteCustomModel(true)\n }}\n disabled={customDeleted}\n >\n <Delete />\n </IconButton>\n </Tooltip>\n </div>\n </div>\n )}\n {!is_custom && <TitleTypography value={modelData.model_name} />}\n\n <Stack\n spacing={1}\n direction=\"row\"\n useFlexGap\n flexWrap=\"wrap\"\n sx={{ marginLeft: 1 }}\n >\n {modelData.model_lang &&\n (() => {\n return modelData.model_lang.map((v) => {\n return (\n <Chip key={v} label={v} variant=\"outlined\" size=\"small\" />\n )\n })\n })()}\n {(() => {\n if (\n modelData.model_specs &&\n modelData.model_specs.some((spec) => isCached(spec))\n ) {\n return (\n <Chip\n label=\"Cached\"\n variant=\"outlined\"\n size=\"small\"\n deleteIcon={<EditNote />}\n onDelete={handleOpenCachedList}\n />\n )\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return (\n <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n )\n }\n })()}\n </Stack>\n {modelData.model_description && (\n <p className=\"p\" title={modelData.model_description}>\n {modelData.model_description}\n </p>\n )}\n\n <div className=\"iconRow\">\n <div className=\"iconItem\">\n <span className=\"boldIconText\">\n {Math.floor(modelData.context_length / 1000)}K\n </span>\n <small className=\"smallText\">context length</small>\n </div>\n {(() => {\n if (\n modelData.model_ability &&\n modelData.model_ability.includes('chat')\n ) {\n return (\n <div className=\"iconItem\">\n <ChatOutlined className=\"muiIcon\" />\n <small className=\"smallText\">chat model</small>\n </div>\n )\n } else if (\n modelData.model_ability &&\n modelData.model_ability.includes('generate')\n ) {\n return (\n <div className=\"iconItem\">\n <EditNoteOutlined className=\"muiIcon\" />\n <small className=\"smallText\">generate model</small>\n </div>\n )\n } else {\n return (\n <div className=\"iconItem\">\n <HelpCenterOutlined className=\"muiIcon\" />\n <small className=\"smallText\">other model</small>\n </div>\n )\n }\n })()}\n </div>\n </Box>\n ) : (\n <Box className=\"descriptionCard\">\n <div className=\"titleContainer\">\n {is_custom && (\n <div className=\"cardTitle\">\n <TitleTypography value={modelData.model_name} />\n <div className=\"iconButtonBox\">\n <Tooltip title={'Edit'} placement=\"top\">\n <IconButton\n aria-label=\"show\"\n onClick={(e) => {\n e.stopPropagation()\n setIsJsonShow(true)\n }}\n >\n <EditNote />\n </IconButton>\n </Tooltip>\n <Tooltip title={'delete'} placement=\"top\">\n <IconButton\n aria-label=\"delete\"\n onClick={(e) => {\n e.stopPropagation()\n setIsDeleteCustomModel(true)\n }}\n disabled={customDeleted}\n >\n <Delete />\n </IconButton>\n </Tooltip>\n </div>\n </div>\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 if (modelData.language) {\n return modelData.language.map((v) => {\n return <Chip label={v} variant=\"outlined\" size=\"small\" />\n })\n } else if (modelData.model_family) {\n return (\n <Chip\n label={modelData.model_family}\n variant=\"outlined\"\n size=\"small\"\n />\n )\n }\n })()}\n {(() => {\n if (modelData.cache_status) {\n return (\n <Chip\n label=\"Cached\"\n variant=\"outlined\"\n size=\"small\"\n deleteIcon={<EditNote />}\n onDelete={handleOpenCachedList}\n />\n )\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return (\n <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n )\n }\n })()}\n </Stack>\n </div>\n {modelData.dimensions && (\n <div className=\"iconRow\">\n <div className=\"iconItem\">\n <span className=\"boldIconText\">{modelData.dimensions}</span>\n <small className=\"smallText\">dimensions</small>\n </div>\n <div className=\"iconItem\">\n <span className=\"boldIconText\">{modelData.max_tokens}</span>\n <small className=\"smallText\">max tokens</small>\n </div>\n </div>\n )}\n {!selected && hover && (\n <p className=\"instructionText\">\n Click with mouse to launch the model\n </p>\n )}\n </Box>\n )}\n </Paper>\n\n <DeleteDialog\n text={\n 'Are you sure to delete this custom model? This behavior is irreversible.'\n }\n isDelete={isDeleteCustomModel}\n onHandleIsDelete={() => setIsDeleteCustomModel(false)}\n onHandleDelete={handeCustomDelete}\n />\n <Drawer\n open={selected}\n onClose={() => {\n setSelected(false)\n setHover(false)\n }}\n anchor={'right'}\n >\n <div className=\"drawerCard\">\n <TitleTypography value={modelData.model_name} />\n {modelType === 'LLM' ? (\n <Box\n ref={parentRef}\n className=\"formContainer\"\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n mx=\"auto\"\n >\n <Grid rowSpacing={0} columnSpacing={1}>\n <Grid item xs={12}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <InputLabel id=\"modelEngine-label\">Model Engine</InputLabel>\n <Select\n labelId=\"modelEngine-label\"\n value={modelEngine}\n onChange={(e) => setModelEngine(e.target.value)}\n label=\"Model Engine\"\n >\n {engineOptions.map((engine) => {\n const subArr = []\n enginesObj[engine].forEach((item) => {\n subArr.push(item.model_format)\n })\n const arr = [...new Set(subArr)]\n const specs = modelData.model_specs.filter((spec) =>\n arr.includes(spec.model_format)\n )\n\n const cached = specs.some((spec) => isCached(spec))\n\n const displayedEngine = cached\n ? engine + ' (cached)'\n : engine\n\n return (\n <MenuItem key={engine} value={engine}>\n {displayedEngine}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={12}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelEngine}\n >\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\n const cached = specs.some((spec) => isCached(spec))\n\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={12}>\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(\n (spec) => spec.model_size_in_billions === size\n )\n const cached = specs.some((spec) => isCached(spec))\n\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={12}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat || !modelSize}\n >\n <InputLabel id=\"quantization-label\">\n Quantization\n </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\n const displayedQuant = cached\n ? quant + ' (cached)'\n : 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={12}>\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={12}>\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 <ListItemButton onClick={() => setIsOther(!isOther)}>\n <ListItemText primary=\"Optional Configurations\" />\n {isOther ? <ExpandLess /> : <ExpandMore />}\n </ListItemButton>\n <Collapse in={isOther} timeout=\"auto\" unmountOnExit>\n <Grid item xs={12}>\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={12}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n value={requestLimits}\n label=\"(Optional) Request Limits, the number of request limits for this model,default is None\"\n onChange={(e) => {\n setRequestLimitsAlert(false)\n setRequestLimits(e.target.value)\n if (\n e.target.value !== '' &&\n (!Number(e.target.value) ||\n Number(e.target.value) < 1 ||\n parseInt(e.target.value) !==\n parseFloat(e.target.value))\n ) {\n setRequestLimitsAlert(true)\n }\n }}\n />\n {requestLimitsAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0\n </Alert>\n )}\n </FormControl>\n </Grid>\n <Grid item xs={12}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n variant=\"outlined\"\n value={workerIp}\n label=\"(Optional) Worker Ip, specify the worker ip where the model is located in a distributed scenario\"\n onChange={(e) => setWorkerIp(e.target.value)}\n />\n </FormControl>\n </Grid>\n <Grid item xs={12}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n value={GPUIdx}\n label=\"(Optional) GPU Idx, Specify the GPU index where the model is located\"\n onChange={(e) => {\n setGPUIdxAlert(false)\n setGPUIdx(e.target.value)\n const regular = /^\\d+(?:,\\d+)*$/\n if (\n e.target.value !== '' &&\n !regular.test(e.target.value)\n ) {\n setGPUIdxAlert(true)\n }\n }}\n />\n {GPUIdxAlert && (\n <Alert severity=\"error\">\n Please enter numeric data separated by commas, for\n example: 0,1,2\n </Alert>\n )}\n </FormControl>\n </Grid>\n <ListItemButton\n onClick={() => setIsPeftModelConfig(!isPeftModelConfig)}\n >\n <ListItemText primary=\"Lora Config\" />\n {isPeftModelConfig ? <ExpandLess /> : <ExpandMore />}\n </ListItemButton>\n <Collapse\n in={isPeftModelConfig}\n timeout=\"auto\"\n unmountOnExit\n style={{ marginLeft: '30px' }}\n >\n <AddPair\n customData={{\n title: 'Lora Model Config',\n key: 'lora_name',\n value: 'local_path',\n }}\n onGetArr={getLoraListArr}\n onJudgeArr={judgeArr}\n />\n <AddPair\n customData={{\n title: 'Lora Load Kwargs for Image Model',\n key: 'key',\n value: 'value',\n }}\n onGetArr={getImageLoraLoadKwargsArr}\n onJudgeArr={judgeArr}\n />\n <AddPair\n customData={{\n title: 'Lora Fuse Kwargs for Image Model',\n key: 'key',\n value: 'value',\n }}\n onGetArr={getImageLoraFuseKwargsArr}\n onJudgeArr={judgeArr}\n />\n </Collapse>\n </Collapse>\n <AddPair\n customData={{\n title: `Additional parameters passed to the inference engine${\n modelEngine ? ': ' + modelEngine : ''\n }`,\n key: 'key',\n value: 'value',\n }}\n onGetArr={getCustomParametersArr}\n onJudgeArr={judgeArr}\n />\n </Grid>\n </Box>\n ) : (\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 {(modelType === 'embedding' || modelType === 'rerank') && (\n <>\n <TextField\n style={{ marginTop: '25px' }}\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 variant=\"outlined\" margin=\"normal\" fullWidth>\n <InputLabel id=\"n-gpu-label\">Device</InputLabel>\n <Select\n labelId=\"n-gpu-label\"\n value={nGpu}\n onChange={(e) => setNGpu(e.target.value)}\n label=\"N-GPU\"\n >\n {getNewNGPURange().map((v) => {\n return (\n <MenuItem key={v} value={v}>\n {v}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n {nGpu === 'GPU' && (\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n value={GPUIdx}\n label=\"GPU Idx, Specify the GPU index where the model is located\"\n onChange={(e) => {\n setGPUIdxAlert(false)\n setGPUIdx(e.target.value)\n const regular = /^\\d+(?:,\\d+)*$/\n if (\n e.target.value !== '' &&\n !regular.test(e.target.value)\n ) {\n setGPUIdxAlert(true)\n }\n }}\n />\n {GPUIdxAlert && (\n <Alert severity=\"error\">\n Please enter numeric data separated by commas, for\n example: 0,1,2\n </Alert>\n )}\n </FormControl>\n )}\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n variant=\"outlined\"\n value={workerIp}\n label=\"Worker Ip, specify the worker ip where the model is located in a distributed scenario\"\n onChange={(e) => setWorkerIp(e.target.value)}\n />\n </FormControl>\n </>\n )}\n </FormControl>\n )}\n <Box className=\"buttonsContainer\">\n <button\n title=\"Launch\"\n className=\"buttonContainer\"\n onClick={() => launchModel(url, modelData)}\n disabled={\n (modelType === 'LLM' &&\n (isCallingApi ||\n isUpdatingModel ||\n !(\n modelFormat &&\n modelSize &&\n modelData &&\n (quantization ||\n (!modelData.is_builtin && modelFormat !== 'pytorch'))\n ) ||\n !judgeArr(customParametersArr, ['key', 'value']) ||\n !judgeArr(loraListArr, ['lora_name', 'local_path']) ||\n !judgeArr(imageLoraLoadKwargsArr, ['key', 'value']) ||\n !judgeArr(imageLoraFuseKwargsArr, ['key', 'value']) ||\n requestLimitsAlert ||\n GPUIdxAlert)) ||\n ((modelType === 'embedding' || modelType === 'rerank') &&\n GPUIdxAlert)\n }\n >\n {(() => {\n if (isCallingApi || isUpdatingModel) {\n return (\n <Box\n className=\"buttonItem\"\n style={{\n backgroundColor: '#f2f2f2',\n }}\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 className=\"buttonItem\"\n style={{\n backgroundColor: '#f2f2f2',\n }}\n >\n <RocketLaunchOutlined size=\"20px\" />\n </Box>\n )\n } else {\n return (\n <Box className=\"buttonItem\">\n <RocketLaunchOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n )\n }\n })()}\n </button>\n <button\n title=\"Go Back\"\n className=\"buttonContainer\"\n onClick={() => {\n setSelected(false)\n setHover(false)\n }}\n >\n <Box className=\"buttonItem\">\n <UndoOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n </button>\n </Box>\n </div>\n </Drawer>\n <Backdrop\n sx={{ color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }}\n open={isJsonShow}\n >\n <div className=\"jsonDialog\">\n <div className=\"jsonDialog-title\">\n <div className=\"title-name\">{modelData.model_name}</div>\n <CopyComponent\n tip={'Copy Json'}\n text={JSON.stringify(modelData, null, 4)}\n />\n </div>\n <div className=\"main-box\">\n <textarea\n readOnly\n className=\"textarea-box\"\n value={JSON.stringify(modelData, null, 4)}\n />\n </div>\n <div className=\"but-box\">\n <Button\n onClick={() => {\n setIsJsonShow(false)\n }}\n style={{ marginRight: 30 }}\n >\n Cancel\n </Button>\n <Button onClick={handleJsonDataPresentation}>Edit</Button>\n </div>\n </div>\n </Backdrop>\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={openSnackbar}\n onClose={() => setOpenSnackbar(false)}\n message=\"Please fill in the complete parameters before adding!\"\n key={'top' + 'center'}\n />\n\n <Backdrop\n sx={{ color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }}\n open={isOpenCachedList}\n >\n <div className=\"dialogBox\">\n <div className=\"dialogTitle\">\n <div className=\"dialogTitle-model_name\">{modelData.model_name}</div>\n <Close\n style={{ cursor: 'pointer' }}\n onClick={handleCloseCachedList}\n />\n </div>\n <TableContainer component={Paper}>\n <Table\n sx={{ minWidth: 500 }}\n style={{ height: '500px', width: '100%' }}\n stickyHeader\n aria-label=\"simple pagination table\"\n >\n <TableHead>\n <TableRow>\n {modelType === 'LLM' && (\n <>\n <TableCell align=\"left\">model_format</TableCell>\n <TableCell align=\"left\">model_size_in_billions</TableCell>\n <TableCell align=\"left\">quantizations</TableCell>\n </>\n )}\n <TableCell align=\"left\" style={{ width: 192 }}>\n real_path\n </TableCell>\n <TableCell align=\"left\" style={{ width: 46 }}></TableCell>\n <TableCell align=\"left\" style={{ width: 192 }}>\n path\n </TableCell>\n <TableCell align=\"left\" style={{ width: 46 }}></TableCell>\n <TableCell\n align=\"left\"\n style={{ whiteSpace: 'nowrap', minWidth: 116 }}\n >\n IP Address\n </TableCell>\n <TableCell align=\"left\">operation</TableCell>\n </TableRow>\n </TableHead>\n <TableBody style={{ position: 'relative' }}>\n {cachedListArr.slice(page * 5, page * 5 + 5).map((row) => (\n <StyledTableRow\n style={{ maxHeight: 90 }}\n key={row.model_name}\n >\n {modelType === 'LLM' && (\n <>\n <TableCell component=\"th\" scope=\"row\">\n {row.model_format === null ? '—' : row.model_format}\n </TableCell>\n <TableCell>\n {row.model_size_in_billions === null\n ? '—'\n : row.model_size_in_billions}\n </TableCell>\n <TableCell>\n {row.quantization === null ? '—' : row.quantization}\n </TableCell>\n </>\n )}\n <TableCell>\n <Tooltip title={row.real_path}>\n <div\n className={\n modelType === 'LLM' ? 'pathBox' : 'pathBox pathBox2'\n }\n >\n {row.real_path}\n </div>\n </Tooltip>\n </TableCell>\n <TableCell>\n <CopyComponent\n tip={'Copy real_path'}\n text={row.real_path}\n />\n </TableCell>\n <TableCell>\n <Tooltip title={row.path}>\n <div\n className={\n modelType === 'LLM' ? 'pathBox' : 'pathBox pathBox2'\n }\n >\n {row.path}\n </div>\n </Tooltip>\n </TableCell>\n <TableCell>\n <CopyComponent tip={'Copy path'} text={row.path} />\n </TableCell>\n <TableCell>{row.actor_ip_address}</TableCell>\n <TableCell align={modelType === 'LLM' ? 'center' : 'left'}>\n <IconButton\n aria-label=\"delete\"\n size=\"large\"\n onClick={() =>\n handleOpenDeleteCachedDialog(\n row.real_path,\n row.model_version\n )\n }\n >\n <Delete />\n </IconButton>\n </TableCell>\n </StyledTableRow>\n ))}\n {emptyRows > 0 && (\n <TableRow style={{ height: 89.4 * emptyRows }}>\n <TableCell />\n </TableRow>\n )}\n {cachedListArr.length === 0 && (\n <div className=\"empty\">No cache for now !</div>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n style={{ float: 'right' }}\n rowsPerPageOptions={[5]}\n count={cachedListArr.length}\n rowsPerPage={5}\n page={page}\n onPageChange={handleChangePage}\n />\n </div>\n </Backdrop>\n <DeleteDialog\n text={'Confirm deletion of cache files? This action is irreversible.'}\n isDelete={isDeleteCached}\n onHandleIsDelete={() => setIsDeleteCached(false)}\n onHandleDelete={handleDeleteCached}\n />\n </>\n )\n}\n\nexport default ModelCard\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _defineProperty from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";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{AddBoxOutlined,ChevronRightOutlined,DnsOutlined,GitHub,RocketLaunchOutlined,SmartToyOutlined}from'@mui/icons-material';import{Box,Drawer,List,ListItem,ListItemButton,ListItemIcon,ListItemText,Typography,useTheme}from'@mui/material';import{useEffect,useState}from'react';import{useLocation,useNavigate}from'react-router-dom';import icon from'../media/icon.webp';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var navItems=[{text:'Launch Model',icon:/*#__PURE__*/_jsx(RocketLaunchOutlined,{})},{text:'Running Models',icon:/*#__PURE__*/_jsx(SmartToyOutlined,{})},{text:'Register Model',icon:/*#__PURE__*/_jsx(AddBoxOutlined,{})},{text:'Cluster Information',icon:/*#__PURE__*/_jsx(DnsOutlined,{})},{text:'Contact Us',icon:/*#__PURE__*/_jsx(GitHub,{})}];var MenuSide=function MenuSide(){var theme=useTheme();var _useLocation=useLocation(),pathname=_useLocation.pathname;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),active=_useState2[0],setActive=_useState2[1];var navigate=useNavigate();var _useState3=useState(\"\".concat(Math.min(Math.max(window.innerWidth*0.2,287),320),\"px\")),_useState4=_slicedToArray(_useState3,2),drawerWidth=_useState4[0],setDrawerWidth=_useState4[1];useEffect(function(){setActive(pathname.substring(1));},[pathname]);useEffect(function(){var screenWidth=window.innerWidth;var maxDrawerWidth=Math.min(Math.max(screenWidth*0.2,287),320);setDrawerWidth(\"\".concat(maxDrawerWidth,\"px\"));// Update the drawer width on window resize\nvar handleResize=function handleResize(){var newScreenWidth=window.innerWidth;var newMaxDrawerWidth=Math.min(Math.max(newScreenWidth*0.2,287),320);setDrawerWidth(\"\".concat(newMaxDrawerWidth,\"px\"));};window.addEventListener('resize',handleResize);return function(){window.removeEventListener('resize',handleResize);};},[]);return/*#__PURE__*/_jsxs(Drawer,{variant:\"permanent\",sx:_objectSpread(_objectSpread({width:drawerWidth},theme.mixins.toolbar),{},_defineProperty({flexShrink:0},\"& .MuiDrawer-paper\",{width:drawerWidth,boxSizing:'border-box'})),children:[/*#__PURE__*/_jsx(Box,{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",children:/*#__PURE__*/_jsx(Box,{display:\"flex\",m:\"2rem 1rem 0rem 1rem\",width:\"217px\",children:/*#__PURE__*/_jsxs(Box,{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",textTransform:\"none\",children:[/*#__PURE__*/_jsx(Box,{component:\"img\",alt:\"profile\",src:icon,height:\"60px\",width:\"60px\",borderRadius:\"50%\",sx:{objectFit:'cover',mr:1.5}}),/*#__PURE__*/_jsx(Box,{textAlign:\"left\",children:/*#__PURE__*/_jsx(Typography,{fontWeight:\"bold\",fontSize:\"1.7rem\",children:'Xinference'})})]})})}),/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsxs(Box,{width:\"100%\",children:[/*#__PURE__*/_jsx(Box,{m:\"1.5rem 2rem 2rem 3rem\"}),/*#__PURE__*/_jsx(List,{children:navItems.map(function(_ref){var text=_ref.text,icon=_ref.icon;if(!icon){return/*#__PURE__*/_jsx(Typography,{sx:{m:'2.25rem 0 1rem 3rem'},children:text},text);}var link=text.toLowerCase().replace(' ','_');return/*#__PURE__*/_jsx(ListItem,{children:/*#__PURE__*/_jsxs(ListItemButton,{onClick:function onClick(){if(link==='contact_us'){window.open('https://github.com/xorbitsai/inference','_blank','noreferrer');}else if(link==='launch_model'){sessionStorage.setItem('modelType','/launch_model/llm');navigate('/launch_model/llm');setActive(link);console.log(active);}else if(link==='cluster_information'){navigate('/cluster_info');setActive(link);}else if(link==='running_models'){navigate('/running_models/LLM');sessionStorage.setItem('runningModelType','/running_models/LLM');setActive(link);console.log(active);}else if(link==='register_model'){sessionStorage.setItem('registerModelType','/register_model/llm');navigate('/register_model/llm');setActive(link);console.log(active);}else{navigate(\"/\".concat(link));setActive(link);console.log(active);}},children:[/*#__PURE__*/_jsx(ListItemIcon,{sx:{ml:'2rem'},children:icon}),/*#__PURE__*/_jsx(ListItemText,{primary:text}),/*#__PURE__*/_jsx(ChevronRightOutlined,{sx:{ml:'auto'}})]})},text);})})]})})]});};export default MenuSide;","map":{"version":3,"names":["AddBoxOutlined","ChevronRightOutlined","DnsOutlined","GitHub","RocketLaunchOutlined","SmartToyOutlined","Box","Drawer","List","ListItem","ListItemButton","ListItemIcon","ListItemText","Typography","useTheme","useEffect","useState","useLocation","useNavigate","icon","jsx","_jsx","jsxs","_jsxs","navItems","text","MenuSide","theme","_useLocation","pathname","_useState","_useState2","_slicedToArray","active","setActive","navigate","_useState3","concat","Math","min","max","window","innerWidth","_useState4","drawerWidth","setDrawerWidth","substring","screenWidth","maxDrawerWidth","handleResize","newScreenWidth","newMaxDrawerWidth","addEventListener","removeEventListener","variant","sx","_objectSpread","width","mixins","toolbar","_defineProperty","flexShrink","boxSizing","children","display","justifyContent","alignItems","m","textTransform","component","alt","src","height","borderRadius","objectFit","mr","textAlign","fontWeight","fontSize","map","_ref","link","toLowerCase","replace","onClick","open","sessionStorage","setItem","console","log","ml","primary"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/components/MenuSide.js"],"sourcesContent":["import {\n AddBoxOutlined,\n ChevronRightOutlined,\n DnsOutlined,\n GitHub,\n RocketLaunchOutlined,\n SmartToyOutlined,\n} from '@mui/icons-material'\nimport {\n Box,\n Drawer,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\n\nimport icon from '../media/icon.webp'\n\nconst navItems = [\n {\n text: 'Launch Model',\n icon: <RocketLaunchOutlined />,\n },\n {\n text: 'Running Models',\n icon: <SmartToyOutlined />,\n },\n {\n text: 'Register Model',\n icon: <AddBoxOutlined />,\n },\n {\n text: 'Cluster Information',\n icon: <DnsOutlined />,\n },\n {\n text: 'Contact Us',\n icon: <GitHub />,\n },\n]\n\nconst MenuSide = () => {\n const theme = useTheme()\n const { pathname } = useLocation()\n const [active, setActive] = useState('')\n const navigate = useNavigate()\n const [drawerWidth, setDrawerWidth] = useState(\n `${Math.min(Math.max(window.innerWidth * 0.2, 287), 320)}px`\n )\n\n useEffect(() => {\n setActive(pathname.substring(1))\n }, [pathname])\n\n useEffect(() => {\n const screenWidth = window.innerWidth\n const maxDrawerWidth = Math.min(Math.max(screenWidth * 0.2, 287), 320)\n setDrawerWidth(`${maxDrawerWidth}px`)\n\n // Update the drawer width on window resize\n const handleResize = () => {\n const newScreenWidth = window.innerWidth\n const newMaxDrawerWidth = Math.min(\n Math.max(newScreenWidth * 0.2, 287),\n 320\n )\n setDrawerWidth(`${newMaxDrawerWidth}px`)\n }\n\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return (\n <Drawer\n variant=\"permanent\"\n sx={{\n width: drawerWidth,\n ...theme.mixins.toolbar,\n flexShrink: 0,\n [`& .MuiDrawer-paper`]: {\n width: drawerWidth,\n boxSizing: 'border-box',\n },\n }}\n >\n {/* Title */}\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Box display=\"flex\" m=\"2rem 1rem 0rem 1rem\" width=\"217px\">\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n textTransform=\"none\"\n >\n <Box\n component=\"img\"\n alt=\"profile\"\n src={icon}\n height=\"60px\"\n width=\"60px\"\n borderRadius=\"50%\"\n sx={{ objectFit: 'cover', mr: 1.5 }}\n />\n <Box textAlign=\"left\">\n <Typography fontWeight=\"bold\" fontSize=\"1.7rem\">\n {'Xinference'}\n </Typography>\n </Box>\n </Box>\n </Box>\n </Box>\n\n <Box>\n <Box width=\"100%\">\n <Box m=\"1.5rem 2rem 2rem 3rem\"></Box>\n <List>\n {navItems.map(({ text, icon }) => {\n if (!icon) {\n return (\n <Typography key={text} sx={{ m: '2.25rem 0 1rem 3rem' }}>\n {text}\n </Typography>\n )\n }\n\n const link = text.toLowerCase().replace(' ', '_')\n\n return (\n <ListItem key={text}>\n <ListItemButton\n onClick={() => {\n if (link === 'contact_us') {\n window.open(\n 'https://github.com/xorbitsai/inference',\n '_blank',\n 'noreferrer'\n )\n } else if (link === 'launch_model') {\n sessionStorage.setItem('modelType', '/launch_model/llm')\n navigate('/launch_model/llm')\n setActive(link)\n console.log(active)\n } else if (link === 'cluster_information') {\n navigate('/cluster_info')\n setActive(link)\n } else if (link === 'running_models') {\n navigate('/running_models/LLM')\n sessionStorage.setItem(\n 'runningModelType',\n '/running_models/LLM'\n )\n setActive(link)\n console.log(active)\n } else if (link === 'register_model') {\n sessionStorage.setItem(\n 'registerModelType',\n '/register_model/llm'\n )\n navigate('/register_model/llm')\n setActive(link)\n console.log(active)\n } else {\n navigate(`/${link}`)\n setActive(link)\n console.log(active)\n }\n }}\n >\n <ListItemIcon\n sx={{\n ml: '2rem',\n }}\n >\n {icon}\n </ListItemIcon>\n <ListItemText primary={text} />\n <ChevronRightOutlined sx={{ ml: 'auto' }} />\n </ListItemButton>\n </ListItem>\n )\n })}\n </List>\n </Box>\n </Box>\n </Drawer>\n )\n}\n\nexport default MenuSide\n"],"mappings":"waAAA,OACEA,cAAc,CACdC,oBAAoB,CACpBC,WAAW,CACXC,MAAM,CACNC,oBAAoB,CACpBC,gBAAgB,KACX,qBAAqB,CAC5B,OACEC,GAAG,CACHC,MAAM,CACNC,IAAI,CACJC,QAAQ,CACRC,cAAc,CACdC,YAAY,CACZC,YAAY,CACZC,UAAU,CACVC,QAAQ,KACH,eAAe,CACtB,OAASC,SAAS,CAAEC,QAAQ,KAAQ,OAAO,CAC3C,OAASC,WAAW,CAAEC,WAAW,KAAQ,kBAAkB,CAE3D,MAAO,CAAAC,IAAI,KAAM,oBAAoB,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAErC,GAAM,CAAAC,QAAQ,CAAG,CACf,CACEC,IAAI,CAAE,cAAc,CACpBN,IAAI,cAAEE,IAAA,CAACjB,oBAAoB,GAAE,CAC/B,CAAC,CACD,CACEqB,IAAI,CAAE,gBAAgB,CACtBN,IAAI,cAAEE,IAAA,CAAChB,gBAAgB,GAAE,CAC3B,CAAC,CACD,CACEoB,IAAI,CAAE,gBAAgB,CACtBN,IAAI,cAAEE,IAAA,CAACrB,cAAc,GAAE,CACzB,CAAC,CACD,CACEyB,IAAI,CAAE,qBAAqB,CAC3BN,IAAI,cAAEE,IAAA,CAACnB,WAAW,GAAE,CACtB,CAAC,CACD,CACEuB,IAAI,CAAE,YAAY,CAClBN,IAAI,cAAEE,IAAA,CAAClB,MAAM,GAAE,CACjB,CAAC,CACF,CAED,GAAM,CAAAuB,QAAQ,CAAG,QAAX,CAAAA,QAAQA,CAAA,CAAS,CACrB,GAAM,CAAAC,KAAK,CAAGb,QAAQ,CAAC,CAAC,CACxB,IAAAc,YAAA,CAAqBX,WAAW,CAAC,CAAC,CAA1BY,QAAQ,CAAAD,YAAA,CAARC,QAAQ,CAChB,IAAAC,SAAA,CAA4Bd,QAAQ,CAAC,EAAE,CAAC,CAAAe,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAAjCG,MAAM,CAAAF,UAAA,IAAEG,SAAS,CAAAH,UAAA,IACxB,GAAM,CAAAI,QAAQ,CAAGjB,WAAW,CAAC,CAAC,CAC9B,IAAAkB,UAAA,CAAsCpB,QAAQ,IAAAqB,MAAA,CACzCC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACC,MAAM,CAACC,UAAU,CAAG,GAAG,CAAE,GAAG,CAAC,CAAE,GAAG,CAAC,MAC1D,CAAC,CAAAC,UAAA,CAAAX,cAAA,CAAAI,UAAA,IAFMQ,WAAW,CAAAD,UAAA,IAAEE,cAAc,CAAAF,UAAA,IAIlC5B,SAAS,CAAC,UAAM,CACdmB,SAAS,CAACL,QAAQ,CAACiB,SAAS,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC,CAAE,CAACjB,QAAQ,CAAC,CAAC,CAEdd,SAAS,CAAC,UAAM,CACd,GAAM,CAAAgC,WAAW,CAAGN,MAAM,CAACC,UAAU,CACrC,GAAM,CAAAM,cAAc,CAAGV,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACO,WAAW,CAAG,GAAG,CAAE,GAAG,CAAC,CAAE,GAAG,CAAC,CACtEF,cAAc,IAAAR,MAAA,CAAIW,cAAc,MAAI,CAAC,CAErC;AACA,GAAM,CAAAC,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAA,CAAS,CACzB,GAAM,CAAAC,cAAc,CAAGT,MAAM,CAACC,UAAU,CACxC,GAAM,CAAAS,iBAAiB,CAAGb,IAAI,CAACC,GAAG,CAChCD,IAAI,CAACE,GAAG,CAACU,cAAc,CAAG,GAAG,CAAE,GAAG,CAAC,CACnC,GACF,CAAC,CACDL,cAAc,IAAAR,MAAA,CAAIc,iBAAiB,MAAI,CAAC,CAC1C,CAAC,CAEDV,MAAM,CAACW,gBAAgB,CAAC,QAAQ,CAAEH,YAAY,CAAC,CAC/C,MAAO,WAAM,CACXR,MAAM,CAACY,mBAAmB,CAAC,QAAQ,CAAEJ,YAAY,CAAC,CACpD,CAAC,CACH,CAAC,CAAE,EAAE,CAAC,CAEN,mBACE1B,KAAA,CAAChB,MAAM,EACL+C,OAAO,CAAC,WAAW,CACnBC,EAAE,CAAAC,aAAA,CAAAA,aAAA,EACAC,KAAK,CAAEb,WAAW,EACfjB,KAAK,CAAC+B,MAAM,CAACC,OAAO,KAAAC,eAAA,EACvBC,UAAU,CAAE,CAAC,uBACW,CACtBJ,KAAK,CAAEb,WAAW,CAClBkB,SAAS,CAAE,YACb,CAAC,EACD,CAAAC,QAAA,eAGF1C,IAAA,CAACf,GAAG,EACF0D,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvBC,UAAU,CAAC,QAAQ,CACnBT,KAAK,CAAC,MAAM,CAAAM,QAAA,cAEZ1C,IAAA,CAACf,GAAG,EAAC0D,OAAO,CAAC,MAAM,CAACG,CAAC,CAAC,qBAAqB,CAACV,KAAK,CAAC,OAAO,CAAAM,QAAA,cACvDxC,KAAA,CAACjB,GAAG,EACF0D,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,eAAe,CAC9BC,UAAU,CAAC,QAAQ,CACnBE,aAAa,CAAC,MAAM,CAAAL,QAAA,eAEpB1C,IAAA,CAACf,GAAG,EACF+D,SAAS,CAAC,KAAK,CACfC,GAAG,CAAC,SAAS,CACbC,GAAG,CAAEpD,IAAK,CACVqD,MAAM,CAAC,MAAM,CACbf,KAAK,CAAC,MAAM,CACZgB,YAAY,CAAC,KAAK,CAClBlB,EAAE,CAAE,CAAEmB,SAAS,CAAE,OAAO,CAAEC,EAAE,CAAE,GAAI,CAAE,CACrC,CAAC,cACFtD,IAAA,CAACf,GAAG,EAACsE,SAAS,CAAC,MAAM,CAAAb,QAAA,cACnB1C,IAAA,CAACR,UAAU,EAACgE,UAAU,CAAC,MAAM,CAACC,QAAQ,CAAC,QAAQ,CAAAf,QAAA,CAC5C,YAAY,CACH,CAAC,CACV,CAAC,EACH,CAAC,CACH,CAAC,CACH,CAAC,cAEN1C,IAAA,CAACf,GAAG,EAAAyD,QAAA,cACFxC,KAAA,CAACjB,GAAG,EAACmD,KAAK,CAAC,MAAM,CAAAM,QAAA,eACf1C,IAAA,CAACf,GAAG,EAAC6D,CAAC,CAAC,uBAAuB,CAAM,CAAC,cACrC9C,IAAA,CAACb,IAAI,EAAAuD,QAAA,CACFvC,QAAQ,CAACuD,GAAG,CAAC,SAAAC,IAAA,CAAoB,IAAjB,CAAAvD,IAAI,CAAAuD,IAAA,CAAJvD,IAAI,CAAEN,IAAI,CAAA6D,IAAA,CAAJ7D,IAAI,CACzB,GAAI,CAACA,IAAI,CAAE,CACT,mBACEE,IAAA,CAACR,UAAU,EAAY0C,EAAE,CAAE,CAAEY,CAAC,CAAE,qBAAsB,CAAE,CAAAJ,QAAA,CACrDtC,IAAI,EADUA,IAEL,CAAC,CAEjB,CAEA,GAAM,CAAAwD,IAAI,CAAGxD,IAAI,CAACyD,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,GAAG,CAAE,GAAG,CAAC,CAEjD,mBACE9D,IAAA,CAACZ,QAAQ,EAAAsD,QAAA,cACPxC,KAAA,CAACb,cAAc,EACb0E,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAIH,IAAI,GAAK,YAAY,CAAE,CACzBxC,MAAM,CAAC4C,IAAI,CACT,wCAAwC,CACxC,QAAQ,CACR,YACF,CAAC,CACH,CAAC,IAAM,IAAIJ,IAAI,GAAK,cAAc,CAAE,CAClCK,cAAc,CAACC,OAAO,CAAC,WAAW,CAAE,mBAAmB,CAAC,CACxDpD,QAAQ,CAAC,mBAAmB,CAAC,CAC7BD,SAAS,CAAC+C,IAAI,CAAC,CACfO,OAAO,CAACC,GAAG,CAACxD,MAAM,CAAC,CACrB,CAAC,IAAM,IAAIgD,IAAI,GAAK,qBAAqB,CAAE,CACzC9C,QAAQ,CAAC,eAAe,CAAC,CACzBD,SAAS,CAAC+C,IAAI,CAAC,CACjB,CAAC,IAAM,IAAIA,IAAI,GAAK,gBAAgB,CAAE,CACpC9C,QAAQ,CAAC,qBAAqB,CAAC,CAC/BmD,cAAc,CAACC,OAAO,CACpB,kBAAkB,CAClB,qBACF,CAAC,CACDrD,SAAS,CAAC+C,IAAI,CAAC,CACfO,OAAO,CAACC,GAAG,CAACxD,MAAM,CAAC,CACrB,CAAC,IAAM,IAAIgD,IAAI,GAAK,gBAAgB,CAAE,CACpCK,cAAc,CAACC,OAAO,CACpB,mBAAmB,CACnB,qBACF,CAAC,CACDpD,QAAQ,CAAC,qBAAqB,CAAC,CAC/BD,SAAS,CAAC+C,IAAI,CAAC,CACfO,OAAO,CAACC,GAAG,CAACxD,MAAM,CAAC,CACrB,CAAC,IAAM,CACLE,QAAQ,KAAAE,MAAA,CAAK4C,IAAI,CAAE,CAAC,CACpB/C,SAAS,CAAC+C,IAAI,CAAC,CACfO,OAAO,CAACC,GAAG,CAACxD,MAAM,CAAC,CACrB,CACF,CAAE,CAAA8B,QAAA,eAEF1C,IAAA,CAACV,YAAY,EACX4C,EAAE,CAAE,CACFmC,EAAE,CAAE,MACN,CAAE,CAAA3B,QAAA,CAED5C,IAAI,CACO,CAAC,cACfE,IAAA,CAACT,YAAY,EAAC+E,OAAO,CAAElE,IAAK,CAAE,CAAC,cAC/BJ,IAAA,CAACpB,oBAAoB,EAACsD,EAAE,CAAE,CAAEmC,EAAE,CAAE,MAAO,CAAE,CAAE,CAAC,EAC9B,CAAC,EAjDJjE,IAkDL,CAAC,CAEf,CAAC,CAAC,CACE,CAAC,EACJ,CAAC,CACH,CAAC,EACA,CAAC,CAEb,CAAC,CAED,cAAe,CAAAC,QAAQ"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"ast":null,"code":"import{Navigate,useRoutes}from'react-router-dom';import Layout from'../scenes/_layout';import ClusterInfo from'../scenes/cluster_info';import LaunchModel from'../scenes/launch_model';import Login from'../scenes/login/login';import RegisterModel from'../scenes/register_model';import RunningModels from'../scenes/running_models';import{jsx as _jsx}from\"react/jsx-runtime\";var routes=[{path:'/',element:/*#__PURE__*/_jsx(Layout,{}),children:[{path:'/',element:/*#__PURE__*/_jsx(Navigate,{to:\"launch_model/llm\",replace:true})},{path:'launch_model/:Modeltype/:subType?',element:/*#__PURE__*/_jsx(LaunchModel,{})},{path:'running_models/:runningModelType',element:/*#__PURE__*/_jsx(RunningModels,{})},{path:'register_model',element:/*#__PURE__*/_jsx(RegisterModel,{})},{path:'cluster_info',element:/*#__PURE__*/_jsx(ClusterInfo,{})}]},{path:'/login',element:/*#__PURE__*/_jsx(Login,{})},{path:'*',element:/*#__PURE__*/_jsx(Navigate,{to:\"launch_model/llm\",replace:true})}];var WraperRoutes=function WraperRoutes(){var element=useRoutes(routes);return element;};export default WraperRoutes;","map":{"version":3,"names":["Navigate","useRoutes","Layout","ClusterInfo","LaunchModel","Login","RegisterModel","RunningModels","jsx","_jsx","routes","path","element","children","to","replace","WraperRoutes"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/router/index.js"],"sourcesContent":["import { Navigate, useRoutes } from 'react-router-dom'\n\nimport Layout from '../scenes/_layout'\nimport ClusterInfo from '../scenes/cluster_info'\nimport LaunchModel from '../scenes/launch_model'\nimport Login from '../scenes/login/login'\nimport RegisterModel from '../scenes/register_model'\nimport RunningModels from '../scenes/running_models'\n\nconst routes = [\n {\n path: '/',\n element: <Layout />,\n children: [\n {\n path: '/',\n element: <Navigate to=\"launch_model/llm\" replace />,\n },\n {\n path: 'launch_model/:Modeltype/:subType?',\n element: <LaunchModel />,\n },\n {\n path: 'running_models/:runningModelType',\n element: <RunningModels />,\n },\n {\n path: 'register_model',\n element: <RegisterModel />,\n },\n {\n path: 'cluster_info',\n element: <ClusterInfo />,\n },\n ],\n },\n {\n path: '/login',\n element: <Login />,\n },\n {\n path: '*',\n element: <Navigate to=\"launch_model/llm\" replace />,\n },\n]\nconst WraperRoutes = () => {\n let element = useRoutes(routes)\n return element\n}\n\nexport default WraperRoutes\n"],"mappings":"AAAA,OAASA,QAAQ,CAAEC,SAAS,KAAQ,kBAAkB,CAEtD,MAAO,CAAAC,MAAM,KAAM,mBAAmB,CACtC,MAAO,CAAAC,WAAW,KAAM,wBAAwB,CAChD,MAAO,CAAAC,WAAW,KAAM,wBAAwB,CAChD,MAAO,CAAAC,KAAK,KAAM,uBAAuB,CACzC,MAAO,CAAAC,aAAa,KAAM,0BAA0B,CACpD,MAAO,CAAAC,aAAa,KAAM,0BAA0B,QAAAC,GAAA,IAAAC,IAAA,yBAEpD,GAAM,CAAAC,MAAM,CAAG,CACb,CACEC,IAAI,CAAE,GAAG,CACTC,OAAO,cAAEH,IAAA,CAACP,MAAM,GAAE,CAAC,CACnBW,QAAQ,CAAE,CACR,CACEF,IAAI,CAAE,GAAG,CACTC,OAAO,cAAEH,IAAA,CAACT,QAAQ,EAACc,EAAE,CAAC,kBAAkB,CAACC,OAAO,MAAE,CACpD,CAAC,CACD,CACEJ,IAAI,CAAE,mCAAmC,CACzCC,OAAO,cAAEH,IAAA,CAACL,WAAW,GAAE,CACzB,CAAC,CACD,CACEO,IAAI,CAAE,kCAAkC,CACxCC,OAAO,cAAEH,IAAA,CAACF,aAAa,GAAE,CAC3B,CAAC,CACD,CACEI,IAAI,CAAE,
|
|
1
|
+
{"ast":null,"code":"import{Navigate,useRoutes}from'react-router-dom';import Layout from'../scenes/_layout';import ClusterInfo from'../scenes/cluster_info';import LaunchModel from'../scenes/launch_model';import Login from'../scenes/login/login';import RegisterModel from'../scenes/register_model';import RunningModels from'../scenes/running_models';import{jsx as _jsx}from\"react/jsx-runtime\";var routes=[{path:'/',element:/*#__PURE__*/_jsx(Layout,{}),children:[{path:'/',element:/*#__PURE__*/_jsx(Navigate,{to:\"launch_model/llm\",replace:true})},{path:'launch_model/:Modeltype/:subType?',element:/*#__PURE__*/_jsx(LaunchModel,{})},{path:'running_models/:runningModelType',element:/*#__PURE__*/_jsx(RunningModels,{})},{path:'register_model/:registerModelType/:model_name?',element:/*#__PURE__*/_jsx(RegisterModel,{})},{path:'cluster_info',element:/*#__PURE__*/_jsx(ClusterInfo,{})}]},{path:'/login',element:/*#__PURE__*/_jsx(Login,{})},{path:'*',element:/*#__PURE__*/_jsx(Navigate,{to:\"launch_model/llm\",replace:true})}];var WraperRoutes=function WraperRoutes(){var element=useRoutes(routes);return element;};export default WraperRoutes;","map":{"version":3,"names":["Navigate","useRoutes","Layout","ClusterInfo","LaunchModel","Login","RegisterModel","RunningModels","jsx","_jsx","routes","path","element","children","to","replace","WraperRoutes"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/router/index.js"],"sourcesContent":["import { Navigate, useRoutes } from 'react-router-dom'\n\nimport Layout from '../scenes/_layout'\nimport ClusterInfo from '../scenes/cluster_info'\nimport LaunchModel from '../scenes/launch_model'\nimport Login from '../scenes/login/login'\nimport RegisterModel from '../scenes/register_model'\nimport RunningModels from '../scenes/running_models'\n\nconst routes = [\n {\n path: '/',\n element: <Layout />,\n children: [\n {\n path: '/',\n element: <Navigate to=\"launch_model/llm\" replace />,\n },\n {\n path: 'launch_model/:Modeltype/:subType?',\n element: <LaunchModel />,\n },\n {\n path: 'running_models/:runningModelType',\n element: <RunningModels />,\n },\n {\n path: 'register_model/:registerModelType/:model_name?',\n element: <RegisterModel />,\n },\n {\n path: 'cluster_info',\n element: <ClusterInfo />,\n },\n ],\n },\n {\n path: '/login',\n element: <Login />,\n },\n {\n path: '*',\n element: <Navigate to=\"launch_model/llm\" replace />,\n },\n]\nconst WraperRoutes = () => {\n let element = useRoutes(routes)\n return element\n}\n\nexport default WraperRoutes\n"],"mappings":"AAAA,OAASA,QAAQ,CAAEC,SAAS,KAAQ,kBAAkB,CAEtD,MAAO,CAAAC,MAAM,KAAM,mBAAmB,CACtC,MAAO,CAAAC,WAAW,KAAM,wBAAwB,CAChD,MAAO,CAAAC,WAAW,KAAM,wBAAwB,CAChD,MAAO,CAAAC,KAAK,KAAM,uBAAuB,CACzC,MAAO,CAAAC,aAAa,KAAM,0BAA0B,CACpD,MAAO,CAAAC,aAAa,KAAM,0BAA0B,QAAAC,GAAA,IAAAC,IAAA,yBAEpD,GAAM,CAAAC,MAAM,CAAG,CACb,CACEC,IAAI,CAAE,GAAG,CACTC,OAAO,cAAEH,IAAA,CAACP,MAAM,GAAE,CAAC,CACnBW,QAAQ,CAAE,CACR,CACEF,IAAI,CAAE,GAAG,CACTC,OAAO,cAAEH,IAAA,CAACT,QAAQ,EAACc,EAAE,CAAC,kBAAkB,CAACC,OAAO,MAAE,CACpD,CAAC,CACD,CACEJ,IAAI,CAAE,mCAAmC,CACzCC,OAAO,cAAEH,IAAA,CAACL,WAAW,GAAE,CACzB,CAAC,CACD,CACEO,IAAI,CAAE,kCAAkC,CACxCC,OAAO,cAAEH,IAAA,CAACF,aAAa,GAAE,CAC3B,CAAC,CACD,CACEI,IAAI,CAAE,gDAAgD,CACtDC,OAAO,cAAEH,IAAA,CAACH,aAAa,GAAE,CAC3B,CAAC,CACD,CACEK,IAAI,CAAE,cAAc,CACpBC,OAAO,cAAEH,IAAA,CAACN,WAAW,GAAE,CACzB,CAAC,CAEL,CAAC,CACD,CACEQ,IAAI,CAAE,QAAQ,CACdC,OAAO,cAAEH,IAAA,CAACJ,KAAK,GAAE,CACnB,CAAC,CACD,CACEM,IAAI,CAAE,GAAG,CACTC,OAAO,cAAEH,IAAA,CAACT,QAAQ,EAACc,EAAE,CAAC,kBAAkB,CAACC,OAAO,MAAE,CACpD,CAAC,CACF,CACD,GAAM,CAAAC,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAA,CAAS,CACzB,GAAI,CAAAJ,OAAO,CAAGX,SAAS,CAACS,MAAM,CAAC,CAC/B,MAAO,CAAAE,OAAO,CAChB,CAAC,CAED,cAAe,CAAAI,YAAY"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"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{Box,FormControl,InputLabel,MenuItem,Select}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{useCookies}from'react-cookie';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';import HotkeyFocusTextField from'../../components/hotkeyFocusTextField';import ModelCard from'./modelCard';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var LaunchLLM=function LaunchLLM(_ref){var gpuAvailable=_ref.gpuAvailable;var endPoint=useContext(ApiContext).endPoint;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 _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var _useState=useState([]),_useState2=_slicedToArray(_useState,2),registrationData=_useState2[0],setRegistrationData=_useState2[1];// States used for filtering\nvar _useState3=useState(''),_useState4=_slicedToArray(_useState3,2),searchTerm=_useState4[0],setSearchTerm=_useState4[1];var _useState5=useState('all'),_useState6=_slicedToArray(_useState5,2),modelAbility=_useState6[0],setModelAbility=_useState6[1];var _useState7=useState('all'),_useState8=_slicedToArray(_useState7,2),status=_useState8[0],setStatus=_useState8[1];var _useState9=useState([]),_useState10=_slicedToArray(_useState9,2),completeDeleteArr=_useState10[0],setCompleteDeleteArr=_useState10[1];var filter=function filter(registration){if(searchTerm!==''){if(!registration||typeof searchTerm!=='string')return false;var modelName=registration.model_name?registration.model_name.toLowerCase():'';var modelDescription=registration.model_description?registration.model_description.toLowerCase():'';if(!modelName.includes(searchTerm.toLowerCase())&&!modelDescription.includes(searchTerm.toLowerCase())){return false;}}if(modelAbility!=='all'&®istration.model_ability.indexOf(modelAbility)<0)return false;if(completeDeleteArr.includes(registration.model_name)){registration.model_specs.forEach(function(item){item.cache_status=Array.isArray(item)?[false]:false;});}if(status!=='all'){var judge=registration.model_specs.some(function(spec){return filterCache(spec);});return judge&&!completeDeleteArr.includes(registration.model_name);}return true;};var filterCache=function filterCache(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;});}};var handleCompleteDelete=function handleCompleteDelete(model_name){setCompleteDeleteArr([].concat(_toConsumableArray(completeDeleteArr),[model_name]));};var update=function update(){if(isCallingApi||isUpdatingModel||cookie.token!=='no_auth'&&!sessionStorage.getItem('token'))return;try{setIsCallingApi(true);fetcher(\"\".concat(endPoint,\"/v1/model_registrations/LLM?detailed=true\"),{method:'GET'}).then(function(response){if(!response.ok){response.json().then(function(errData){return setErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errData.detail||'Unknown error'));});}else{response.json().then(function(data){var builtinRegistrations=data.filter(function(v){return v.is_builtin;});setRegistrationData(builtinRegistrations);});}});}catch(error){console.error('Error:',error);}finally{setIsCallingApi(false);}};useEffect(function(){update();},[cookie.token]);var style={display:'grid',gridTemplateColumns:'repeat(auto-fill, minmax(300px, 1fr))',paddingLeft:'2rem',gridGap:'2rem 0rem'};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'grid',gridTemplateColumns:'150px 150px 1fr',columnGap:'20px',margin:'30px 2rem'},children:[/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",children:[/*#__PURE__*/_jsx(InputLabel,{id:\"ability-select-label\",children:\"Model Ability\"}),/*#__PURE__*/_jsxs(Select,{id:\"ability\",labelId:\"ability-select-label\",label:\"Model Ability\",onChange:function onChange(e){return setModelAbility(e.target.value);},value:modelAbility,size:\"small\",sx:{width:'150px'},children:[/*#__PURE__*/_jsx(MenuItem,{value:\"all\",children:\"all\"}),/*#__PURE__*/_jsx(MenuItem,{value:\"generate\",children:\"generate\"}),/*#__PURE__*/_jsx(MenuItem,{value:\"chat\",children:\"chat\"}),/*#__PURE__*/_jsx(MenuItem,{value:\"vision\",children:\"vl-chat\"})]})]}),/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",children:[/*#__PURE__*/_jsx(InputLabel,{id:\"select-status\",children:\"Status\"}),/*#__PURE__*/_jsxs(Select,{id:\"status\",labelId:\"select-status\",label:\"Status\",onChange:function onChange(e){return setStatus(e.target.value);},value:status,size:\"small\",sx:{width:'150px'},children:[/*#__PURE__*/_jsx(MenuItem,{value:\"all\",children:\"all\"}),/*#__PURE__*/_jsx(MenuItem,{value:\"cached\",children:\"cached\"})]})]}),/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",children:/*#__PURE__*/_jsx(HotkeyFocusTextField,{id:\"search\",type:\"search\",label:\"Search for model name and description\",value:searchTerm,onChange:function onChange(e){return setSearchTerm(e.target.value);},size:\"small\",hotkey:\"/\"})})]}),/*#__PURE__*/_jsx(\"div\",{style:style,children:registrationData.filter(function(registration){return filter(registration);}).map(function(filteredRegistration){return/*#__PURE__*/_jsx(ModelCard,{url:endPoint,modelData:filteredRegistration,gpuAvailable:gpuAvailable,modelType:'LLM',onHandleCompleteDelete:handleCompleteDelete},filteredRegistration.model_name);})})]});};export default LaunchLLM;","map":{"version":3,"names":["Box","FormControl","InputLabel","MenuItem","Select","React","useContext","useEffect","useState","useCookies","ApiContext","fetcher","HotkeyFocusTextField","ModelCard","jsx","_jsx","jsxs","_jsxs","LaunchLLM","_ref","gpuAvailable","endPoint","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","_useCookies","_useCookies2","_slicedToArray","cookie","_useState","_useState2","registrationData","setRegistrationData","_useState3","_useState4","searchTerm","setSearchTerm","_useState5","_useState6","modelAbility","setModelAbility","_useState7","_useState8","status","setStatus","_useState9","_useState10","completeDeleteArr","setCompleteDeleteArr","filter","registration","modelName","model_name","toLowerCase","modelDescription","model_description","includes","model_ability","indexOf","model_specs","forEach","item","cache_status","Array","isArray","judge","some","spec","filterCache","model_format","cs","handleCompleteDelete","concat","_toConsumableArray","update","token","sessionStorage","getItem","method","then","response","ok","json","errData","detail","data","builtinRegistrations","v","is_builtin","error","console","style","display","gridTemplateColumns","paddingLeft","gridGap","m","children","columnGap","margin","variant","id","labelId","label","onChange","e","target","value","size","sx","width","type","hotkey","map","filteredRegistration","url","modelData","modelType","onHandleCompleteDelete"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/launchLLM.js"],"sourcesContent":["import { Box, FormControl, InputLabel, MenuItem, Select } from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useCookies } from 'react-cookie'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetcher from '../../components/fetcher'\nimport HotkeyFocusTextField from '../../components/hotkeyFocusTextField'\nimport ModelCard from './modelCard'\n\nconst LaunchLLM = ({ gpuAvailable }) => {\n let endPoint = useContext(ApiContext).endPoint\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n const [cookie] = useCookies(['token'])\n\n const [registrationData, setRegistrationData] = useState([])\n // States used for filtering\n const [searchTerm, setSearchTerm] = useState('')\n const [modelAbility, setModelAbility] = useState('all')\n const [status, setStatus] = useState('all')\n const [completeDeleteArr, setCompleteDeleteArr] = useState([])\n\n const filter = (registration) => {\n if (searchTerm !== '') {\n if (!registration || typeof searchTerm !== 'string') return false\n const modelName = registration.model_name\n ? registration.model_name.toLowerCase()\n : ''\n const modelDescription = registration.model_description\n ? registration.model_description.toLowerCase()\n : ''\n\n if (\n !modelName.includes(searchTerm.toLowerCase()) &&\n !modelDescription.includes(searchTerm.toLowerCase())\n ) {\n return false\n }\n }\n\n if (\n modelAbility !== 'all' &&\n registration.model_ability.indexOf(modelAbility) < 0\n )\n return false\n\n if (completeDeleteArr.includes(registration.model_name)) {\n registration.model_specs.forEach((item) => {\n item.cache_status = Array.isArray(item) ? [false] : false\n })\n }\n if (status !== 'all') {\n const judge = registration.model_specs.some((spec) => filterCache(spec))\n return judge && !completeDeleteArr.includes(registration.model_name)\n }\n\n return true\n }\n\n const filterCache = (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 const handleCompleteDelete = (model_name) => {\n setCompleteDeleteArr([...completeDeleteArr, model_name])\n }\n\n const update = () => {\n if (\n isCallingApi ||\n isUpdatingModel ||\n (cookie.token !== 'no_auth' && !sessionStorage.getItem('token'))\n )\n return\n\n try {\n setIsCallingApi(true)\n\n fetcher(`${endPoint}/v1/model_registrations/LLM?detailed=true`, {\n method: 'GET',\n }).then((response) => {\n if (!response.ok) {\n response\n .json()\n .then((errData) =>\n setErrorMsg(\n `Server error: ${response.status} - ${\n errData.detail || 'Unknown error'\n }`\n )\n )\n } else {\n response.json().then((data) => {\n const builtinRegistrations = data.filter((v) => v.is_builtin)\n setRegistrationData(builtinRegistrations)\n })\n }\n })\n } catch (error) {\n console.error('Error:', error)\n } finally {\n setIsCallingApi(false)\n }\n }\n\n useEffect(() => {\n update()\n }, [cookie.token])\n\n const style = {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))',\n paddingLeft: '2rem',\n gridGap: '2rem 0rem',\n }\n\n return (\n <Box m=\"20px\">\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: '150px 150px 1fr',\n columnGap: '20px',\n margin: '30px 2rem',\n }}\n >\n <FormControl variant=\"outlined\" margin=\"normal\">\n <InputLabel id=\"ability-select-label\">Model Ability</InputLabel>\n <Select\n id=\"ability\"\n labelId=\"ability-select-label\"\n label=\"Model Ability\"\n onChange={(e) => setModelAbility(e.target.value)}\n value={modelAbility}\n size=\"small\"\n sx={{ width: '150px' }}\n >\n <MenuItem value=\"all\">all</MenuItem>\n <MenuItem value=\"generate\">generate</MenuItem>\n <MenuItem value=\"chat\">chat</MenuItem>\n <MenuItem value=\"vision\">vl-chat</MenuItem>\n </Select>\n </FormControl>\n <FormControl variant=\"outlined\" margin=\"normal\">\n <InputLabel id=\"select-status\">Status</InputLabel>\n <Select\n id=\"status\"\n labelId=\"select-status\"\n label=\"Status\"\n onChange={(e) => setStatus(e.target.value)}\n value={status}\n size=\"small\"\n sx={{ width: '150px' }}\n >\n <MenuItem value=\"all\">all</MenuItem>\n <MenuItem value=\"cached\">cached</MenuItem>\n </Select>\n </FormControl>\n <FormControl variant=\"outlined\" margin=\"normal\">\n <HotkeyFocusTextField\n id=\"search\"\n type=\"search\"\n label=\"Search for model name and description\"\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n size=\"small\"\n hotkey=\"/\"\n />\n </FormControl>\n </div>\n <div style={style}>\n {registrationData\n .filter((registration) => filter(registration))\n .map((filteredRegistration) => (\n <ModelCard\n key={filteredRegistration.model_name}\n url={endPoint}\n modelData={filteredRegistration}\n gpuAvailable={gpuAvailable}\n modelType={'LLM'}\n onHandleCompleteDelete={handleCompleteDelete}\n />\n ))}\n </div>\n </Box>\n )\n}\n\nexport default LaunchLLM\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _asyncToGenerator from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{TabContext,TabList,TabPanel}from'@mui/lab';import{Box,FormControl,Tab}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';import HotkeyFocusTextField from'../../components/hotkeyFocusTextField';import ModelCard from'./modelCard';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var customType=['llm','embedding','rerank','image','audio'];var LaunchCustom=function LaunchCustom(_ref){var gpuAvailable=_ref.gpuAvailable;var endPoint=useContext(ApiContext).endPoint;var _useState=useState([]),_useState2=_slicedToArray(_useState,2),registrationData=_useState2[0],setRegistrationData=_useState2[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;// States used for filtering\nvar _useState3=useState(''),_useState4=_slicedToArray(_useState3,2),searchTerm=_useState4[0],setSearchTerm=_useState4[1];var _useState5=useState(sessionStorage.getItem('subType')),_useState6=_slicedToArray(_useState5,2),value=_useState6[0],setValue=_useState6[1];var navigate=useNavigate();var handleTabChange=function handleTabChange(_,newValue){var type=newValue.split('/')[3]==='llm'?'LLM':newValue.split('/')[3];getData(type);setValue(newValue);navigate(newValue);sessionStorage.setItem('subType',newValue);};var handleSearchChange=function handleSearchChange(event){setSearchTerm(event.target.value);};var filter=function filter(registration){if(!registration||typeof searchTerm!=='string')return false;var modelName=registration.model_name?registration.model_name.toLowerCase():'';return modelName.includes(searchTerm.toLowerCase());};useEffect(function(){var type=sessionStorage.getItem('subType').split('/')[3];getData(type==='llm'?'LLM':type);},[]);var getData=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(type){var response,registrations,customRegistrations,newData;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(isCallingApi||isUpdatingModel)){_context2.next=2;break;}return _context2.abrupt(\"return\");case 2:_context2.prev=2;setIsCallingApi(true);_context2.next=6;return fetcher(\"\".concat(endPoint,\"/v1/model_registrations/\").concat(type),{method:'GET'});case 6:response=_context2.sent;_context2.next=9;return response.json();case 9:registrations=_context2.sent;customRegistrations=registrations.filter(function(data){return!data.is_builtin;});_context2.next=13;return Promise.all(customRegistrations.map(/*#__PURE__*/function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(registration){var desc;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetcher(\"\".concat(endPoint,\"/v1/model_registrations/\").concat(type,\"/\").concat(registration.model_name),{method:'GET'});case 2:desc=_context.sent;_context.t0=_objectSpread;_context.t1=_objectSpread;_context.t2={};_context.next=8;return desc.json();case 8:_context.t3=_context.sent;_context.t4=(0,_context.t1)(_context.t2,_context.t3);_context.t5={};_context.t6={is_builtin:registration.is_builtin};return _context.abrupt(\"return\",(0,_context.t0)(_context.t4,_context.t5,_context.t6));case 13:case\"end\":return _context.stop();}},_callee);}));return function(_x2){return _ref3.apply(this,arguments);};}()));case 13:newData=_context2.sent;setRegistrationData(newData);_context2.next=20;break;case 17:_context2.prev=17;_context2.t0=_context2[\"catch\"](2);console.error('Error:',_context2.t0);case 20:_context2.prev=20;setIsCallingApi(false);return _context2.finish(20);case 23:case\"end\":return _context2.stop();}},_callee2,null,[[2,17,20,23]]);}));return function getData(_x){return _ref2.apply(this,arguments);};}();var handlecustomDelete=function handlecustomDelete(model_name){setRegistrationData(registrationData.filter(function(item){return item.model_name!==model_name;}));};var style={display:'grid',gridTemplateColumns:'repeat(auto-fill, minmax(300px, 1fr))',paddingLeft:'2rem',paddingBottom:'2rem',gridGap:'2rem 0rem'};return/*#__PURE__*/_jsx(Box,{m:\"20px\",children:/*#__PURE__*/_jsxs(TabContext,{value:value,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsxs(TabList,{value:value,onChange:handleTabChange,\"aria-label\":\"tabs\",children:[/*#__PURE__*/_jsx(Tab,{label:\"Language Models\",value:\"/launch_model/custom/llm\"}),/*#__PURE__*/_jsx(Tab,{label:\"Embedding Models\",value:\"/launch_model/custom/embedding\"}),/*#__PURE__*/_jsx(Tab,{label:\"Rerank Models\",value:\"/launch_model/custom/rerank\"}),/*#__PURE__*/_jsx(Tab,{label:\"Image Models\",value:\"/launch_model/custom/image\"}),/*#__PURE__*/_jsx(Tab,{label:\"Audio Models\",value:\"/launch_model/custom/audio\"})]})}),customType.map(function(item){return/*#__PURE__*/_jsxs(TabPanel,{value:\"/launch_model/custom/\".concat(item),sx:{padding:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:'grid',gridTemplateColumns:'1fr',margin:'30px 2rem'},children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",children:/*#__PURE__*/_jsx(HotkeyFocusTextField,{id:\"search\",type:\"search\",label:\"Search for custom model name\",value:searchTerm,onChange:handleSearchChange,size:\"small\",hotkey:\"/\"})})}),/*#__PURE__*/_jsx(\"div\",{style:style,children:registrationData.filter(function(registration){return filter(registration);}).map(function(filteredRegistration){return/*#__PURE__*/_jsx(ModelCard,{url:endPoint,modelData:filteredRegistration,gpuAvailable:gpuAvailable,is_custom:true,modelType:item==='llm'?'LLM':item,onHandlecustomDelete:handlecustomDelete},filteredRegistration.model_name);})})]},item);})]})});};export default LaunchCustom;","map":{"version":3,"names":["TabContext","TabList","TabPanel","Box","FormControl","Tab","React","useContext","useEffect","useState","useNavigate","ApiContext","fetcher","HotkeyFocusTextField","ModelCard","jsx","_jsx","jsxs","_jsxs","customType","LaunchCustom","_ref","gpuAvailable","endPoint","_useState","_useState2","_slicedToArray","registrationData","setRegistrationData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useState3","_useState4","searchTerm","setSearchTerm","_useState5","sessionStorage","getItem","_useState6","value","setValue","navigate","handleTabChange","_","newValue","type","split","getData","setItem","handleSearchChange","event","target","filter","registration","modelName","model_name","toLowerCase","includes","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","response","registrations","customRegistrations","newData","wrap","_callee2$","_context2","prev","next","abrupt","concat","method","sent","json","data","is_builtin","Promise","all","map","_ref3","_callee","desc","_callee$","_context","t0","_objectSpread","t1","t2","t3","t4","t5","t6","stop","_x2","apply","arguments","console","error","finish","_x","handlecustomDelete","item","style","display","gridTemplateColumns","paddingLeft","paddingBottom","gridGap","m","children","sx","borderBottom","borderColor","onChange","label","padding","margin","variant","id","size","hotkey","filteredRegistration","url","modelData","is_custom","modelType","onHandlecustomDelete"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/launchCustom.js"],"sourcesContent":["import { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, FormControl, Tab } from '@mui/material'\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 HotkeyFocusTextField from '../../components/hotkeyFocusTextField'\nimport ModelCard from './modelCard'\n\nconst customType = ['llm', 'embedding', 'rerank', 'image', 'audio']\n\nconst LaunchCustom = ({ gpuAvailable }) => {\n let endPoint = useContext(ApiContext).endPoint\n const [registrationData, setRegistrationData] = useState([])\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n\n // States used for filtering\n const [searchTerm, setSearchTerm] = useState('')\n const [value, setValue] = useState(sessionStorage.getItem('subType'))\n\n const navigate = useNavigate()\n const handleTabChange = (_, newValue) => {\n const type =\n newValue.split('/')[3] === 'llm' ? 'LLM' : newValue.split('/')[3]\n getData(type)\n setValue(newValue)\n navigate(newValue)\n sessionStorage.setItem('subType', newValue)\n }\n\n const handleSearchChange = (event) => {\n setSearchTerm(event.target.value)\n }\n\n const filter = (registration) => {\n if (!registration || typeof searchTerm !== 'string') return false\n const modelName = registration.model_name\n ? registration.model_name.toLowerCase()\n : ''\n return modelName.includes(searchTerm.toLowerCase())\n }\n\n useEffect(() => {\n const type = sessionStorage.getItem('subType').split('/')[3]\n getData(type === 'llm' ? 'LLM' : type)\n }, [])\n\n const getData = async (type) => {\n if (isCallingApi || isUpdatingModel) return\n try {\n setIsCallingApi(true)\n const response = await fetcher(\n `${endPoint}/v1/model_registrations/${type}`,\n {\n method: 'GET',\n }\n )\n const registrations = await response.json()\n const customRegistrations = registrations.filter(\n (data) => !data.is_builtin\n )\n\n const newData = await Promise.all(\n customRegistrations.map(async (registration) => {\n const desc = await fetcher(\n `${endPoint}/v1/model_registrations/${type}/${registration.model_name}`,\n {\n method: 'GET',\n }\n )\n\n return {\n ...(await desc.json()),\n is_builtin: registration.is_builtin,\n }\n })\n )\n setRegistrationData(newData)\n } catch (error) {\n console.error('Error:', error)\n } finally {\n setIsCallingApi(false)\n }\n }\n\n const handlecustomDelete = (model_name) => {\n setRegistrationData(\n registrationData.filter((item) => {\n return item.model_name !== model_name\n })\n )\n }\n\n const style = {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))',\n paddingLeft: '2rem',\n paddingBottom: '2rem',\n gridGap: '2rem 0rem',\n }\n\n return (\n <Box m=\"20px\">\n <TabContext value={value}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList value={value} onChange={handleTabChange} aria-label=\"tabs\">\n <Tab label=\"Language Models\" value=\"/launch_model/custom/llm\" />\n <Tab\n label=\"Embedding Models\"\n value=\"/launch_model/custom/embedding\"\n />\n <Tab label=\"Rerank Models\" value=\"/launch_model/custom/rerank\" />\n <Tab label=\"Image Models\" value=\"/launch_model/custom/image\" />\n <Tab label=\"Audio Models\" value=\"/launch_model/custom/audio\" />\n </TabList>\n </Box>\n {customType.map((item) => (\n <TabPanel\n key={item}\n value={`/launch_model/custom/${item}`}\n sx={{ padding: 0 }}\n >\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: '1fr',\n margin: '30px 2rem',\n }}\n >\n <FormControl variant=\"outlined\" margin=\"normal\">\n <HotkeyFocusTextField\n id=\"search\"\n type=\"search\"\n label=\"Search for custom model name\"\n value={searchTerm}\n onChange={handleSearchChange}\n size=\"small\"\n hotkey=\"/\"\n />\n </FormControl>\n </div>\n <div style={style}>\n {registrationData\n .filter((registration) => filter(registration))\n .map((filteredRegistration) => (\n <ModelCard\n key={filteredRegistration.model_name}\n url={endPoint}\n modelData={filteredRegistration}\n gpuAvailable={gpuAvailable}\n is_custom={true}\n modelType={item === 'llm' ? 'LLM' : item}\n onHandlecustomDelete={handlecustomDelete}\n />\n ))}\n </div>\n </TabPanel>\n ))}\n </TabContext>\n </Box>\n )\n}\n\nexport default LaunchCustom\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|