xinference 0.7.0__py3-none-any.whl → 0.7.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of xinference might be problematic. Click here for more details.
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +4 -4
- xinference/deploy/utils.py +3 -1
- xinference/model/embedding/__init__.py +5 -1
- xinference/model/embedding/core.py +7 -7
- xinference/model/llm/ggml/chatglm.py +7 -5
- xinference/model/llm/llm_family.py +41 -15
- xinference/model/llm/pytorch/core.py +1 -0
- xinference/model/llm/pytorch/utils.py +3 -0
- xinference/model/llm/vllm/core.py +5 -1
- xinference/model/rerank/__init__.py +5 -1
- xinference/model/rerank/core.py +7 -6
- xinference/model/utils.py +13 -2
- xinference/web/ui/build/asset-manifest.json +3 -3
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/js/main.778615cc.js +3 -0
- xinference/web/ui/build/static/js/main.778615cc.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/35204b265d70210394b0a8571e5b01c8c0f9a748437b8a923961e3560ae3d550.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/483eb7e5f01e34c6a42ad7c64dad550ff945ee21053a52c2e5e7ebe108b85411.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/667753ce39ce1d4bcbf9a5f1a103d653be1d19d42f4e1fbaceb9b507679a52c7.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/6e63957e4e0801705c6cb258379bfda0007ce6c3ddd2e3b62898b68455c3edf4.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/8d2b0b3c6988d1894694dcbbe708ef91cfe62d62dac317031f09915ced637953.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/8d77975a2735d67a618407026e5325608ccd66f1b379a74faf35b4087db536f3.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/b374bf2be1eac3cff5e0a8528a8e816e266ece911f714c123110961798a93a3b.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/d8a42e9df7157de9f28eecefdf178fd113bf2280d28471b6e32a8a45276042df.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/ed010102f476cd1a22b49be031a7f94f2ab3dd7ba8bf58839a771d46e28ff559.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/fe653ca0ca4297b415c0be4013574870d0465a657ae0f3d3f5b66ef6a831390c.json +1 -0
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/METADATA +1 -1
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/RECORD +34 -34
- xinference/web/ui/build/static/js/main.8126d441.js +0 -3
- xinference/web/ui/build/static/js/main.8126d441.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/06eb9846159adb398d44df0b0debc256a9fd9e8171a7d68f5c4ee4d655acfa45.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/3bda436576ecb05f81f7b6ec475d1cfaf03e2b3066e3a75902fe6e8c4773b43b.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/48878f5178bad1a47757e011af41c974a7946efa29485506c4d19f25bf5d522d.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/59574eb63cfe9ed2e58d2f5a420e1ae54354e243a602e9bc73deae3147ed4f98.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/75a5abcbc92da335fdde530f5689194ec79a4b2345b8cba594f8904d3b88e3c6.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/84bfe7afede38da1f8ad569d891276fe4d66cfb87bf5c9ff7a113788ba62bb88.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/940ed05006583b955894e2b8f65a4a5ebf34f8149d747f59fae5131f17d65482.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/9c5f03db9aa88582a9b69b25c7f1acc78ba7fc61f743c9ed7399abb292d5dbde.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/c02e70e9b9efcf3bd056606308104308d6a6ac559f2bc0b4454c11fb5874457c.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/e610aefd7000a3f8542a25cb66c64671cc8da18350de4e5b577102ba4bb78d65.json +0 -1
- /xinference/web/ui/build/static/js/{main.8126d441.js.LICENSE.txt → main.778615cc.js.LICENSE.txt} +0 -0
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/LICENSE +0 -0
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/WHEEL +0 -0
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/entry_points.txt +0 -0
- {xinference-0.7.0.dist-info → xinference-0.7.1.dist-info}/top_level.txt +0 -0
|
@@ -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{Box,FormControl,TextField}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import EmbeddingCard from'./embeddingCard';import ModelCard from'./modelCard';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";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 handleChange=function handleChange(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());};var update=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var embeddingResponse,embeddingRegistrations,customEmbeddingRegistrations,llmResponse,llmRegistrations,customLLMRegistrations,newEmbeddingData,newLLMData;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!(isCallingApi||isUpdatingModel)){_context3.next=2;break;}return _context3.abrupt(\"return\");case 2:_context3.prev=2;setIsCallingApi(true);_context3.next=6;return fetch(\"\".concat(endPoint,\"/v1/model_registrations/embedding\"),{method:'GET'});case 6:embeddingResponse=_context3.sent;_context3.next=9;return embeddingResponse.json();case 9:embeddingRegistrations=_context3.sent;customEmbeddingRegistrations=embeddingRegistrations.filter(function(data){return!data.is_builtin;});_context3.next=13;return fetch(\"\".concat(endPoint,\"/v1/model_registrations/LLM\"),{method:'GET'});case 13:llmResponse=_context3.sent;_context3.next=16;return llmResponse.json();case 16:llmRegistrations=_context3.sent;customLLMRegistrations=llmRegistrations.filter(function(data){return!data.is_builtin;});_context3.next=20;return Promise.all(customEmbeddingRegistrations.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 fetch(\"\".concat(endPoint,\"/v1/model_registrations/embedding/\").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(_x){return _ref3.apply(this,arguments);};}()));case 20:newEmbeddingData=_context3.sent;_context3.next=23;return Promise.all(customLLMRegistrations.map(/*#__PURE__*/function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(registration){var desc;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return fetch(\"\".concat(endPoint,\"/v1/model_registrations/LLM/\").concat(registration.model_name),{method:'GET'});case 2:desc=_context2.sent;_context2.t0=_objectSpread;_context2.t1=_objectSpread;_context2.t2={};_context2.next=8;return desc.json();case 8:_context2.t3=_context2.sent;_context2.t4=(0,_context2.t1)(_context2.t2,_context2.t3);_context2.t5={};_context2.t6={is_builtin:registration.is_builtin};return _context2.abrupt(\"return\",(0,_context2.t0)(_context2.t4,_context2.t5,_context2.t6));case 13:case\"end\":return _context2.stop();}},_callee2);}));return function(_x2){return _ref4.apply(this,arguments);};}()));case 23:newLLMData=_context3.sent;setRegistrationData(newLLMData.concat(newEmbeddingData));_context3.next=30;break;case 27:_context3.prev=27;_context3.t0=_context3[\"catch\"](2);console.error('Error:',_context3.t0);case 30:_context3.prev=30;setIsCallingApi(false);return _context3.finish(30);case 33:case\"end\":return _context3.stop();}},_callee3,null,[[2,27,30,33]]);}));return function update(){return _ref2.apply(this,arguments);};}();useEffect(function(){update();},[]);var style={display:'grid',gridTemplateColumns:'repeat(auto-fill, minmax(300px, 1fr))',paddingLeft:'2rem',gridGap:'2rem 0rem'};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsx(\"div\",{style:{display:'grid',gridTemplateColumns:'1fr',margin:'30px 2rem'},children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",children:/*#__PURE__*/_jsx(TextField,{id:\"search\",type:\"search\",label:\"Search for custom model name\",value:searchTerm,onChange:handleChange,size:\"small\"})})}),/*#__PURE__*/_jsx(\"div\",{style:style,children:registrationData.filter(function(registration){return filter(registration);}).map(function(filteredRegistration){if(filteredRegistration.max_tokens&&filteredRegistration.dimensions){return/*#__PURE__*/_jsx(EmbeddingCard,{url:endPoint,modelData:filteredRegistration,cardHeight:380,is_custom:true});}else{return/*#__PURE__*/_jsx(ModelCard,{url:endPoint,modelData:filteredRegistration,gpuAvailable:gpuAvailable,is_custom:true});}})})]});};export default LaunchCustom;","map":{"version":3,"names":["Box","FormControl","TextField","React","useContext","useEffect","useState","ApiContext","EmbeddingCard","ModelCard","jsx","_jsx","jsxs","_jsxs","LaunchCustom","_ref","gpuAvailable","endPoint","_useState","_useState2","_slicedToArray","registrationData","setRegistrationData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useState3","_useState4","searchTerm","setSearchTerm","handleChange","event","target","value","filter","registration","modelName","model_name","toLowerCase","includes","update","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","embeddingResponse","embeddingRegistrations","customEmbeddingRegistrations","llmResponse","llmRegistrations","customLLMRegistrations","newEmbeddingData","newLLMData","wrap","_callee3$","_context3","prev","next","abrupt","fetch","concat","method","sent","json","data","is_builtin","Promise","all","map","_ref3","_callee","desc","_callee$","_context","t0","_objectSpread","t1","t2","t3","t4","t5","t6","stop","_x","apply","arguments","_ref4","_callee2","_callee2$","_context2","_x2","console","error","finish","style","display","gridTemplateColumns","paddingLeft","gridGap","m","children","margin","variant","id","type","label","onChange","size","filteredRegistration","max_tokens","dimensions","url","modelData","cardHeight","is_custom"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/launchCustom.js"],"sourcesContent":["import { Box, FormControl, TextField } from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport EmbeddingCard from './embeddingCard'\nimport ModelCard from './modelCard'\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\n const handleChange = (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 const update = async () => {\n if (isCallingApi || isUpdatingModel) return\n\n try {\n setIsCallingApi(true)\n\n const embeddingResponse = await fetch(\n `${endPoint}/v1/model_registrations/embedding`,\n {\n method: 'GET',\n }\n )\n\n const embeddingRegistrations = await embeddingResponse.json()\n const customEmbeddingRegistrations = embeddingRegistrations.filter(\n (data) => !data.is_builtin\n )\n\n const llmResponse = await fetch(\n `${endPoint}/v1/model_registrations/LLM`,\n {\n method: 'GET',\n }\n )\n const llmRegistrations = await llmResponse.json()\n const customLLMRegistrations = llmRegistrations.filter(\n (data) => !data.is_builtin\n )\n\n const newEmbeddingData = await Promise.all(\n customEmbeddingRegistrations.map(async (registration) => {\n const desc = await fetch(\n `${endPoint}/v1/model_registrations/embedding/${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\n const newLLMData = await Promise.all(\n customLLMRegistrations.map(async (registration) => {\n const desc = await fetch(\n `${endPoint}/v1/model_registrations/LLM/${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\n setRegistrationData(newLLMData.concat(newEmbeddingData))\n } catch (error) {\n console.error('Error:', error)\n } finally {\n setIsCallingApi(false)\n }\n }\n\n useEffect(() => {\n update()\n }, [])\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: '1fr',\n margin: '30px 2rem',\n }}\n >\n <FormControl variant=\"outlined\" margin=\"normal\">\n <TextField\n id=\"search\"\n type=\"search\"\n label=\"Search for custom model name\"\n value={searchTerm}\n onChange={handleChange}\n size=\"small\"\n />\n </FormControl>\n </div>\n <div style={style}>\n {registrationData\n .filter((registration) => filter(registration))\n .map((filteredRegistration) => {\n if (\n filteredRegistration.max_tokens &&\n filteredRegistration.dimensions\n ) {\n return (\n <EmbeddingCard\n url={endPoint}\n modelData={filteredRegistration}\n cardHeight={380}\n is_custom={true}\n />\n )\n } else {\n return (\n <ModelCard\n url={endPoint}\n modelData={filteredRegistration}\n gpuAvailable={gpuAvailable}\n is_custom={true}\n />\n )\n }\n })}\n </div>\n </Box>\n )\n}\n\nexport default LaunchCustom\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{ChatOutlined,EditNoteOutlined,HelpCenterOutlined,RocketLaunchOutlined,UndoOutlined}from'@mui/icons-material';import DeleteIcon from'@mui/icons-material/Delete';import{Box,Chip,CircularProgress,FormControl,Grid,InputLabel,MenuItem,Select,Stack,TextField}from'@mui/material';import IconButton from'@mui/material/IconButton';import Typography from'@mui/material/Typography';import React,{useContext,useEffect,useState}from'react';import{v1 as uuidv1}from'uuid';import{ApiContext}from'../../components/apiContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var CARD_HEIGHT=380;var CARD_WIDTH=300;var ModelCard=function ModelCard(_ref){var url=_ref.url,modelData=_ref.modelData,gpuAvailable=_ref.gpuAvailable,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),hover=_useState2[0],setHover=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),selected=_useState4[0],setSelected=_useState4[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;var _useContext3=useContext(ApiContext),setErrorMsg=_useContext3.setErrorMsg;// Model parameter selections\nvar _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),modelUID=_useState6[0],setModelUID=_useState6[1];var _useState7=useState(''),_useState8=_slicedToArray(_useState7,2),modelFormat=_useState8[0],setModelFormat=_useState8[1];var _useState9=useState(''),_useState10=_slicedToArray(_useState9,2),modelSize=_useState10[0],setModelSize=_useState10[1];var _useState11=useState(''),_useState12=_slicedToArray(_useState11,2),quantization=_useState12[0],setQuantization=_useState12[1];var _useState13=useState('auto'),_useState14=_slicedToArray(_useState13,2),nGPU=_useState14[0],setNGPU=_useState14[1];var _useState15=useState([]),_useState16=_slicedToArray(_useState15,2),formatOptions=_useState16[0],setFormatOptions=_useState16[1];var _useState17=useState([]),_useState18=_slicedToArray(_useState17,2),sizeOptions=_useState18[0],setSizeOptions=_useState18[1];var _useState19=useState([]),_useState20=_slicedToArray(_useState19,2),quantizationOptions=_useState20[0],setQuantizationOptions=_useState20[1];var _useState21=useState(false),_useState22=_slicedToArray(_useState21,2),customDeleted=_useState22[0],setCustomDeleted=_useState22[1];var range=function range(start,end){return new Array(end-start+1).fill(undefined).map(function(_,i){return i+start;});};var isCached=function isCached(spec){if(spec.model_format==='pytorch'){return spec.cache_status&&spec.cache_status===true;}else{return spec.cache_status&&spec.cache_status.some(function(cs){return cs;});}};// UseEffects for parameter selection, change options based on previous selections\nuseEffect(function(){if(modelData){var modelFamily=modelData.model_specs;var formats=_toConsumableArray(new Set(modelFamily.map(function(spec){return spec.model_format;})));setFormatOptions(formats);}},[modelData]);useEffect(function(){if(modelFormat&&modelData){var modelFamily=modelData.model_specs;var sizes=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat;}).map(function(spec){return spec.model_size_in_billions;})));setSizeOptions(sizes);}},[modelFormat,modelData]);useEffect(function(){if(modelFormat&&modelSize&&modelData){var modelFamily=modelData.model_specs;var quants=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat&&spec.model_size_in_billions===parseFloat(modelSize);}).flatMap(function(spec){return spec.quantizations;})));setQuantizationOptions(quants);}},[modelFormat,modelSize,modelData]);var launchModel=function launchModel(url){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);var modelDataWithID={model_uid:modelUID.trim()===''?uuidv1():modelUID.trim(),model_name:modelData.model_name,model_format:modelFormat,model_size_in_billions:modelSize,quantization:quantization,n_gpu:nGPU==='0'?null:nGPU==='auto'?'auto':parseInt(nGPU,10)};// First fetch request to initiate the model\nfetch(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{window.open(url+'/ui/#/running_models','_blank','noreferrer');}setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var styles={container:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden',boxShadow:'0 0 2px #00000099'},descriptionCard:{position:'relative',top:'-1px',left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(CARD_HEIGHT+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},img:{display:'block',margin:'0 auto',width:'180px',height:'180px',objectFit:'cover',borderRadius:'10px'},h2:{margin:'10px 10px',fontSize:'20px'},p:{minHeight:'140px',fontSize:'14px',padding:'0px 10px 15px 10px'},buttonsContainer:{display:'flex',margin:'0 auto',marginTop:'15px',border:'none',justifyContent:'space-between',alignItems:'center'},buttonContainer:{width:'45%',borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'0px'},buttonItem:{width:'100%',margin:'0 auto',padding:'5px',display:'flex',justifyContent:'center',borderRadius:'4px',border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},instructionText:{fontSize:'12px',color:'#666666',fontStyle:'italic',margin:'10px 0',textAlign:'center'},slideIn:{transform:'translateX(0%)',transition:'transform 0.2s ease-in-out'},slideOut:{transform:'translateX(100%)',transition:'transform 0.2s ease-in-out'},iconRow:{display:'flex',justifyContent:'space-between',alignItems:'center'},iconItem:{display:'flex',flexDirection:'column',alignItems:'center',margin:'20px'},boldIconText:{fontWeight:'bold',fontSize:'1.2em'},muiIcon:{fontSize:'1.5em'},smallText:{fontSize:'0.8em'},tagRow:{margin:'2px 5px'}};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();fetch(url+\"/v1/model_registrations/LLM/\".concat(modelData.model_name),{method:'DELETE',headers:{'Content-Type':'application/json'}}).then(function(){return setCustomDeleted(true);}).catch(console.error);};// Set two different states based on mouse hover\nreturn/*#__PURE__*/_jsxs(Box,{style:hover?styles.containerSelected:styles.container,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);},onClick:function onClick(){if(!selected&&!customDeleted){setSelected(true);}},children:[/*#__PURE__*/_jsxs(Box,{style:styles.descriptionCard,children:[is_custom&&/*#__PURE__*/_jsxs(Stack,{direction:\"row\",justifyContent:\"space-evenly\",alignItems:\"center\",spacing:1,children:[/*#__PURE__*/_jsx(Typography,{variant:\"h4\",gutterBottom:true,noWrap:true,children:modelData.model_name}),/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",onClick:handeCustomDelete,disabled:customDeleted,children:/*#__PURE__*/_jsx(DeleteIcon,{})})]}),!is_custom&&/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,children:modelData.model_name}),/*#__PURE__*/_jsxs(\"div\",{style:styles.tagRow,children:[function(){if(modelData.model_lang.includes('en')){return/*#__PURE__*/_jsx(Chip,{label:\"EN\",variant:\"outlined\",size:\"small\"});}}(),function(){if(modelData.model_lang.includes('zh')){return/*#__PURE__*/_jsx(Chip,{label:\"ZH\",variant:\"outlined\",size:\"small\",sx:{marginLeft:'10px'}});}}(),function(){if(modelData.model_specs.some(function(spec){return isCached(spec);})){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\",sx:{marginLeft:'10px'}});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\",sx:{marginLeft:'10px'}});}}()]}),/*#__PURE__*/_jsx(\"p\",{style:styles.p,children:modelData.model_description}),/*#__PURE__*/_jsxs(\"div\",{style:styles.iconRow,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsxs(\"span\",{style:styles.boldIconText,children:[Math.floor(modelData.context_length/1000),\"K\"]}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"context length\"})]}),function(){if(modelData.model_ability.includes('chat')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(ChatOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"chat model\"})]});}else if(modelData.model_ability.includes('generate')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(EditNoteOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"generate model\"})]});}else{return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(HelpCenterOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"other model\"})]});}}()]})]}),/*#__PURE__*/_jsxs(Box,{style:selected?_objectSpread(_objectSpread({},styles.parameterCard),styles.slideIn):_objectSpread(_objectSpread({},styles.parameterCard),styles.slideOut),children:[/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,children:modelData.model_name}),/*#__PURE__*/_jsx(Box,{display:\"flex\",flexDirection:\"column\",width:\"100%\",mx:\"auto\",children:/*#__PURE__*/_jsxs(Grid,{container:true,rowSpacing:0,columnSpacing:1,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"modelFormat-label\",children:\"Model Format\"}),/*#__PURE__*/_jsx(Select,{labelId:\"modelFormat-label\",value:modelFormat,onChange:function onChange(e){return setModelFormat(e.target.value);},label:\"Model Format\",children:formatOptions.map(function(format){var specs=modelData.model_specs.filter(function(spec){return spec.model_format===format;});var cached=specs.some(function(spec){return isCached(spec);});var displayedFormat=cached?format+' (cached)':format;return/*#__PURE__*/_jsx(MenuItem,{value:format,children:displayedFormat},format);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelFormat,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"modelSize-label\",children:\"Model Size\"}),/*#__PURE__*/_jsx(Select,{labelId:\"modelSize-label\",value:modelSize,onChange:function onChange(e){return setModelSize(e.target.value);},label:\"Model Size\",children:sizeOptions.map(function(size){var specs=modelData.model_specs.filter(function(spec){return spec.model_format===modelFormat;}).filter(function(spec){return spec.model_size_in_billions===size;});var cached=specs.some(function(spec){return isCached(spec);});var displayedSize=cached?size+' (cached)':size;return/*#__PURE__*/_jsx(MenuItem,{value:size,children:displayedSize},size);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__PURE__*/_jsxs(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,disabled:!modelFormat||!modelSize,children:[/*#__PURE__*/_jsx(InputLabel,{id:\"quantization-label\",children:\"Quantization\"}),/*#__PURE__*/_jsx(Select,{labelId:\"quantization-label\",value:quantization,onChange:function onChange(e){return setQuantization(e.target.value);},label:\"Quantization\",children:quantizationOptions.map(function(quant,index){var specs=modelData.model_specs.filter(function(spec){return spec.model_format===modelFormat;}).filter(function(spec){return spec.model_size_in_billions===modelSize;});var cached=modelFormat==='pytorch'?specs[0].cache_status&&specs[0].cache_status===true:specs[0].cache_status&&specs[0].cache_status[index]===true;var displayedQuant=cached?quant+' (cached)':quant;return/*#__PURE__*/_jsx(MenuItem,{value:quant,children:displayedQuant},quant);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__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:['auto'].concat(range(0,modelFormat!=='pytorch'?1:gpuAvailable)).map(function(v){return/*#__PURE__*/_jsx(MenuItem,{value:v,children:v},v);})})]})}),/*#__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, uuid by default\",onChange:function onChange(e){return setModelUID(e.target.value);}})})})]})}),/*#__PURE__*/_jsxs(Box,{style:styles.buttonsContainer,children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch\",style:styles.buttonContainer,onClick:function onClick(){return launchModel(url,modelData);},disabled:isCallingApi||isUpdatingModel||!(modelFormat&&modelSize&&modelData&&(quantization||!modelData.is_builtin&&modelFormat!=='pytorch')),children:function(){if(isCallingApi||isUpdatingModel){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(CircularProgress,{size:\"20px\",sx:{color:'#000000'}})});}else if(!(modelFormat&&modelSize&&modelData&&(quantization||!modelData.is_builtin&&modelFormat!=='pytorch'))){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{size:\"20px\"})});}else{return/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{color:\"#000000\",size:\"20px\"})});}}()}),/*#__PURE__*/_jsx(\"button\",{title:\"Go Back\",style:styles.buttonContainer,onClick:function onClick(){return setSelected(false);},children:/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(UndoOutlined,{color:\"#000000\",size:\"20px\"})})})]})]})]});};export default ModelCard;","map":{"version":3,"names":["ChatOutlined","EditNoteOutlined","HelpCenterOutlined","RocketLaunchOutlined","UndoOutlined","DeleteIcon","Box","Chip","CircularProgress","FormControl","Grid","InputLabel","MenuItem","Select","Stack","TextField","IconButton","Typography","React","useContext","useEffect","useState","v1","uuidv1","ApiContext","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","ModelCard","_ref","url","modelData","gpuAvailable","_ref$is_custom","is_custom","_useState","_useState2","_slicedToArray","hover","setHover","_useState3","_useState4","selected","setSelected","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","_useState5","_useState6","modelUID","setModelUID","_useState7","_useState8","modelFormat","setModelFormat","_useState9","_useState10","modelSize","setModelSize","_useState11","_useState12","quantization","setQuantization","_useState13","_useState14","nGPU","setNGPU","_useState15","_useState16","formatOptions","setFormatOptions","_useState17","_useState18","sizeOptions","setSizeOptions","_useState19","_useState20","quantizationOptions","setQuantizationOptions","_useState21","_useState22","customDeleted","setCustomDeleted","range","start","end","Array","fill","undefined","map","_","i","isCached","spec","model_format","cache_status","some","cs","modelFamily","model_specs","formats","_toConsumableArray","Set","sizes","filter","model_size_in_billions","quants","parseFloat","flatMap","quantizations","launchModel","modelDataWithID","model_uid","trim","model_name","n_gpu","parseInt","fetch","method","headers","body","JSON","stringify","then","response","ok","json","errorData","concat","status","detail","window","open","catch","error","console","styles","container","display","position","width","height","border","borderRadius","background","overflow","containerSelected","boxShadow","descriptionCard","top","left","padding","parameterCard","img","margin","objectFit","h2","fontSize","p","minHeight","buttonsContainer","marginTop","justifyContent","alignItems","buttonContainer","borderWidth","backgroundColor","paddingLeft","paddingRight","buttonItem","borderColor","instructionText","color","fontStyle","textAlign","slideIn","transform","transition","slideOut","iconRow","iconItem","flexDirection","boldIconText","fontWeight","muiIcon","smallText","tagRow","handeCustomDelete","e","stopPropagation","style","onMouseEnter","onMouseLeave","onClick","children","direction","spacing","variant","gutterBottom","noWrap","disabled","model_lang","includes","label","size","sx","marginLeft","model_description","Math","floor","context_length","model_ability","_objectSpread","mx","rowSpacing","columnSpacing","item","xs","fullWidth","id","labelId","value","onChange","target","format","specs","cached","displayedFormat","displayedSize","quant","index","displayedQuant","v","title","is_builtin"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/modelCard.js"],"sourcesContent":["import {\n ChatOutlined,\n EditNoteOutlined,\n HelpCenterOutlined,\n RocketLaunchOutlined,\n UndoOutlined,\n} from '@mui/icons-material'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport {\n Box,\n Chip,\n CircularProgress,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n TextField,\n} from '@mui/material'\nimport IconButton from '@mui/material/IconButton'\nimport Typography from '@mui/material/Typography'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { v1 as uuidv1 } from 'uuid'\n\nimport { ApiContext } from '../../components/apiContext'\n\nconst CARD_HEIGHT = 380\nconst CARD_WIDTH = 300\n\nconst ModelCard = ({ url, modelData, gpuAvailable, is_custom = false }) => {\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n\n // Model parameter selections\n const [modelUID, setModelUID] = useState('')\n const [modelFormat, setModelFormat] = useState('')\n const [modelSize, setModelSize] = useState('')\n const [quantization, setQuantization] = useState('')\n const [nGPU, setNGPU] = useState('auto')\n\n const [formatOptions, setFormatOptions] = useState([])\n const [sizeOptions, setSizeOptions] = useState([])\n const [quantizationOptions, setQuantizationOptions] = useState([])\n const [customDeleted, setCustomDeleted] = useState(false)\n\n const range = (start, end) => {\n return new Array(end - start + 1).fill(undefined).map((_, i) => i + start)\n }\n\n const isCached = (spec) => {\n if (spec.model_format === 'pytorch') {\n return spec.cache_status && spec.cache_status === true\n } else {\n return spec.cache_status && spec.cache_status.some((cs) => cs)\n }\n }\n\n // UseEffects for parameter selection, change options based on previous selections\n useEffect(() => {\n if (modelData) {\n const modelFamily = modelData.model_specs\n const formats = [...new Set(modelFamily.map((spec) => spec.model_format))]\n setFormatOptions(formats)\n }\n }, [modelData])\n\n useEffect(() => {\n if (modelFormat && modelData) {\n const modelFamily = modelData.model_specs\n const sizes = [\n ...new Set(\n modelFamily\n .filter((spec) => spec.model_format === modelFormat)\n .map((spec) => spec.model_size_in_billions)\n ),\n ]\n setSizeOptions(sizes)\n }\n }, [modelFormat, modelData])\n\n useEffect(() => {\n if (modelFormat && modelSize && modelData) {\n const modelFamily = modelData.model_specs\n const quants = [\n ...new Set(\n modelFamily\n .filter(\n (spec) =>\n spec.model_format === modelFormat &&\n spec.model_size_in_billions === parseFloat(modelSize)\n )\n .flatMap((spec) => spec.quantizations)\n ),\n ]\n setQuantizationOptions(quants)\n }\n }, [modelFormat, modelSize, modelData])\n\n const launchModel = (url) => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n\n setIsCallingApi(true)\n\n const modelDataWithID = {\n model_uid: modelUID.trim() === '' ? uuidv1() : modelUID.trim(),\n model_name: modelData.model_name,\n model_format: modelFormat,\n model_size_in_billions: modelSize,\n quantization: quantization,\n n_gpu:\n nGPU === '0' ? null : nGPU === 'auto' ? 'auto' : parseInt(nGPU, 10),\n }\n\n // First fetch request to initiate the model\n fetch(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 window.open(url + '/ui/#/running_models', '_blank', 'noreferrer')\n }\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const styles = {\n container: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n },\n containerSelected: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n boxShadow: '0 0 2px #00000099',\n },\n descriptionCard: {\n position: 'relative',\n top: '-1px',\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${CARD_HEIGHT + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n img: {\n display: 'block',\n margin: '0 auto',\n width: '180px',\n height: '180px',\n objectFit: 'cover',\n borderRadius: '10px',\n },\n h2: {\n margin: '10px 10px',\n fontSize: '20px',\n },\n p: {\n minHeight: '140px',\n fontSize: '14px',\n padding: '0px 10px 15px 10px',\n },\n buttonsContainer: {\n display: 'flex',\n margin: '0 auto',\n marginTop: '15px',\n border: 'none',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonContainer: {\n width: '45%',\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n buttonItem: {\n width: '100%',\n margin: '0 auto',\n padding: '5px',\n display: 'flex',\n justifyContent: 'center',\n borderRadius: '4px',\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n },\n instructionText: {\n fontSize: '12px',\n color: '#666666',\n fontStyle: 'italic',\n margin: '10px 0',\n textAlign: 'center',\n },\n slideIn: {\n transform: 'translateX(0%)',\n transition: 'transform 0.2s ease-in-out',\n },\n slideOut: {\n transform: 'translateX(100%)',\n transition: 'transform 0.2s ease-in-out',\n },\n iconRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n iconItem: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n margin: '20px',\n },\n boldIconText: {\n fontWeight: 'bold',\n fontSize: '1.2em',\n },\n muiIcon: {\n fontSize: '1.5em',\n },\n smallText: {\n fontSize: '0.8em',\n },\n tagRow: {\n margin: '2px 5px',\n },\n }\n\n const handeCustomDelete = (e) => {\n e.stopPropagation()\n fetch(url + `/v1/model_registrations/LLM/${modelData.model_name}`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(() => setCustomDeleted(true))\n .catch(console.error)\n }\n\n // Set two different states based on mouse hover\n return (\n <Box\n style={hover ? styles.containerSelected : styles.container}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={() => {\n if (!selected && !customDeleted) {\n setSelected(true)\n }\n }}\n >\n {/* First state: show description page */}\n <Box style={styles.descriptionCard}>\n {is_custom && (\n <Stack\n direction=\"row\"\n justifyContent=\"space-evenly\"\n alignItems=\"center\"\n spacing={1}\n >\n <Typography variant=\"h4\" gutterBottom noWrap>\n {modelData.model_name}\n </Typography>\n <IconButton\n aria-label=\"delete\"\n onClick={handeCustomDelete}\n disabled={customDeleted}\n >\n <DeleteIcon />\n </IconButton>\n </Stack>\n )}\n {!is_custom && <h2 style={styles.h2}>{modelData.model_name}</h2>}\n <div style={styles.tagRow}>\n {(() => {\n if (modelData.model_lang.includes('en')) {\n return <Chip label=\"EN\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (modelData.model_lang.includes('zh')) {\n return (\n <Chip\n label=\"ZH\"\n variant=\"outlined\"\n size=\"small\"\n sx={{ marginLeft: '10px' }}\n />\n )\n }\n })()}\n {(() => {\n if (modelData.model_specs.some((spec) => isCached(spec))) {\n return (\n <Chip\n label=\"Cached\"\n variant=\"outlined\"\n size=\"small\"\n sx={{ marginLeft: '10px' }}\n />\n )\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return (\n <Chip\n label=\"Deleted\"\n variant=\"outlined\"\n size=\"small\"\n sx={{ marginLeft: '10px' }}\n />\n )\n }\n })()}\n </div>\n <p style={styles.p}>{modelData.model_description}</p>\n\n <div style={styles.iconRow}>\n <div style={styles.iconItem}>\n <span style={styles.boldIconText}>\n {Math.floor(modelData.context_length / 1000)}K\n </span>\n <small style={styles.smallText}>context length</small>\n </div>\n {(() => {\n if (modelData.model_ability.includes('chat')) {\n return (\n <div style={styles.iconItem}>\n <ChatOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>chat model</small>\n </div>\n )\n } else if (modelData.model_ability.includes('generate')) {\n return (\n <div style={styles.iconItem}>\n <EditNoteOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>generate model</small>\n </div>\n )\n } else {\n return (\n <div style={styles.iconItem}>\n <HelpCenterOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>other model</small>\n </div>\n )\n }\n })()}\n </div>\n </Box>\n {/* Second state: show parameter selection page */}\n <Box\n style={\n selected\n ? { ...styles.parameterCard, ...styles.slideIn }\n : { ...styles.parameterCard, ...styles.slideOut }\n }\n >\n <h2 style={styles.h2}>{modelData.model_name}</h2>\n <Box display=\"flex\" flexDirection=\"column\" width=\"100%\" mx=\"auto\">\n <Grid container rowSpacing={0} columnSpacing={1}>\n <Grid item xs={6}>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <InputLabel id=\"modelFormat-label\">Model Format</InputLabel>\n <Select\n labelId=\"modelFormat-label\"\n value={modelFormat}\n onChange={(e) => setModelFormat(e.target.value)}\n label=\"Model Format\"\n >\n {formatOptions.map((format) => {\n const specs = modelData.model_specs.filter(\n (spec) => spec.model_format === format\n )\n const cached = specs.some((spec) => isCached(spec))\n const displayedFormat = cached\n ? format + ' (cached)'\n : format\n\n return (\n <MenuItem key={format} value={format}>\n {displayedFormat}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat}\n >\n <InputLabel id=\"modelSize-label\">Model Size</InputLabel>\n <Select\n labelId=\"modelSize-label\"\n value={modelSize}\n onChange={(e) => setModelSize(e.target.value)}\n label=\"Model Size\"\n >\n {sizeOptions.map((size) => {\n const specs = modelData.model_specs\n .filter((spec) => spec.model_format === modelFormat)\n .filter((spec) => spec.model_size_in_billions === size)\n const cached = specs.some((spec) => isCached(spec))\n const displayedSize = cached ? size + ' (cached)' : size\n\n return (\n <MenuItem key={size} value={size}>\n {displayedSize}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <FormControl\n variant=\"outlined\"\n margin=\"normal\"\n fullWidth\n disabled={!modelFormat || !modelSize}\n >\n <InputLabel id=\"quantization-label\">Quantization</InputLabel>\n <Select\n labelId=\"quantization-label\"\n value={quantization}\n onChange={(e) => setQuantization(e.target.value)}\n label=\"Quantization\"\n >\n {quantizationOptions.map((quant, index) => {\n const specs = modelData.model_specs\n .filter((spec) => spec.model_format === modelFormat)\n .filter(\n (spec) => spec.model_size_in_billions === modelSize\n )\n\n const cached =\n modelFormat === 'pytorch'\n ? specs[0].cache_status &&\n specs[0].cache_status === true\n : specs[0].cache_status &&\n specs[0].cache_status[index] === true\n const displayedQuant = cached ? quant + ' (cached)' : quant\n\n return (\n <MenuItem key={quant} value={quant}>\n {displayedQuant}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <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 {['auto']\n .concat(\n range(0, modelFormat !== 'pytorch' ? 1 : gpuAvailable)\n )\n .map((v) => {\n return (\n <MenuItem key={v} value={v}>\n {v}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\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, uuid by default\"\n onChange={(e) => setModelUID(e.target.value)}\n />\n </FormControl>\n </Grid>\n </Grid>\n </Box>\n <Box style={styles.buttonsContainer}>\n <button\n title=\"Launch\"\n style={styles.buttonContainer}\n onClick={() => launchModel(url, modelData)}\n disabled={\n isCallingApi ||\n isUpdatingModel ||\n !(\n modelFormat &&\n modelSize &&\n modelData &&\n (quantization ||\n (!modelData.is_builtin && modelFormat !== 'pytorch'))\n )\n }\n >\n {(() => {\n if (isCallingApi || isUpdatingModel) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <CircularProgress\n size=\"20px\"\n sx={{\n color: '#000000',\n }}\n />\n </Box>\n )\n } else if (\n !(\n modelFormat &&\n modelSize &&\n modelData &&\n (quantization ||\n (!modelData.is_builtin && modelFormat !== 'pytorch'))\n )\n ) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <RocketLaunchOutlined size=\"20px\" />\n </Box>\n )\n } else {\n return (\n <Box style={styles.buttonItem}>\n <RocketLaunchOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n )\n }\n })()}\n </button>\n <button\n title=\"Go Back\"\n style={styles.buttonContainer}\n onClick={() => setSelected(false)}\n >\n <Box style={styles.buttonItem}>\n <UndoOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n </button>\n </Box>\n </Box>\n </Box>\n )\n}\n\nexport default ModelCard\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import DeleteOutlineOutlinedIcon from'@mui/icons-material/DeleteOutlineOutlined';import OpenInBrowserOutlinedIcon from'@mui/icons-material/OpenInBrowserOutlined';import{TabContext,TabList,TabPanel}from'@mui/lab';import{Box,Stack,Tab}from'@mui/material';import{DataGrid}from'@mui/x-data-grid';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import Title from'../../components/Title';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var RunningModels=function RunningModels(){var _React$useState=React.useState('1'),_React$useState2=_slicedToArray(_React$useState,2),tabValue=_React$useState2[0],setTabValue=_React$useState2[1];var _useState=useState([]),_useState2=_slicedToArray(_useState,2),llmData=_useState2[0],setLlmData=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),embeddingModelData=_useState4[0],setEmbeddingModelData=_useState4[1];var _useState5=useState([]),_useState6=_slicedToArray(_useState5,2),imageModelData=_useState6[0],setImageModelData=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),rerankModelData=_useState8[0],setRerankModelData=_useState8[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel,setIsUpdatingModel=_useContext2.setIsUpdatingModel;var endPoint=useContext(ApiContext).endPoint;var handleTabChange=function handleTabChange(event,newValue){setTabValue(newValue);};var update=function update(isCallingApi){if(isCallingApi){setLlmData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setEmbeddingModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setImageModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setRerankModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);}else{setIsUpdatingModel(true);fetch(\"\".concat(endPoint,\"/v1/models/\"),{method:'GET'}).then(function(response){return response.json();}).then(function(data){var newLlmData=[];var newEmbeddingModelData=[];var newImageModelData=[];var newRerankModelData=[];Object.entries(data).forEach(function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],value=_ref2[1];var newValue=_objectSpread(_objectSpread({},value),{},{id:key,url:key});if(newValue.model_type==='LLM'){newLlmData.push(newValue);}else if(newValue.model_type==='embedding'){newEmbeddingModelData.push(newValue);}else if(newValue.model_type==='image'){newImageModelData.push(newValue);}else if(newValue.model_type==='rerank'){newRerankModelData.push(newValue);}});setLlmData(newLlmData);setEmbeddingModelData(newEmbeddingModelData);setImageModelData(newImageModelData);setRerankModelData(newRerankModelData);setIsUpdatingModel(false);}).catch(function(error){console.error('Error:',error);setIsUpdatingModel(false);});}};useEffect(function(){update(isCallingApi);// eslint-disable-next-line\n},[isCallingApi]);var llmColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250},{field:'model_name',headerName:'Name',flex:1},{field:'address',headerName:'Address',flex:1},{field:'accelerators',headerName:'GPU Indexes',flex:1},{field:'model_size_in_billions',headerName:'Size',flex:1},{field:'quantization',headerName:'Quantization',flex:1},{field:'url',headerName:'Actions',flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref3){var row=_ref3.row;var url=row.url;var openUrl=\"\".concat(endPoint,\"/\")+url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;var gradioUrl=\"\".concat(endPoint,\"/v1/ui/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsxs(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch Web UI\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){// Make sure no ongoing call\nreturn;}setIsCallingApi(true);fetch(openUrl,{method:'HEAD'}).then(function(response){if(response.status===404){// If web UI doesn't exist (404 Not Found)\nconsole.log('UI does not exist, creating new...');return fetch(gradioUrl,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model_type:row.model_type,model_name:row.model_name,model_size_in_billions:row.model_size_in_billions,model_format:row.model_format,quantization:row.quantization,context_length:row.context_length,model_ability:row.model_ability,model_description:row.model_description,model_lang:row.model_lang})}).then(function(response){return response.json();}).then(function(){return window.open(openUrl,'_blank','noopener noreferrer');}).finally(function(){return setIsCallingApi(false);});}else if(response.ok){// If web UI does exist\nconsole.log('UI exists, opening...');window.open(openUrl,'_blank','noopener noreferrer');setIsCallingApi(false);}else{// Other HTTP errors\nconsole.error(\"Unexpected response status: \".concat(response.status));setIsCallingApi(false);}}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(OpenInBrowserOutlinedIcon,{})})}),/*#__PURE__*/_jsx(\"button\",{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetch(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})]});}}];var embeddingModelColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250},{field:'model_name',headerName:'Name',flex:1},{field:'address',headerName:'Address',flex:1},{field:'accelerators',headerName:'GPU Indexes',flex:1},{field:'url',headerName:'Actions',flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref4){var row=_ref4.row;var url=row.url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsx(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:/*#__PURE__*/_jsx(\"button\",{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetch(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})});}}];var imageModelColumns=embeddingModelColumns;var rerankModelColumns=embeddingModelColumns;var dataGridStyle={'& .MuiDataGrid-cell':{borderBottom:'none'},'& .MuiDataGrid-columnHeaders':{borderBottom:'none'},'& .MuiDataGrid-columnHeaderTitle':{fontWeight:'bold'},'& .MuiDataGrid-virtualScroller':{overflowX:'visible !important',overflow:'visible'},'& .MuiDataGrid-footerContainer':{borderTop:'none'},'border-width':'0px'};var noRowsOverlay=function noRowsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:\"No Running Models\"});};var noResultsOverlay=function noResultsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:\"No Running Models Matches\"});};return/*#__PURE__*/_jsxs(Box,{sx:{height:'100%',width:'100%',paddingLeft:'20px',paddingTop:'20px'},children:[/*#__PURE__*/_jsx(Title,{title:\"Running Models\"}),/*#__PURE__*/_jsxs(TabContext,{value:tabValue,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsxs(TabList,{value:tabValue,onChange:handleTabChange,\"aria-label\":\"tabs\",children:[/*#__PURE__*/_jsx(Tab,{label:\"Language Models\",value:\"1\"}),/*#__PURE__*/_jsx(Tab,{label:\"Embedding Models\",value:\"2\"}),/*#__PURE__*/_jsx(Tab,{label:\"Image models\",value:\"3\"}),/*#__PURE__*/_jsx(Tab,{label:\"Rerank models\",value:\"4\"})]})}),/*#__PURE__*/_jsx(TabPanel,{value:\"1\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:llmData,columns:llmColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"2\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:embeddingModelData,columns:embeddingModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"3\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:imageModelData,columns:imageModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"4\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:rerankModelData,columns:rerankModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})})]})]});};export default RunningModels;","map":{"version":3,"names":["DeleteOutlineOutlinedIcon","OpenInBrowserOutlinedIcon","TabContext","TabList","TabPanel","Box","Stack","Tab","DataGrid","React","useContext","useEffect","useState","ApiContext","Title","jsx","_jsx","jsxs","_jsxs","RunningModels","_React$useState","_React$useState2","_slicedToArray","tabValue","setTabValue","_useState","_useState2","llmData","setLlmData","_useState3","_useState4","embeddingModelData","setEmbeddingModelData","_useState5","_useState6","imageModelData","setImageModelData","_useState7","_useState8","rerankModelData","setRerankModelData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","setIsUpdatingModel","endPoint","handleTabChange","event","newValue","update","id","url","fetch","concat","method","then","response","json","data","newLlmData","newEmbeddingModelData","newImageModelData","newRerankModelData","Object","entries","forEach","_ref","_ref2","key","value","_objectSpread","model_type","push","catch","error","console","llmColumns","field","headerName","flex","minWidth","sortable","filterable","disableColumnMenu","renderCell","_ref3","row","openUrl","closeUrl","gradioUrl","style","width","display","justifyContent","alignItems","children","title","borderWidth","backgroundColor","paddingLeft","paddingRight","onClick","status","log","headers","body","JSON","stringify","model_name","model_size_in_billions","model_format","quantization","context_length","model_ability","model_description","model_lang","window","open","finally","ok","m","p","borderRadius","border","borderColor","embeddingModelColumns","_ref4","imageModelColumns","rerankModelColumns","dataGridStyle","borderBottom","fontWeight","overflowX","overflow","borderTop","noRowsOverlay","height","noResultsOverlay","sx","paddingTop","onChange","label","padding","rows","columns","autoHeight","slots"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/running_models/index.js"],"sourcesContent":["import DeleteOutlineOutlinedIcon from '@mui/icons-material/DeleteOutlineOutlined'\nimport OpenInBrowserOutlinedIcon from '@mui/icons-material/OpenInBrowserOutlined'\nimport { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, Stack, Tab } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport Title from '../../components/Title'\n\nconst RunningModels = () => {\n const [tabValue, setTabValue] = React.useState('1')\n const [llmData, setLlmData] = useState([])\n const [embeddingModelData, setEmbeddingModelData] = useState([])\n const [imageModelData, setImageModelData] = useState([])\n const [rerankModelData, setRerankModelData] = useState([])\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel, setIsUpdatingModel } = useContext(ApiContext)\n const endPoint = useContext(ApiContext).endPoint\n\n const handleTabChange = (event, newValue) => {\n setTabValue(newValue)\n }\n\n const update = (isCallingApi) => {\n if (isCallingApi) {\n setLlmData([{ id: 'Loading, do not refresh page...', url: 'IS_LOADING' }])\n setEmbeddingModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setImageModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setRerankModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n } else {\n setIsUpdatingModel(true)\n fetch(`${endPoint}/v1/models/`, {\n method: 'GET',\n })\n .then((response) => response.json())\n .then((data) => {\n const newLlmData = []\n const newEmbeddingModelData = []\n const newImageModelData = []\n const newRerankModelData = []\n Object.entries(data).forEach(([key, value]) => {\n let newValue = {\n ...value,\n id: key,\n url: key,\n }\n if (newValue.model_type === 'LLM') {\n newLlmData.push(newValue)\n } else if (newValue.model_type === 'embedding') {\n newEmbeddingModelData.push(newValue)\n } else if (newValue.model_type === 'image') {\n newImageModelData.push(newValue)\n } else if (newValue.model_type === 'rerank') {\n newRerankModelData.push(newValue)\n }\n })\n setLlmData(newLlmData)\n setEmbeddingModelData(newEmbeddingModelData)\n setImageModelData(newImageModelData)\n setRerankModelData(newRerankModelData)\n setIsUpdatingModel(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsUpdatingModel(false)\n })\n }\n }\n\n useEffect(() => {\n update(isCallingApi)\n // eslint-disable-next-line\n }, [isCallingApi])\n\n const llmColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n },\n {\n field: 'model_name',\n headerName: 'Name',\n flex: 1,\n },\n {\n field: 'address',\n headerName: 'Address',\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: 'GPU Indexes',\n flex: 1,\n },\n {\n field: 'model_size_in_billions',\n headerName: 'Size',\n flex: 1,\n },\n {\n field: 'quantization',\n headerName: 'Quantization',\n flex: 1,\n },\n {\n field: 'url',\n headerName: 'Actions',\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const openUrl = `${endPoint}/` + url\n const closeUrl = `${endPoint}/v1/models/` + url\n const gradioUrl = `${endPoint}/v1/ui/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <button\n title=\"Launch Web UI\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n // Make sure no ongoing call\n return\n }\n\n setIsCallingApi(true)\n\n fetch(openUrl, {\n method: 'HEAD',\n })\n .then((response) => {\n if (response.status === 404) {\n // If web UI doesn't exist (404 Not Found)\n console.log('UI does not exist, creating new...')\n return fetch(gradioUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model_type: row.model_type,\n model_name: row.model_name,\n model_size_in_billions: row.model_size_in_billions,\n model_format: row.model_format,\n quantization: row.quantization,\n context_length: row.context_length,\n model_ability: row.model_ability,\n model_description: row.model_description,\n model_lang: row.model_lang,\n }),\n })\n .then((response) => response.json())\n .then(() =>\n window.open(openUrl, '_blank', 'noopener noreferrer')\n )\n .finally(() => setIsCallingApi(false))\n } else if (response.ok) {\n // If web UI does exist\n console.log('UI exists, opening...')\n window.open(openUrl, '_blank', 'noopener noreferrer')\n setIsCallingApi(false)\n } else {\n // Other HTTP errors\n console.error(\n `Unexpected response status: ${response.status}`\n )\n setIsCallingApi(false)\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <OpenInBrowserOutlinedIcon />\n </Box>\n </button>\n <button\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetch(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </button>\n </Box>\n )\n },\n },\n ]\n\n const embeddingModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n },\n {\n field: 'model_name',\n headerName: 'Name',\n flex: 1,\n },\n {\n field: 'address',\n headerName: 'Address',\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: 'GPU Indexes',\n flex: 1,\n },\n {\n field: 'url',\n headerName: 'Actions',\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const closeUrl = `${endPoint}/v1/models/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <button\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetch(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </button>\n </Box>\n )\n },\n },\n ]\n\n const imageModelColumns = embeddingModelColumns\n const rerankModelColumns = embeddingModelColumns\n\n const dataGridStyle = {\n '& .MuiDataGrid-cell': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontWeight: 'bold',\n },\n '& .MuiDataGrid-virtualScroller': {\n overflowX: 'visible !important',\n overflow: 'visible',\n },\n '& .MuiDataGrid-footerContainer': {\n borderTop: 'none',\n },\n 'border-width': '0px',\n }\n\n const noRowsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n No Running Models\n </Stack>\n )\n }\n\n const noResultsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n No Running Models Matches\n </Stack>\n )\n }\n\n return (\n <Box\n sx={{\n height: '100%',\n width: '100%',\n paddingLeft: '20px',\n paddingTop: '20px',\n }}\n >\n <Title title=\"Running Models\" />\n <TabContext value={tabValue}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n value={tabValue}\n onChange={handleTabChange}\n aria-label=\"tabs\"\n >\n <Tab label=\"Language Models\" value=\"1\" />\n <Tab label=\"Embedding Models\" value=\"2\" />\n <Tab label=\"Image models\" value=\"3\" />\n <Tab label=\"Rerank models\" value=\"4\" />\n </TabList>\n </Box>\n <TabPanel value=\"1\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={llmData}\n columns={llmColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"2\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={embeddingModelData}\n columns={embeddingModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"3\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={imageModelData}\n columns={imageModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"4\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={rerankModelData}\n columns={rerankModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default RunningModels\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{Box,FormControl,TextField}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import RerankCard from'./rerankCard';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var LaunchRerank=function LaunchRerank(){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 handleChange=function handleChange(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());};var update=/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var response,registrations,newRegistrationData;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 fetch(\"\".concat(endPoint,\"/v1/model_registrations/rerank?detailed=true\"),{method:'GET'});case 6:response=_context2.sent;_context2.next=9;return response.json();case 9:registrations=_context2.sent;_context2.next=12;return Promise.all(registrations.map(/*#__PURE__*/function(){var _ref2=_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 fetch(\"\".concat(endPoint,\"/v1/model_registrations/rerank/\").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,is_cached:registration.cache_status};return _context.abrupt(\"return\",(0,_context.t0)(_context.t4,_context.t5,_context.t6));case 13:case\"end\":return _context.stop();}},_callee);}));return function(_x){return _ref2.apply(this,arguments);};}()));case 12:newRegistrationData=_context2.sent;setRegistrationData(newRegistrationData);_context2.next=19;break;case 16:_context2.prev=16;_context2.t0=_context2[\"catch\"](2);console.error('Error:',_context2.t0);case 19:_context2.prev=19;setIsCallingApi(false);return _context2.finish(19);case 22:case\"end\":return _context2.stop();}},_callee2,null,[[2,16,19,22]]);}));return function update(){return _ref.apply(this,arguments);};}();useEffect(function(){update();// eslint-disable-next-line\n},[]);var style={display:'grid',gridTemplateColumns:'repeat(auto-fill, minmax(300px, 1fr))',paddingLeft:'2rem',gridGap:'2rem 0rem'};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsx(\"div\",{style:{display:'grid',gridTemplateColumns:'1fr',margin:'30px 2rem'},children:/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",children:/*#__PURE__*/_jsx(TextField,{id:\"search\",type:\"search\",label:\"Search for rerank model name\",value:searchTerm,onChange:handleChange,size:\"small\"})})}),/*#__PURE__*/_jsx(\"div\",{style:style,children:registrationData.filter(function(registration){return filter(registration);}).map(function(filteredRegistration){return/*#__PURE__*/_jsx(RerankCard,{url:endPoint,modelData:filteredRegistration});})})]});};export default LaunchRerank;","map":{"version":3,"names":["Box","FormControl","TextField","React","useContext","useEffect","useState","ApiContext","RerankCard","jsx","_jsx","jsxs","_jsxs","LaunchRerank","endPoint","_useState","_useState2","_slicedToArray","registrationData","setRegistrationData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useState3","_useState4","searchTerm","setSearchTerm","handleChange","event","target","value","filter","registration","modelName","model_name","toLowerCase","includes","update","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","response","registrations","newRegistrationData","wrap","_callee2$","_context2","prev","next","abrupt","fetch","concat","method","sent","json","Promise","all","map","_ref2","_callee","desc","_callee$","_context","t0","_objectSpread","t1","t2","t3","t4","t5","t6","is_builtin","is_cached","cache_status","stop","_x","apply","arguments","console","error","finish","style","display","gridTemplateColumns","paddingLeft","gridGap","m","children","margin","variant","id","type","label","onChange","size","filteredRegistration","url","modelData"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/launchRerank.js"],"sourcesContent":["import { Box, FormControl, TextField } from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport RerankCard from './rerankCard'\n\nconst LaunchRerank = () => {\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\n const handleChange = (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 const update = async () => {\n if (isCallingApi || isUpdatingModel) return\n\n try {\n setIsCallingApi(true)\n\n const response = await fetch(\n `${endPoint}/v1/model_registrations/rerank?detailed=true`,\n {\n method: 'GET',\n }\n )\n\n const registrations = await response.json()\n const newRegistrationData = await Promise.all(\n registrations.map(async (registration) => {\n const desc = await fetch(\n `${endPoint}/v1/model_registrations/rerank/${registration.model_name}`,\n {\n method: 'GET',\n }\n )\n\n return {\n ...(await desc.json()),\n is_builtin: registration.is_builtin,\n is_cached: registration.cache_status,\n }\n })\n )\n\n setRegistrationData(newRegistrationData)\n } catch (error) {\n console.error('Error:', error)\n } finally {\n setIsCallingApi(false)\n }\n }\n\n useEffect(() => {\n update()\n // eslint-disable-next-line\n }, [])\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: '1fr',\n margin: '30px 2rem',\n }}\n >\n <FormControl variant=\"outlined\" margin=\"normal\">\n <TextField\n id=\"search\"\n type=\"search\"\n label=\"Search for rerank model name\"\n value={searchTerm}\n onChange={handleChange}\n size=\"small\"\n />\n </FormControl>\n </div>\n <div style={style}>\n {registrationData\n .filter((registration) => filter(registration))\n .map((filteredRegistration) => (\n <RerankCard url={endPoint} modelData={filteredRegistration} />\n ))}\n </div>\n </Box>\n )\n}\n\nexport default LaunchRerank\n"],"mappings":"mkBAAA,OAASA,GAAG,CAAEC,WAAW,CAAEC,SAAS,KAAQ,eAAe,CAC3D,MAAO,CAAAC,KAAK,EAAIC,UAAU,CAAEC,SAAS,CAAEC,QAAQ,KAAQ,OAAO,CAE9D,OAASC,UAAU,KAAQ,6BAA6B,CACxD,MAAO,CAAAC,UAAU,KAAM,cAAc,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAErC,GAAM,CAAAC,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAA,CAAS,CACzB,GAAI,CAAAC,QAAQ,CAAGV,UAAU,CAACG,UAAU,CAAC,CAACO,QAAQ,CAC9C,IAAAC,SAAA,CAAgDT,QAAQ,CAAC,EAAE,CAAC,CAAAU,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAArDG,gBAAgB,CAAAF,UAAA,IAAEG,mBAAmB,CAAAH,UAAA,IAC5C,IAAAI,WAAA,CAA0ChB,UAAU,CAACG,UAAU,CAAC,CAAxDc,YAAY,CAAAD,WAAA,CAAZC,YAAY,CAAEC,eAAe,CAAAF,WAAA,CAAfE,eAAe,CACrC,IAAAC,YAAA,CAA4BnB,UAAU,CAACG,UAAU,CAAC,CAA1CiB,eAAe,CAAAD,YAAA,CAAfC,eAAe,CAEvB;AACA,IAAAC,UAAA,CAAoCnB,QAAQ,CAAC,EAAE,CAAC,CAAAoB,UAAA,CAAAT,cAAA,CAAAQ,UAAA,IAAzCE,UAAU,CAAAD,UAAA,IAAEE,aAAa,CAAAF,UAAA,IAEhC,GAAM,CAAAG,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAIC,KAAK,CAAK,CAC9BF,aAAa,CAACE,KAAK,CAACC,MAAM,CAACC,KAAK,CAAC,CACnC,CAAC,CAED,GAAM,CAAAC,MAAM,CAAG,QAAT,CAAAA,MAAMA,CAAIC,YAAY,CAAK,CAC/B,GAAI,CAACA,YAAY,EAAI,MAAO,CAAAP,UAAU,GAAK,QAAQ,CAAE,MAAO,MAAK,CACjE,GAAM,CAAAQ,SAAS,CAAGD,YAAY,CAACE,UAAU,CACrCF,YAAY,CAACE,UAAU,CAACC,WAAW,CAAC,CAAC,CACrC,EAAE,CACN,MAAO,CAAAF,SAAS,CAACG,QAAQ,CAACX,UAAU,CAACU,WAAW,CAAC,CAAC,CAAC,CACrD,CAAC,CAED,GAAM,CAAAE,MAAM,6BAAAC,IAAA,CAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,SAAA,MAAAC,QAAA,CAAAC,aAAA,CAAAC,mBAAA,QAAAL,mBAAA,GAAAM,IAAA,UAAAC,UAAAC,SAAA,iBAAAA,SAAA,CAAAC,IAAA,CAAAD,SAAA,CAAAE,IAAA,cACT/B,YAAY,EAAIG,eAAe,GAAA0B,SAAA,CAAAE,IAAA,iBAAAF,SAAA,CAAAG,MAAA,kBAAAH,SAAA,CAAAC,IAAA,GAGjC7B,eAAe,CAAC,IAAI,CAAC,CAAA4B,SAAA,CAAAE,IAAA,SAEE,CAAAE,KAAK,IAAAC,MAAA,CACvBzC,QAAQ,iDACX,CACE0C,MAAM,CAAE,KACV,CACF,CAAC,QALKX,QAAQ,CAAAK,SAAA,CAAAO,IAAA,CAAAP,SAAA,CAAAE,IAAA,SAOc,CAAAP,QAAQ,CAACa,IAAI,CAAC,CAAC,QAArCZ,aAAa,CAAAI,SAAA,CAAAO,IAAA,CAAAP,SAAA,CAAAE,IAAA,UACe,CAAAO,OAAO,CAACC,GAAG,CAC3Cd,aAAa,CAACe,GAAG,6BAAAC,KAAA,CAAArB,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAoB,QAAO7B,YAAY,MAAA8B,IAAA,QAAAtB,mBAAA,GAAAM,IAAA,UAAAiB,SAAAC,QAAA,iBAAAA,QAAA,CAAAf,IAAA,CAAAe,QAAA,CAAAd,IAAA,SAAAc,QAAA,CAAAd,IAAA,SAChB,CAAAE,KAAK,IAAAC,MAAA,CACnBzC,QAAQ,oCAAAyC,MAAA,CAAkCrB,YAAY,CAACE,UAAU,EACpE,CACEoB,MAAM,CAAE,KACV,CACF,CAAC,QALKQ,IAAI,CAAAE,QAAA,CAAAT,IAAA,CAAAS,QAAA,CAAAC,EAAA,CAAAC,aAAA,CAAAF,QAAA,CAAAG,EAAA,CAAAD,aAAA,CAAAF,QAAA,CAAAI,EAAA,IAAAJ,QAAA,CAAAd,IAAA,SAQE,CAAAY,IAAI,CAACN,IAAI,CAAC,CAAC,QAAAQ,QAAA,CAAAK,EAAA,CAAAL,QAAA,CAAAT,IAAA,CAAAS,QAAA,CAAAM,EAAA,IAAAN,QAAA,CAAAG,EAAA,EAAAH,QAAA,CAAAI,EAAA,CAAAJ,QAAA,CAAAK,EAAA,EAAAL,QAAA,CAAAO,EAAA,IAAAP,QAAA,CAAAQ,EAAA,EACrBC,UAAU,CAAEzC,YAAY,CAACyC,UAAU,CACnCC,SAAS,CAAE1C,YAAY,CAAC2C,YAAY,SAAAX,QAAA,CAAAb,MAAA,aAAAa,QAAA,CAAAC,EAAA,EAAAD,QAAA,CAAAM,EAAA,CAAAN,QAAA,CAAAO,EAAA,CAAAP,QAAA,CAAAQ,EAAA,4BAAAR,QAAA,CAAAY,IAAA,MAAAf,OAAA,GAEvC,mBAAAgB,EAAA,SAAAjB,KAAA,CAAAkB,KAAA,MAAAC,SAAA,QACH,CAAC,SAfKlC,mBAAmB,CAAAG,SAAA,CAAAO,IAAA,CAiBzBtC,mBAAmB,CAAC4B,mBAAmB,CAAC,CAAAG,SAAA,CAAAE,IAAA,kBAAAF,SAAA,CAAAC,IAAA,IAAAD,SAAA,CAAAiB,EAAA,CAAAjB,SAAA,aAExCgC,OAAO,CAACC,KAAK,CAAC,QAAQ,CAAAjC,SAAA,CAAAiB,EAAO,CAAC,SAAAjB,SAAA,CAAAC,IAAA,IAE9B7B,eAAe,CAAC,KAAK,CAAC,QAAA4B,SAAA,CAAAkC,MAAA,8BAAAlC,SAAA,CAAA4B,IAAA,MAAAlC,QAAA,uBAEzB,kBArCK,CAAAL,MAAMA,CAAA,SAAAC,IAAA,CAAAwC,KAAA,MAAAC,SAAA,OAqCX,CAED5E,SAAS,CAAC,UAAM,CACdkC,MAAM,CAAC,CAAC,CACR;AACF,CAAC,CAAE,EAAE,CAAC,CAEN,GAAM,CAAA8C,KAAK,CAAG,CACZC,OAAO,CAAE,MAAM,CACfC,mBAAmB,CAAE,uCAAuC,CAC5DC,WAAW,CAAE,MAAM,CACnBC,OAAO,CAAE,WACX,CAAC,CAED,mBACE7E,KAAA,CAACZ,GAAG,EAAC0F,CAAC,CAAC,MAAM,CAAAC,QAAA,eACXjF,IAAA,QACE2E,KAAK,CAAE,CACLC,OAAO,CAAE,MAAM,CACfC,mBAAmB,CAAE,KAAK,CAC1BK,MAAM,CAAE,WACV,CAAE,CAAAD,QAAA,cAEFjF,IAAA,CAACT,WAAW,EAAC4F,OAAO,CAAC,UAAU,CAACD,MAAM,CAAC,QAAQ,CAAAD,QAAA,cAC7CjF,IAAA,CAACR,SAAS,EACR4F,EAAE,CAAC,QAAQ,CACXC,IAAI,CAAC,QAAQ,CACbC,KAAK,CAAC,8BAA8B,CACpChE,KAAK,CAAEL,UAAW,CAClBsE,QAAQ,CAAEpE,YAAa,CACvBqE,IAAI,CAAC,OAAO,CACb,CAAC,CACS,CAAC,CACX,CAAC,cACNxF,IAAA,QAAK2E,KAAK,CAAEA,KAAM,CAAAM,QAAA,CACfzE,gBAAgB,CACde,MAAM,CAAC,SAACC,YAAY,QAAK,CAAAD,MAAM,CAACC,YAAY,CAAC,GAAC,CAC9C2B,GAAG,CAAC,SAACsC,oBAAoB,qBACxBzF,IAAA,CAACF,UAAU,EAAC4F,GAAG,CAAEtF,QAAS,CAACuF,SAAS,CAAEF,oBAAqB,CAAE,CAAC,EAC/D,CAAC,CACD,CAAC,EACH,CAAC,CAEV,CAAC,CAED,cAAe,CAAAtF,YAAY"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"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,Tab}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import Title from'../../components/Title';import LaunchCustom from'./launchCustom';import LaunchEmbedding from'./launchEmbedding';import LaunchLLM from'./launchLLM';import LaunchRerank from'./launchRerank';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var LaunchModel=function LaunchModel(){var endPoint=useContext(ApiContext).endPoint;var _React$useState=React.useState('1'),_React$useState2=_slicedToArray(_React$useState,2),value=_React$useState2[0],setValue=_React$useState2[1];var _useState=useState(-1),_useState2=_slicedToArray(_useState,2),gpuAvailable=_useState2[0],setGPUAvailable=_useState2[1];var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var handleTabChange=function handleTabChange(event,newValue){setValue(newValue);};useEffect(function(){if(gpuAvailable===-1){fetch(endPoint+'/v1/cluster/devices',{method:'GET',headers:{'Content-Type':'application/json'}}).then(function(res){if(!res.ok){// Usually, if some errors happen here, check if the cluster is available\nres.json().then(function(errorData){setErrorMsg(\"Server error: \".concat(res.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{res.json().then(function(data){setGPUAvailable(parseInt(data,10));});}});}},[]);return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsx(Title,{title:\"Launch Model\"}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__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:\"1\"}),/*#__PURE__*/_jsx(Tab,{label:\"Embedding Models\",value:\"2\"}),/*#__PURE__*/_jsx(Tab,{label:\"Rerank Models\",value:\"3\"}),/*#__PURE__*/_jsx(Tab,{label:\"Custom Models\",value:\"4\"})]})}),/*#__PURE__*/_jsx(TabPanel,{value:\"1\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchLLM,{gpuAvailable:gpuAvailable})}),/*#__PURE__*/_jsx(TabPanel,{value:\"2\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchEmbedding,{})}),/*#__PURE__*/_jsx(TabPanel,{value:\"3\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchRerank,{})}),/*#__PURE__*/_jsx(TabPanel,{value:\"4\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchCustom,{gpuAvailable:gpuAvailable})})]})]});};export default LaunchModel;","map":{"version":3,"names":["TabContext","TabList","TabPanel","Box","Tab","React","useContext","useEffect","useState","ApiContext","ErrorMessageSnackBar","Title","LaunchCustom","LaunchEmbedding","LaunchLLM","LaunchRerank","jsx","_jsx","jsxs","_jsxs","LaunchModel","endPoint","_React$useState","_React$useState2","_slicedToArray","value","setValue","_useState","_useState2","gpuAvailable","setGPUAvailable","_useContext","setErrorMsg","handleTabChange","event","newValue","fetch","method","headers","then","res","ok","json","errorData","concat","status","detail","data","parseInt","m","children","title","sx","borderBottom","borderColor","onChange","label","padding"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/index.js"],"sourcesContent":["import { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, Tab } from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport Title from '../../components/Title'\nimport LaunchCustom from './launchCustom'\nimport LaunchEmbedding from './launchEmbedding'\nimport LaunchLLM from './launchLLM'\nimport LaunchRerank from './launchRerank'\n\nconst LaunchModel = () => {\n let endPoint = useContext(ApiContext).endPoint\n const [value, setValue] = React.useState('1')\n const [gpuAvailable, setGPUAvailable] = useState(-1)\n\n const { setErrorMsg } = useContext(ApiContext)\n\n const handleTabChange = (event, newValue) => {\n setValue(newValue)\n }\n\n useEffect(() => {\n if (gpuAvailable === -1) {\n fetch(endPoint + '/v1/cluster/devices', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((res) => {\n if (!res.ok) {\n // Usually, if some errors happen here, check if the cluster is available\n res.json().then((errorData) => {\n setErrorMsg(\n `Server error: ${res.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n res.json().then((data) => {\n setGPUAvailable(parseInt(data, 10))\n })\n }\n })\n }\n }, [])\n\n return (\n <Box m=\"20px\">\n <Title title=\"Launch Model\" />\n <ErrorMessageSnackBar />\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=\"1\" />\n <Tab label=\"Embedding Models\" value=\"2\" />\n <Tab label=\"Rerank Models\" value=\"3\" />\n <Tab label=\"Custom Models\" value=\"4\" />\n </TabList>\n </Box>\n <TabPanel value=\"1\" sx={{ padding: 0 }}>\n <LaunchLLM gpuAvailable={gpuAvailable} />\n </TabPanel>\n <TabPanel value=\"2\" sx={{ padding: 0 }}>\n <LaunchEmbedding />\n </TabPanel>\n <TabPanel value=\"3\" sx={{ padding: 0 }}>\n <LaunchRerank />\n </TabPanel>\n <TabPanel value=\"4\" sx={{ padding: 0 }}>\n <LaunchCustom gpuAvailable={gpuAvailable} />\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default LaunchModel\n"],"mappings":"6IAAA,OAASA,UAAU,CAAEC,OAAO,CAAEC,QAAQ,KAAQ,UAAU,CACxD,OAASC,GAAG,CAAEC,GAAG,KAAQ,eAAe,CACxC,MAAO,CAAAC,KAAK,EAAIC,UAAU,CAAEC,SAAS,CAAEC,QAAQ,KAAQ,OAAO,CAE9D,OAASC,UAAU,KAAQ,6BAA6B,CACxD,MAAO,CAAAC,oBAAoB,KAAM,uCAAuC,CACxE,MAAO,CAAAC,KAAK,KAAM,wBAAwB,CAC1C,MAAO,CAAAC,YAAY,KAAM,gBAAgB,CACzC,MAAO,CAAAC,eAAe,KAAM,mBAAmB,CAC/C,MAAO,CAAAC,SAAS,KAAM,aAAa,CACnC,MAAO,CAAAC,YAAY,KAAM,gBAAgB,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAEzC,GAAM,CAAAC,WAAW,CAAG,QAAd,CAAAA,WAAWA,CAAA,CAAS,CACxB,GAAI,CAAAC,QAAQ,CAAGf,UAAU,CAACG,UAAU,CAAC,CAACY,QAAQ,CAC9C,IAAAC,eAAA,CAA0BjB,KAAK,CAACG,QAAQ,CAAC,GAAG,CAAC,CAAAe,gBAAA,CAAAC,cAAA,CAAAF,eAAA,IAAtCG,KAAK,CAAAF,gBAAA,IAAEG,QAAQ,CAAAH,gBAAA,IACtB,IAAAI,SAAA,CAAwCnB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAAoB,UAAA,CAAAJ,cAAA,CAAAG,SAAA,IAA7CE,YAAY,CAAAD,UAAA,IAAEE,eAAe,CAAAF,UAAA,IAEpC,IAAAG,WAAA,CAAwBzB,UAAU,CAACG,UAAU,CAAC,CAAtCuB,WAAW,CAAAD,WAAA,CAAXC,WAAW,CAEnB,GAAM,CAAAC,eAAe,CAAG,QAAlB,CAAAA,eAAeA,CAAIC,KAAK,CAAEC,QAAQ,CAAK,CAC3CT,QAAQ,CAACS,QAAQ,CAAC,CACpB,CAAC,CAED5B,SAAS,CAAC,UAAM,CACd,GAAIsB,YAAY,GAAK,CAAC,CAAC,CAAE,CACvBO,KAAK,CAACf,QAAQ,CAAG,qBAAqB,CAAE,CACtCgB,MAAM,CAAE,KAAK,CACbC,OAAO,CAAE,CACP,cAAc,CAAE,kBAClB,CACF,CAAC,CAAC,CAACC,IAAI,CAAC,SAACC,GAAG,CAAK,CACf,GAAI,CAACA,GAAG,CAACC,EAAE,CAAE,CACX;AACAD,GAAG,CAACE,IAAI,CAAC,CAAC,CAACH,IAAI,CAAC,SAACI,SAAS,CAAK,CAC7BX,WAAW,kBAAAY,MAAA,CACQJ,GAAG,CAACK,MAAM,QAAAD,MAAA,CACzBD,SAAS,CAACG,MAAM,EAAI,eAAe,CAEvC,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,IAAM,CACLN,GAAG,CAACE,IAAI,CAAC,CAAC,CAACH,IAAI,CAAC,SAACQ,IAAI,CAAK,CACxBjB,eAAe,CAACkB,QAAQ,CAACD,IAAI,CAAE,EAAE,CAAC,CAAC,CACrC,CAAC,CAAC,CACJ,CACF,CAAC,CAAC,CACJ,CACF,CAAC,CAAE,EAAE,CAAC,CAEN,mBACE5B,KAAA,CAAChB,GAAG,EAAC8C,CAAC,CAAC,MAAM,CAAAC,QAAA,eACXjC,IAAA,CAACN,KAAK,EAACwC,KAAK,CAAC,cAAc,CAAE,CAAC,cAC9BlC,IAAA,CAACP,oBAAoB,GAAE,CAAC,cACxBS,KAAA,CAACnB,UAAU,EAACyB,KAAK,CAAEA,KAAM,CAAAyB,QAAA,eACvBjC,IAAA,CAACd,GAAG,EAACiD,EAAE,CAAE,CAAEC,YAAY,CAAE,CAAC,CAAEC,WAAW,CAAE,SAAU,CAAE,CAAAJ,QAAA,cACnD/B,KAAA,CAAClB,OAAO,EAACwB,KAAK,CAAEA,KAAM,CAAC8B,QAAQ,CAAEtB,eAAgB,CAAC,aAAW,MAAM,CAAAiB,QAAA,eACjEjC,IAAA,CAACb,GAAG,EAACoD,KAAK,CAAC,iBAAiB,CAAC/B,KAAK,CAAC,GAAG,CAAE,CAAC,cACzCR,IAAA,CAACb,GAAG,EAACoD,KAAK,CAAC,kBAAkB,CAAC/B,KAAK,CAAC,GAAG,CAAE,CAAC,cAC1CR,IAAA,CAACb,GAAG,EAACoD,KAAK,CAAC,eAAe,CAAC/B,KAAK,CAAC,GAAG,CAAE,CAAC,cACvCR,IAAA,CAACb,GAAG,EAACoD,KAAK,CAAC,eAAe,CAAC/B,KAAK,CAAC,GAAG,CAAE,CAAC,EAChC,CAAC,CACP,CAAC,cACNR,IAAA,CAACf,QAAQ,EAACuB,KAAK,CAAC,GAAG,CAAC2B,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAP,QAAA,cACrCjC,IAAA,CAACH,SAAS,EAACe,YAAY,CAAEA,YAAa,CAAE,CAAC,CACjC,CAAC,cACXZ,IAAA,CAACf,QAAQ,EAACuB,KAAK,CAAC,GAAG,CAAC2B,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAP,QAAA,cACrCjC,IAAA,CAACJ,eAAe,GAAE,CAAC,CACX,CAAC,cACXI,IAAA,CAACf,QAAQ,EAACuB,KAAK,CAAC,GAAG,CAAC2B,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAP,QAAA,cACrCjC,IAAA,CAACF,YAAY,GAAE,CAAC,CACR,CAAC,cACXE,IAAA,CAACf,QAAQ,EAACuB,KAAK,CAAC,GAAG,CAAC2B,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAP,QAAA,cACrCjC,IAAA,CAACL,YAAY,EAACiB,YAAY,CAAEA,YAAa,CAAE,CAAC,CACpC,CAAC,EACD,CAAC,EACV,CAAC,CAEV,CAAC,CAED,cAAe,CAAAT,WAAW"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{RocketLaunchOutlined,UndoOutlined}from'@mui/icons-material';import{Box,Chip,CircularProgress,FormControl,TextField}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{v1 as uuidv1}from'uuid';import{ApiContext}from'../../components/apiContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var CARD_HEIGHT=270;var CARD_WIDTH=270;var RerankCard=function RerankCard(_ref){var url=_ref.url,modelData=_ref.modelData;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),modelUID=_useState2[0],setModelUID=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),hover=_useState4[0],setHover=_useState4[1];var _useState5=useState(false),_useState6=_slicedToArray(_useState5,2),selected=_useState6[0],setSelected=_useState6[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;// UseEffects for parameter selection, change options based on previous selections\nuseEffect(function(){},[modelData]);var launchModel=function launchModel(url){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);var modelDataWithID={model_uid:modelUID.trim()===''?uuidv1():modelUID.trim(),model_name:modelData.model_name,model_type:'rerank'};// First fetch request to initiate the model\nfetch(url+'/v1/models',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(modelDataWithID)}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var styles={container:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden',boxShadow:'0 0 2px #00000099'},descriptionCard:{position:'relative',top:'-1px',left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(CARD_HEIGHT+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},img:{display:'block',margin:'0 auto',width:'180px',height:'180px',objectFit:'cover',borderRadius:'10px'},titleContainer:{minHeight:'120px'},h2:{margin:'10px 10px',fontSize:'20px'},buttonsContainer:{display:'flex',margin:'0 auto',marginTop:'60px',border:'none',justifyContent:'space-between',alignItems:'center'},buttonContainer:{width:'45%',borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'0px'},buttonItem:{width:'100%',margin:'0 auto',padding:'5px',display:'flex',justifyContent:'center',borderRadius:'4px',border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},instructionText:{fontSize:'12px',color:'#666666',fontStyle:'italic',margin:'10px 0',textAlign:'center'},slideIn:{transform:'translateX(0%)',transition:'transform 0.2s ease-in-out'},slideOut:{transform:'translateX(100%)',transition:'transform 0.2s ease-in-out'},iconRow:{display:'flex',justifyContent:'space-between',alignItems:'center'},iconItem:{display:'flex',flexDirection:'column',alignItems:'center',margin:'20px'},boldIconText:{fontWeight:'bold',fontSize:'1.2em'},muiIcon:{fontSize:'1.5em'},smallText:{fontSize:'0.8em'},langRow:{margin:'2px 5px 40px 5px'}};// Set two different states based on mouse hover\nreturn/*#__PURE__*/_jsxs(Box,{style:hover?styles.containerSelected:styles.container,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);},onClick:function onClick(){if(!selected){setSelected(true);}},children:[/*#__PURE__*/_jsxs(Box,{style:styles.descriptionCard,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.titleContainer,children:[/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,children:modelData.model_name}),/*#__PURE__*/_jsxs(\"div\",{style:styles.langRow,children:[function(){if(modelData.language.includes('en')){return/*#__PURE__*/_jsx(Chip,{label:\"EN\",variant:\"outlined\",size:\"small\",sx:{marginRight:'10px'}});}}(),function(){if(modelData.language.includes('zh')){return/*#__PURE__*/_jsx(Chip,{label:\"ZH\",variant:\"outlined\",size:\"small\"});}}(),function(){if(modelData.is_cached){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\",sx:{marginLeft:'10px'}});}}()]})]}),hover?/*#__PURE__*/_jsx(\"p\",{style:styles.instructionText,children:\"Click with mouse to launch the model\"}):/*#__PURE__*/_jsx(\"p\",{style:styles.instructionText})]}),/*#__PURE__*/_jsxs(Box,{style:selected?_objectSpread(_objectSpread({},styles.parameterCard),styles.slideIn):_objectSpread(_objectSpread({},styles.parameterCard),styles.slideOut),children:[/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,children:modelData.model_name}),/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",fullWidth:true,children:/*#__PURE__*/_jsx(TextField,{variant:\"outlined\",value:modelUID,label:\"(Optional) Model UID, uuid by default\",onChange:function onChange(e){return setModelUID(e.target.value);}})}),/*#__PURE__*/_jsxs(Box,{style:styles.buttonsContainer,children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch Rerank\",style:styles.buttonContainer,onClick:function onClick(){return launchModel(url,modelData);},disabled:isCallingApi||isUpdatingModel||!modelData,children:function(){if(isCallingApi||isUpdatingModel){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(CircularProgress,{size:\"20px\",sx:{color:'#000000'}})});}else if(!modelData){return/*#__PURE__*/_jsx(Box,{style:_objectSpread(_objectSpread({},styles.buttonItem),{},{backgroundColor:'#f2f2f2'}),children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{size:\"20px\"})});}else{return/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(RocketLaunchOutlined,{color:\"#000000\",size:\"20px\"})});}}()}),/*#__PURE__*/_jsx(\"button\",{title:\"Launch Rerank\",style:styles.buttonContainer,onClick:function onClick(){return setSelected(false);},children:/*#__PURE__*/_jsx(Box,{style:styles.buttonItem,children:/*#__PURE__*/_jsx(UndoOutlined,{color:\"#000000\",size:\"20px\"})})})]})]})]});};export default RerankCard;","map":{"version":3,"names":["RocketLaunchOutlined","UndoOutlined","Box","Chip","CircularProgress","FormControl","TextField","React","useContext","useEffect","useState","v1","uuidv1","ApiContext","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","RerankCard","_ref","url","modelData","_useState","_useState2","_slicedToArray","modelUID","setModelUID","_useState3","_useState4","hover","setHover","_useState5","_useState6","selected","setSelected","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","launchModel","modelDataWithID","model_uid","trim","model_name","model_type","fetch","method","headers","body","JSON","stringify","then","catch","error","console","styles","container","display","position","width","concat","height","border","borderRadius","background","overflow","containerSelected","boxShadow","descriptionCard","top","left","padding","parameterCard","img","margin","objectFit","titleContainer","minHeight","h2","fontSize","buttonsContainer","marginTop","justifyContent","alignItems","buttonContainer","borderWidth","backgroundColor","paddingLeft","paddingRight","buttonItem","borderColor","instructionText","color","fontStyle","textAlign","slideIn","transform","transition","slideOut","iconRow","iconItem","flexDirection","boldIconText","fontWeight","muiIcon","smallText","langRow","style","onMouseEnter","onMouseLeave","onClick","children","language","includes","label","variant","size","sx","marginRight","is_cached","marginLeft","_objectSpread","fullWidth","value","onChange","e","target","title","disabled"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/rerankCard.js"],"sourcesContent":["import { RocketLaunchOutlined, UndoOutlined } from '@mui/icons-material'\nimport {\n Box,\n Chip,\n CircularProgress,\n FormControl,\n TextField,\n} from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { v1 as uuidv1 } from 'uuid'\n\nimport { ApiContext } from '../../components/apiContext'\n\nconst CARD_HEIGHT = 270\nconst CARD_WIDTH = 270\n\nconst RerankCard = ({ url, modelData }) => {\n const [modelUID, setModelUID] = useState('')\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n\n // UseEffects for parameter selection, change options based on previous selections\n useEffect(() => {}, [modelData])\n\n const launchModel = (url) => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n\n setIsCallingApi(true)\n\n const modelDataWithID = {\n model_uid: modelUID.trim() === '' ? uuidv1() : modelUID.trim(),\n model_name: modelData.model_name,\n model_type: 'rerank',\n }\n\n // First fetch request to initiate the model\n fetch(url + '/v1/models', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(modelDataWithID),\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const styles = {\n container: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n },\n containerSelected: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n boxShadow: '0 0 2px #00000099',\n },\n descriptionCard: {\n position: 'relative',\n top: '-1px',\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${CARD_HEIGHT + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n img: {\n display: 'block',\n margin: '0 auto',\n width: '180px',\n height: '180px',\n objectFit: 'cover',\n borderRadius: '10px',\n },\n titleContainer: {\n minHeight: '120px',\n },\n h2: {\n margin: '10px 10px',\n fontSize: '20px',\n },\n buttonsContainer: {\n display: 'flex',\n margin: '0 auto',\n marginTop: '60px',\n border: 'none',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonContainer: {\n width: '45%',\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n buttonItem: {\n width: '100%',\n margin: '0 auto',\n padding: '5px',\n display: 'flex',\n justifyContent: 'center',\n borderRadius: '4px',\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n },\n instructionText: {\n fontSize: '12px',\n color: '#666666',\n fontStyle: 'italic',\n margin: '10px 0',\n textAlign: 'center',\n },\n slideIn: {\n transform: 'translateX(0%)',\n transition: 'transform 0.2s ease-in-out',\n },\n slideOut: {\n transform: 'translateX(100%)',\n transition: 'transform 0.2s ease-in-out',\n },\n iconRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n iconItem: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n margin: '20px',\n },\n boldIconText: {\n fontWeight: 'bold',\n fontSize: '1.2em',\n },\n muiIcon: {\n fontSize: '1.5em',\n },\n smallText: {\n fontSize: '0.8em',\n },\n langRow: {\n margin: '2px 5px 40px 5px',\n },\n }\n\n // Set two different states based on mouse hover\n return (\n <Box\n style={hover ? styles.containerSelected : styles.container}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={() => {\n if (!selected) {\n setSelected(true)\n }\n }}\n >\n {/* First state: show description page */}\n <Box style={styles.descriptionCard}>\n <div style={styles.titleContainer}>\n <h2 style={styles.h2}>{modelData.model_name}</h2>\n <div style={styles.langRow}>\n {(() => {\n if (modelData.language.includes('en')) {\n return (\n <Chip\n label=\"EN\"\n variant=\"outlined\"\n size=\"small\"\n sx={{ marginRight: '10px' }}\n />\n )\n }\n })()}\n {(() => {\n if (modelData.language.includes('zh')) {\n return <Chip label=\"ZH\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (modelData.is_cached) {\n return (\n <Chip\n label=\"Cached\"\n variant=\"outlined\"\n size=\"small\"\n sx={{ marginLeft: '10px' }}\n />\n )\n }\n })()}\n </div>\n </div>\n {hover ? (\n <p style={styles.instructionText}>\n Click with mouse to launch the model\n </p>\n ) : (\n <p style={styles.instructionText}></p>\n )}\n </Box>\n {/* Second state: show parameter selection page */}\n <Box\n style={\n selected\n ? { ...styles.parameterCard, ...styles.slideIn }\n : { ...styles.parameterCard, ...styles.slideOut }\n }\n >\n <h2 style={styles.h2}>{modelData.model_name}</h2>\n <FormControl variant=\"outlined\" margin=\"normal\" fullWidth>\n <TextField\n variant=\"outlined\"\n value={modelUID}\n label=\"(Optional) Model UID, uuid by default\"\n onChange={(e) => setModelUID(e.target.value)}\n />\n </FormControl>\n <Box style={styles.buttonsContainer}>\n <button\n title=\"Launch Rerank\"\n style={styles.buttonContainer}\n onClick={() => launchModel(url, modelData)}\n disabled={isCallingApi || isUpdatingModel || !modelData}\n >\n {(() => {\n if (isCallingApi || isUpdatingModel) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <CircularProgress\n size=\"20px\"\n sx={{\n color: '#000000',\n }}\n />\n </Box>\n )\n } else if (!modelData) {\n return (\n <Box\n style={{ ...styles.buttonItem, backgroundColor: '#f2f2f2' }}\n >\n <RocketLaunchOutlined size=\"20px\" />\n </Box>\n )\n } else {\n return (\n <Box style={styles.buttonItem}>\n <RocketLaunchOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n )\n }\n })()}\n </button>\n <button\n title=\"Launch Rerank\"\n style={styles.buttonContainer}\n onClick={() => setSelected(false)}\n >\n <Box style={styles.buttonItem}>\n <UndoOutlined color=\"#000000\" size=\"20px\" />\n </Box>\n </button>\n </Box>\n </Box>\n </Box>\n )\n}\n\nexport default RerankCard\n"],"mappings":"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"},"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 _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.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{Box,Checkbox,FormControl,FormControlLabel,FormHelperText,Radio,RadioGroup}from'@mui/material';import Alert from'@mui/material/Alert';import AlertTitle from'@mui/material/AlertTitle';import Button from'@mui/material/Button';import TextField from'@mui/material/TextField';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import Title from'../../components/Title';import{useMode}from'../../theme';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var SUPPORTED_LANGUAGES_DICT={en:'English',zh:'Chinese'};var SUPPORTED_FEATURES=['Generate','Chat'];// Convert dictionary of supported languages into list\nvar SUPPORTED_LANGUAGES=Object.keys(SUPPORTED_LANGUAGES_DICT);var RegisterModel=function RegisterModel(){var ERROR_COLOR=useMode();var endPoint=useContext(ApiContext).endPoint;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),successMsg=_useState2[0],setSuccessMsg=_useState2[1];var _useState3=useState('pytorch'),_useState4=_slicedToArray(_useState3,2),modelFormat=_useState4[0],setModelFormat=_useState4[1];var _useState5=useState(7),_useState6=_slicedToArray(_useState5,2),modelSize=_useState6[0],setModelSize=_useState6[1];var _useState7=useState('/path/to/llama-2'),_useState8=_slicedToArray(_useState7,2),modelUri=_useState8[0],setModelUri=_useState8[1];var _useState9=useState({version:1,context_length:2048,model_name:'custom-llama-2',model_lang:['en'],model_ability:['generate'],model_description:'This is a custom model description.',model_specs:[],prompt_style:undefined}),_useState10=_slicedToArray(_useState9,2),formData=_useState10[0],setFormData=_useState10[1];var _useState11=useState('vicuna'),_useState12=_slicedToArray(_useState11,2),promptStyleLabel=_useState12[0],setPromptStyleLabel=_useState12[1];var _useState13=useState([]),_useState14=_slicedToArray(_useState13,2),promptStyles=_useState14[0],setPromptStyles=_useState14[1];// model name must be\n// 1. Starts with an alphanumeric character (a letter or a digit).\n// 2. Followed by any number of alphanumeric characters, underscores (_), or hyphens (-).\nvar errorModelName=!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(formData.model_name);var errorModelDescription=!/^[A-Za-z0-9\\s!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]{0,500}$/.test(formData.model_description);var errorContextLength=formData.context_length===0;var errorLanguage=formData.model_lang===undefined||formData.model_lang.length===0;var errorAbility=formData.model_ability===undefined||formData.model_ability.length===0;var errorModelSize=formData.model_specs&&formData.model_specs.some(function(spec){return spec.model_size_in_billions===undefined||spec.model_size_in_billions===0;});var errorAny=errorModelName||errorModelDescription||errorContextLength||errorLanguage||errorAbility||errorModelSize;useEffect(function(){var getBuiltInPromptStyles=/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var response,errorData,data,res,key,v;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetch(endPoint+'/v1/models/prompts',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context.sent;if(response.ok){_context.next=10;break;}_context.next=6;return response.json();case 6:errorData=_context.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context.next=16;break;case 10:_context.next=12;return response.json();case 12:data=_context.sent;res=[];for(key in data){v=data[key];v['name']=key;res.push(v);}setPromptStyles(res);case 16:case\"end\":return _context.stop();}},_callee);}));return function getBuiltInPromptStyles(){return _ref.apply(this,arguments);};}();// avoid keep requesting backend to get prompts\nif(promptStyles.length===0){getBuiltInPromptStyles().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}});var isModelFormatPytorch=function isModelFormatPytorch(){return modelFormat==='pytorch';};var getPathComponents=function getPathComponents(path){var normalizedPath=path.replace(/\\\\/g,'/');var baseDir=normalizedPath.substring(0,normalizedPath.lastIndexOf('/'));var filename=normalizedPath.substring(normalizedPath.lastIndexOf('/')+1);return{baseDir:baseDir,filename:filename};};var handleClick=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var _getPathComponents,baseDir,filename,ps,_ps$stop,_ps$stop_token_ids,response,errorData;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!isModelFormatPytorch()){_getPathComponents=getPathComponents(modelUri),baseDir=_getPathComponents.baseDir,filename=_getPathComponents.filename;formData.model_specs=[{model_format:modelFormat,model_size_in_billions:modelSize,quantizations:[''],model_id:'',model_file_name_template:filename,model_uri:baseDir}];}else{formData.model_specs=[{model_format:modelFormat,model_size_in_billions:modelSize,quantizations:['4-bit','8-bit','none'],model_id:'',model_uri:modelUri}];}if(formData.model_ability.includes('chat')){ps=promptStyles.find(function(item){return item.name===promptStyleLabel;});if(ps){formData.prompt_style={style_name:ps.style_name,system_prompt:ps.system_prompt,roles:ps.roles,intra_message_sep:ps.intra_message_sep,inter_message_sep:ps.inter_message_sep,stop:(_ps$stop=ps.stop)!==null&&_ps$stop!==void 0?_ps$stop:null,stop_token_ids:(_ps$stop_token_ids=ps.stop_token_ids)!==null&&_ps$stop_token_ids!==void 0?_ps$stop_token_ids:null};}}if(!errorAny){_context2.next=5;break;}setErrorMsg('Please fill in valid value for all fields');return _context2.abrupt(\"return\");case 5:_context2.prev=5;_context2.next=8;return fetch(endPoint+'/v1/model_registrations/LLM',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model:JSON.stringify(formData),persist:true})});case 8:response=_context2.sent;if(response.ok){_context2.next=16;break;}_context2.next=12;return response.json();case 12:errorData=_context2.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context2.next=17;break;case 16:setSuccessMsg('Model has been registered successfully! Navigate to launch model page to proceed.');case 17:_context2.next=23;break;case 19:_context2.prev=19;_context2.t0=_context2[\"catch\"](5);console.error('There was a problem with the fetch operation:',_context2.t0);setErrorMsg(_context2.t0.message||'An unexpected error occurred.');case 23:case\"end\":return _context2.stop();}},_callee2,null,[[5,19]]);}));return function handleClick(){return _ref2.apply(this,arguments);};}();var toggleLanguage=function toggleLanguage(lang){if(formData.model_lang.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:[].concat(_toConsumableArray(formData.model_lang),[lang])}));}};var toggleAbility=function toggleAbility(ability){if(formData.model_ability.includes(ability)){setFormData(_objectSpread(_objectSpread({},formData),{},{model_ability:formData.model_ability.filter(function(a){return a!==ability;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_ability:[].concat(_toConsumableArray(formData.model_ability),[ability])}));}};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsx(Title,{title:\"Register Model\"}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsx(Box,{padding:\"20px\"}),/*#__PURE__*/_jsxs(FormControl,{sx:styles.baseFormControl,children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Name\",error:errorModelName,defaultValue:formData.model_name,size:\"small\",helperText:\"Alphanumeric characters with properly placed hyphens and underscores. Must not match any built-in model names.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_name:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5},children:\"Model Format\"}),/*#__PURE__*/_jsx(RadioGroup,{value:modelFormat,onChange:function onChange(e){setModelFormat(e.target.value);},children:/*#__PURE__*/_jsxs(Box,{sx:styles.checkboxWrapper,children:[/*#__PURE__*/_jsx(Box,{sx:{marginLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:\"pytorch\",control:/*#__PURE__*/_jsx(Radio,{}),label:\"PyTorch\"})}),/*#__PURE__*/_jsx(Box,{sx:{marginLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:\"ggmlv3\",control:/*#__PURE__*/_jsx(Radio,{}),label:\"GGML\"})}),/*#__PURE__*/_jsx(Box,{sx:{marginLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:\"ggufv2\",control:/*#__PURE__*/_jsx(Radio,{}),label:\"GGUF\"})})]})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(TextField,{error:errorContextLength,label:\"Context Length\",value:formData.context_length,size:\"small\",onChange:function onChange(event){var value=event.target.value;// Remove leading zeros\nif(/^0+/.test(value)){value=value.replace(/^0+/,'')||'0';}// Ensure it's a positive integer, if not set it to the minimum\nif(!/^\\d+$/.test(value)||parseInt(value)<0){value='0';}// Update with the processed value\nsetFormData(_objectSpread(_objectSpread({},formData),{},{context_length:Number(value)}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(TextField,{label:\"Model Size in Billions\",size:\"small\",error:errorModelSize,value:modelSize,onChange:function onChange(e){var value=e.target.value;// Remove leading zeros\nif(/^0+/.test(value)){value=value.replace(/^0+/,'')||'0';}// Ensure it's a positive integer, if not set it to the minimum\nif(!/^\\d+$/.test(value)||parseInt(value)<0){value='0';}setModelSize(Number(value));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(TextField,{label:\"Model Path\",size:\"small\",value:modelUri,onChange:function onChange(e){setModelUri(e.target.value);},helperText:\"For PyTorch, provide the model directory. For GGML/GGUF, provide the model file path.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(TextField,{label:\"Model Description (Optional)\",error:errorModelDescription,defaultValue:formData.model_description,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_description:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:errorLanguage?ERROR_COLOR:'inherit'},children:\"Model Languages\"}),/*#__PURE__*/_jsx(Box,{sx:styles.checkboxWrapper,children:SUPPORTED_LANGUAGES.map(function(lang){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:formData.model_lang.includes(lang),onChange:function onChange(){return toggleLanguage(lang);},name:lang,sx:errorLanguage?{'color':ERROR_COLOR,'&.Mui-checked':{color:ERROR_COLOR}}:{}}),label:SUPPORTED_LANGUAGES_DICT[lang],style:{paddingLeft:10,color:errorLanguage?ERROR_COLOR:'inherit'}})},lang);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"}),/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:errorAbility?ERROR_COLOR:'inherit'},children:\"Model Abilities\"}),/*#__PURE__*/_jsx(Box,{sx:styles.checkboxWrapper,children:SUPPORTED_FEATURES.map(function(ability){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:formData.model_ability.includes(ability.toLowerCase()),onChange:function onChange(){return toggleAbility(ability.toLowerCase());},name:ability,sx:errorAbility?{'color':ERROR_COLOR,'&.Mui-checked':{color:ERROR_COLOR}}:{}}),label:ability,style:{paddingLeft:10,color:errorAbility?ERROR_COLOR:'inherit'}})},ability);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),formData.model_ability.includes('chat')&&/*#__PURE__*/_jsxs(FormControl,{sx:styles.baseFormControl,children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:errorAbility?ERROR_COLOR:'inherit'},children:\"Prompt styles\"}),/*#__PURE__*/_jsx(FormHelperText,{children:\"Select a prompt style that aligns with the training data of your model.\"}),/*#__PURE__*/_jsx(RadioGroup,{value:promptStyleLabel,onChange:function onChange(e){setPromptStyleLabel(e.target.value);},children:/*#__PURE__*/_jsx(Box,{sx:styles.checkboxWrapper,children:promptStyles.map(function(p){return/*#__PURE__*/_jsx(Box,{sx:{marginLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:p.name,control:/*#__PURE__*/_jsx(Radio,{}),label:p.name})});})})})]}),/*#__PURE__*/_jsxs(Box,{width:'100%',children:[successMsg!==''&&/*#__PURE__*/_jsxs(Alert,{severity:\"success\",children:[/*#__PURE__*/_jsx(AlertTitle,{children:\"Success\"}),successMsg]}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleClick,children:\"Register Model\"})]})]});};export default RegisterModel;var styles={baseFormControl:{width:'100%',margin:'normal',size:'small'},checkboxWrapper:{display:'flex',flexWrap:'wrap',maxWidth:'80%'},labelPaddingLeft:{paddingLeft:5},formControlLabelPaddingLeft:{paddingLeft:10},buttonBox:{width:'100%',margin:'20px'},error:{fontWeight:'bold',margin:'5px 0',padding:'1px',borderRadius:'5px'}};","map":{"version":3,"names":["Box","Checkbox","FormControl","FormControlLabel","FormHelperText","Radio","RadioGroup","Alert","AlertTitle","Button","TextField","React","useContext","useEffect","useState","ApiContext","ErrorMessageSnackBar","Title","useMode","jsx","_jsx","jsxs","_jsxs","SUPPORTED_LANGUAGES_DICT","en","zh","SUPPORTED_FEATURES","SUPPORTED_LANGUAGES","Object","keys","RegisterModel","ERROR_COLOR","endPoint","_useContext","setErrorMsg","_useState","_useState2","_slicedToArray","successMsg","setSuccessMsg","_useState3","_useState4","modelFormat","setModelFormat","_useState5","_useState6","modelSize","setModelSize","_useState7","_useState8","modelUri","setModelUri","_useState9","version","context_length","model_name","model_lang","model_ability","model_description","model_specs","prompt_style","undefined","_useState10","formData","setFormData","_useState11","_useState12","promptStyleLabel","setPromptStyleLabel","_useState13","_useState14","promptStyles","setPromptStyles","errorModelName","test","errorModelDescription","errorContextLength","errorLanguage","length","errorAbility","errorModelSize","some","spec","model_size_in_billions","errorAny","getBuiltInPromptStyles","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","errorData","data","res","key","v","wrap","_callee$","_context","prev","next","fetch","method","headers","sent","ok","json","concat","status","detail","push","stop","apply","arguments","catch","error","message","console","isModelFormatPytorch","getPathComponents","path","normalizedPath","replace","baseDir","substring","lastIndexOf","filename","handleClick","_ref2","_callee2","_getPathComponents","ps","_ps$stop","_ps$stop_token_ids","_callee2$","_context2","model_format","quantizations","model_id","model_file_name_template","model_uri","includes","find","item","name","style_name","system_prompt","roles","intra_message_sep","inter_message_sep","stop_token_ids","abrupt","body","JSON","stringify","model","persist","t0","toggleLanguage","lang","_objectSpread","filter","l","_toConsumableArray","toggleAbility","ability","a","m","children","title","padding","sx","styles","baseFormControl","label","defaultValue","size","helperText","onChange","event","target","value","style","paddingLeft","e","checkboxWrapper","marginLeft","control","parseInt","Number","color","map","marginRight","checked","toLowerCase","p","width","severity","variant","type","onClick","margin","display","flexWrap","maxWidth","labelPaddingLeft","formControlLabelPaddingLeft","buttonBox","fontWeight","borderRadius"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/register_model/index.js"],"sourcesContent":["import {\n Box,\n Checkbox,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n} from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport AlertTitle from '@mui/material/AlertTitle'\nimport Button from '@mui/material/Button'\nimport TextField from '@mui/material/TextField'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport Title from '../../components/Title'\nimport { useMode } from '../../theme'\n\nconst SUPPORTED_LANGUAGES_DICT = { en: 'English', zh: 'Chinese' }\nconst SUPPORTED_FEATURES = ['Generate', 'Chat']\n\n// Convert dictionary of supported languages into list\nconst SUPPORTED_LANGUAGES = Object.keys(SUPPORTED_LANGUAGES_DICT)\n\nconst RegisterModel = () => {\n const ERROR_COLOR = useMode()\n const endPoint = useContext(ApiContext).endPoint\n const { setErrorMsg } = useContext(ApiContext)\n const [successMsg, setSuccessMsg] = useState('')\n const [modelFormat, setModelFormat] = useState('pytorch')\n const [modelSize, setModelSize] = useState(7)\n const [modelUri, setModelUri] = useState('/path/to/llama-2')\n const [formData, setFormData] = useState({\n version: 1,\n context_length: 2048,\n model_name: 'custom-llama-2',\n model_lang: ['en'],\n model_ability: ['generate'],\n model_description: 'This is a custom model description.',\n model_specs: [],\n prompt_style: undefined,\n })\n const [promptStyleLabel, setPromptStyleLabel] = useState('vicuna')\n const [promptStyles, setPromptStyles] = useState([])\n\n // model name must be\n // 1. Starts with an alphanumeric character (a letter or a digit).\n // 2. Followed by any number of alphanumeric characters, underscores (_), or hyphens (-).\n const errorModelName = !/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(\n formData.model_name\n )\n const errorModelDescription =\n !/^[A-Za-z0-9\\s!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]{0,500}$/.test(\n formData.model_description\n )\n const errorContextLength = formData.context_length === 0\n const errorLanguage =\n formData.model_lang === undefined || formData.model_lang.length === 0\n const errorAbility =\n formData.model_ability === undefined || formData.model_ability.length === 0\n const errorModelSize =\n formData.model_specs &&\n formData.model_specs.some((spec) => {\n return (\n spec.model_size_in_billions === undefined ||\n spec.model_size_in_billions === 0\n )\n })\n const errorAny =\n errorModelName ||\n errorModelDescription ||\n errorContextLength ||\n errorLanguage ||\n errorAbility ||\n errorModelSize\n\n useEffect(() => {\n const getBuiltInPromptStyles = async () => {\n const response = await fetch(endPoint + '/v1/models/prompts', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n const data = await response.json()\n let res = []\n for (const key in data) {\n let v = data[key]\n v['name'] = key\n res.push(v)\n }\n setPromptStyles(res)\n }\n }\n // avoid keep requesting backend to get prompts\n if (promptStyles.length === 0) {\n getBuiltInPromptStyles().catch((error) => {\n setErrorMsg(\n error.message ||\n 'An unexpected error occurred when getting builtin prompt styles.'\n )\n console.error('Error: ', error)\n })\n }\n })\n\n const isModelFormatPytorch = () => {\n return modelFormat === 'pytorch'\n }\n\n const getPathComponents = (path) => {\n const normalizedPath = path.replace(/\\\\/g, '/')\n const baseDir = normalizedPath.substring(0, normalizedPath.lastIndexOf('/'))\n const filename = normalizedPath.substring(\n normalizedPath.lastIndexOf('/') + 1\n )\n return { baseDir, filename }\n }\n\n const handleClick = async () => {\n if (!isModelFormatPytorch()) {\n const { baseDir, filename } = getPathComponents(modelUri)\n formData.model_specs = [\n {\n model_format: modelFormat,\n model_size_in_billions: modelSize,\n quantizations: [''],\n model_id: '',\n model_file_name_template: filename,\n model_uri: baseDir,\n },\n ]\n } else {\n formData.model_specs = [\n {\n model_format: modelFormat,\n model_size_in_billions: modelSize,\n quantizations: ['4-bit', '8-bit', 'none'],\n model_id: '',\n model_uri: modelUri,\n },\n ]\n }\n\n if (formData.model_ability.includes('chat')) {\n const ps = promptStyles.find((item) => item.name === promptStyleLabel)\n if (ps) {\n formData.prompt_style = {\n style_name: ps.style_name,\n system_prompt: ps.system_prompt,\n roles: ps.roles,\n intra_message_sep: ps.intra_message_sep,\n inter_message_sep: ps.inter_message_sep,\n stop: ps.stop ?? null,\n stop_token_ids: ps.stop_token_ids ?? null,\n }\n }\n }\n\n if (errorAny) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n\n try {\n const response = await fetch(endPoint + '/v1/model_registrations/LLM', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model: JSON.stringify(formData),\n persist: true,\n }),\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n setSuccessMsg(\n 'Model has been registered successfully! Navigate to launch model page to proceed.'\n )\n }\n } catch (error) {\n console.error('There was a problem with the fetch operation:', error)\n setErrorMsg(error.message || 'An unexpected error occurred.')\n }\n }\n\n const toggleLanguage = (lang) => {\n if (formData.model_lang.includes(lang)) {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n model_lang: [...formData.model_lang, lang],\n })\n }\n }\n\n const toggleAbility = (ability) => {\n if (formData.model_ability.includes(ability)) {\n setFormData({\n ...formData,\n model_ability: formData.model_ability.filter((a) => a !== ability),\n })\n } else {\n setFormData({\n ...formData,\n model_ability: [...formData.model_ability, ability],\n })\n }\n }\n\n return (\n <Box m=\"20px\">\n <Title title=\"Register Model\" />\n <ErrorMessageSnackBar />\n <Box padding=\"20px\"></Box>\n\n {/* Base Information */}\n <FormControl sx={styles.baseFormControl}>\n <TextField\n label=\"Model Name\"\n error={errorModelName}\n defaultValue={formData.model_name}\n size=\"small\"\n helperText=\"Alphanumeric characters with properly placed hyphens and underscores. Must not match any built-in model names.\"\n onChange={(event) =>\n setFormData({ ...formData, model_name: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n\n <label\n style={{\n paddingLeft: 5,\n }}\n >\n Model Format\n </label>\n\n <RadioGroup\n value={modelFormat}\n onChange={(e) => {\n setModelFormat(e.target.value)\n }}\n >\n <Box sx={styles.checkboxWrapper}>\n <Box sx={{ marginLeft: '10px' }}>\n <FormControlLabel\n value=\"pytorch\"\n control={<Radio />}\n label=\"PyTorch\"\n />\n </Box>\n <Box sx={{ marginLeft: '10px' }}>\n <FormControlLabel\n value=\"ggmlv3\"\n control={<Radio />}\n label=\"GGML\"\n />\n </Box>\n <Box sx={{ marginLeft: '10px' }}>\n <FormControlLabel\n value=\"ggufv2\"\n control={<Radio />}\n label=\"GGUF\"\n />\n </Box>\n </Box>\n </RadioGroup>\n <Box padding=\"15px\"></Box>\n\n <TextField\n error={errorContextLength}\n label=\"Context Length\"\n value={formData.context_length}\n size=\"small\"\n onChange={(event) => {\n let value = event.target.value\n // Remove leading zeros\n if (/^0+/.test(value)) {\n value = value.replace(/^0+/, '') || '0'\n }\n // Ensure it's a positive integer, if not set it to the minimum\n if (!/^\\d+$/.test(value) || parseInt(value) < 0) {\n value = '0'\n }\n // Update with the processed value\n setFormData({\n ...formData,\n context_length: Number(value),\n })\n }}\n />\n <Box padding=\"15px\"></Box>\n\n <TextField\n label=\"Model Size in Billions\"\n size=\"small\"\n error={errorModelSize}\n value={modelSize}\n onChange={(e) => {\n let value = e.target.value\n // Remove leading zeros\n if (/^0+/.test(value)) {\n value = value.replace(/^0+/, '') || '0'\n }\n // Ensure it's a positive integer, if not set it to the minimum\n if (!/^\\d+$/.test(value) || parseInt(value) < 0) {\n value = '0'\n }\n setModelSize(Number(value))\n }}\n />\n <Box padding=\"15px\"></Box>\n\n <TextField\n label=\"Model Path\"\n size=\"small\"\n value={modelUri}\n onChange={(e) => {\n setModelUri(e.target.value)\n }}\n helperText=\"For PyTorch, provide the model directory. For GGML/GGUF, provide the model file path.\"\n />\n <Box padding=\"15px\"></Box>\n\n <TextField\n label=\"Model Description (Optional)\"\n error={errorModelDescription}\n defaultValue={formData.model_description}\n size=\"small\"\n onChange={(event) =>\n setFormData({ ...formData, model_description: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n\n <label\n style={{\n paddingLeft: 5,\n color: errorLanguage ? ERROR_COLOR : 'inherit',\n }}\n >\n Model Languages\n </label>\n <Box sx={styles.checkboxWrapper}>\n {SUPPORTED_LANGUAGES.map((lang) => (\n <Box key={lang} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={formData.model_lang.includes(lang)}\n onChange={() => toggleLanguage(lang)}\n name={lang}\n sx={\n errorLanguage\n ? {\n 'color': ERROR_COLOR,\n '&.Mui-checked': {\n color: ERROR_COLOR,\n },\n }\n : {}\n }\n />\n }\n label={SUPPORTED_LANGUAGES_DICT[lang]}\n style={{\n paddingLeft: 10,\n color: errorLanguage ? ERROR_COLOR : 'inherit',\n }}\n />\n </Box>\n ))}\n </Box>\n <Box padding=\"15px\"></Box>\n\n <label\n style={{\n paddingLeft: 5,\n color: errorAbility ? ERROR_COLOR : 'inherit',\n }}\n >\n Model Abilities\n </label>\n <Box sx={styles.checkboxWrapper}>\n {SUPPORTED_FEATURES.map((ability) => (\n <Box key={ability} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={formData.model_ability.includes(\n ability.toLowerCase()\n )}\n onChange={() => toggleAbility(ability.toLowerCase())}\n name={ability}\n sx={\n errorAbility\n ? {\n 'color': ERROR_COLOR,\n '&.Mui-checked': {\n color: ERROR_COLOR,\n },\n }\n : {}\n }\n />\n }\n label={ability}\n style={{\n paddingLeft: 10,\n color: errorAbility ? ERROR_COLOR : 'inherit',\n }}\n />\n </Box>\n ))}\n </Box>\n <Box padding=\"15px\"></Box>\n </FormControl>\n\n {formData.model_ability.includes('chat') && (\n <FormControl sx={styles.baseFormControl}>\n <label\n style={{\n paddingLeft: 5,\n color: errorAbility ? ERROR_COLOR : 'inherit',\n }}\n >\n Prompt styles\n </label>\n <FormHelperText>\n Select a prompt style that aligns with the training data of your\n model.\n </FormHelperText>\n <RadioGroup\n value={promptStyleLabel}\n onChange={(e) => {\n setPromptStyleLabel(e.target.value)\n }}\n >\n <Box sx={styles.checkboxWrapper}>\n {promptStyles.map((p) => (\n <Box sx={{ marginLeft: '10px' }}>\n <FormControlLabel\n value={p.name}\n control={<Radio />}\n label={p.name}\n />\n </Box>\n ))}\n </Box>\n </RadioGroup>\n </FormControl>\n )}\n\n <Box width={'100%'}>\n {successMsg !== '' && (\n <Alert severity=\"success\">\n <AlertTitle>Success</AlertTitle>\n {successMsg}\n </Alert>\n )}\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleClick}\n >\n Register Model\n </Button>\n </Box>\n </Box>\n )\n}\n\nexport default RegisterModel\n\nconst styles = {\n baseFormControl: {\n width: '100%',\n margin: 'normal',\n size: 'small',\n },\n checkboxWrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n maxWidth: '80%',\n },\n labelPaddingLeft: {\n paddingLeft: 5,\n },\n formControlLabelPaddingLeft: {\n paddingLeft: 10,\n },\n buttonBox: {\n width: '100%',\n margin: '20px',\n },\n error: {\n fontWeight: 'bold',\n margin: '5px 0',\n padding: '1px',\n borderRadius: '5px',\n },\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|