xinference 0.8.3__py3-none-any.whl → 0.8.4__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 +3 -3
- xinference/core/chat_interface.py +1 -8
- xinference/model/llm/llm_family.json +72 -6
- xinference/model/llm/llm_family_modelscope.json +12 -6
- xinference/model/llm/utils.py +24 -16
- xinference/web/ui/build/asset-manifest.json +3 -3
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/js/{main.15822aeb.js → main.476e35cc.js} +3 -3
- xinference/web/ui/build/static/js/main.476e35cc.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/1d5b806c08ffb55539ee26b5fa9746a373f602354d6e55a0d4379d7e2f903868.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/396f7ce6ae6900bfdb00e369ade8a05045dc1df025610057ff7436d9e58af81c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/7b3a58afd15f913e9ab363c6051e449d885049a283ff905aa4d499124d4c20d1.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/ddf597663270471b31251b2abb36e3fa093efe20489387d996f993d2c61be112.json +1 -0
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/METADATA +3 -4
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/RECORD +21 -20
- xinference/web/ui/build/static/js/main.15822aeb.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/139e5e4adf436923107d2b02994c7ff6dba2aac1989e9b6638984f0dfe782c4a.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/193e7ba39e70d4bb2895a5cb317f6f293a5fd02e7e324c02a1eba2f83216419c.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/5c408307c982f07f9c09c85c98212d1b1c22548a9194c69548750a3016b91b88.json +0 -1
- /xinference/web/ui/build/static/js/{main.15822aeb.js.LICENSE.txt → main.476e35cc.js.LICENSE.txt} +0 -0
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/LICENSE +0 -0
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/WHEEL +0 -0
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/entry_points.txt +0 -0
- {xinference-0.8.3.dist-info → xinference-0.8.4.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
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{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var CARD_HEIGHT=380;var CARD_WIDTH=300;var ModelCard=function ModelCard(_ref){var url=_ref.url,modelData=_ref.modelData,gpuAvailable=_ref.gpuAvailable,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),hover=_useState2[0],setHover=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),selected=_useState4[0],setSelected=_useState4[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;var _useContext3=useContext(ApiContext),setErrorMsg=_useContext3.setErrorMsg;var navigate=useNavigate();// Model parameter selections\nvar _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),modelUID=_useState6[0],setModelUID=_useState6[1];var _useState7=useState(''),_useState8=_slicedToArray(_useState7,2),modelFormat=_useState8[0],setModelFormat=_useState8[1];var _useState9=useState(''),_useState10=_slicedToArray(_useState9,2),modelSize=_useState10[0],setModelSize=_useState10[1];var _useState11=useState(''),_useState12=_slicedToArray(_useState11,2),quantization=_useState12[0],setQuantization=_useState12[1];var _useState13=useState('auto'),_useState14=_slicedToArray(_useState13,2),nGPU=_useState14[0],setNGPU=_useState14[1];var _useState15=useState([]),_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;});}};// model size can be int or string. For string style, \"1_8\" means 1.8 as an example.\nvar convertModelSize=function convertModelSize(size){return size.toString().includes('_')?size:parseInt(size,10);};// UseEffects for parameter selection, change options based on previous selections\nuseEffect(function(){if(modelData){var modelFamily=modelData.model_specs;var formats=_toConsumableArray(new Set(modelFamily.map(function(spec){return spec.model_format;})));setFormatOptions(formats);}},[modelData]);useEffect(function(){if(modelFormat&&modelData){var modelFamily=modelData.model_specs;var sizes=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat;}).map(function(spec){return spec.model_size_in_billions;})));setSizeOptions(sizes);}},[modelFormat,modelData]);useEffect(function(){if(modelFormat&&modelSize&&modelData){var modelFamily=modelData.model_specs;var quants=_toConsumableArray(new Set(modelFamily.filter(function(spec){return spec.model_format===modelFormat&&spec.model_size_in_billions===convertModelSize(modelSize);}).flatMap(function(spec){return spec.quantizations;})));setQuantizationOptions(quants);}},[modelFormat,modelSize,modelData]);var launchModel=function launchModel(url){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);var modelDataWithID={// If user does not fill model_uid, pass null (None) to server and server generates it.\nmodel_uid:modelUID.trim()===''?null:modelUID.trim(),model_name:modelData.model_name,model_format:modelFormat,model_size_in_billions:convertModelSize(modelSize),quantization:quantization,n_gpu:nGPU==='0'?null:nGPU==='auto'?'auto':parseInt(nGPU,10)};// First fetcher request to initiate the model\nfetcher(url+'/v1/models',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(modelDataWithID)}).then(function(response){if(!response.ok){// Assuming the server returns error details in JSON format\nresponse.json().then(function(errorData){setErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));});}else{navigate('/running_models');}setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});};var styles={container:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden',boxShadow:'0 0 2px #00000099'},descriptionCard:{position:'relative',top:'-1px',left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(CARD_HEIGHT+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(CARD_HEIGHT,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},img:{display:'block',margin:'0 auto',width:'180px',height:'180px',objectFit:'cover',borderRadius:'10px'},h2:{margin:'10px 10px',fontSize:'20px'},p:{minHeight:'140px',fontSize:'14px',padding:'0px 10px 15px 10px'},buttonsContainer:{display:'flex',margin:'0 auto',marginTop:'15px',border:'none',justifyContent:'space-between',alignItems:'center'},buttonContainer:{width:'45%',borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'0px'},buttonItem:{width:'100%',margin:'0 auto',padding:'5px',display:'flex',justifyContent:'center',borderRadius:'4px',border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},instructionText:{fontSize:'12px',color:'#666666',fontStyle:'italic',margin:'10px 0',textAlign:'center'},slideIn:{transform:'translateX(0%)',transition:'transform 0.2s ease-in-out'},slideOut:{transform:'translateX(100%)',transition:'transform 0.2s ease-in-out'},iconRow:{display:'flex',justifyContent:'space-between',alignItems:'center'},iconItem:{display:'flex',flexDirection:'column',alignItems:'center',margin:'20px'},boldIconText:{fontWeight:'bold',fontSize:'1.2em'},muiIcon:{fontSize:'1.5em'},smallText:{fontSize:'0.8em'},tagRow:{margin:'2px 5px'}};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();fetcher(url+\"/v1/model_registrations/LLM/\".concat(modelData.model_name),{method:'DELETE',headers:{'Content-Type':'application/json'}}).then(function(){return setCustomDeleted(true);}).catch(console.error);};// Set two different states based on mouse hover\nreturn/*#__PURE__*/_jsxs(Box,{style:hover?styles.containerSelected:styles.container,onMouseEnter:function onMouseEnter(){return setHover(true);},onMouseLeave:function onMouseLeave(){return setHover(false);},onClick:function onClick(){if(!selected&&!customDeleted){setSelected(true);}},children:[/*#__PURE__*/_jsxs(Box,{style:styles.descriptionCard,children:[is_custom&&/*#__PURE__*/_jsxs(Stack,{direction:\"row\",justifyContent:\"space-evenly\",alignItems:\"center\",spacing:1,children:[/*#__PURE__*/_jsx(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(Stack,{spacing:1,direction:\"row\",useFlexGap:true,flexWrap:\"wrap\",sx:{marginLeft:1},children:[function(){return modelData.model_lang.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"});});}(),function(){if(modelData.model_specs.some(function(spec){return isCached(spec);})){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\"});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]}),/*#__PURE__*/_jsx(\"p\",{style:styles.p,children:modelData.model_description}),/*#__PURE__*/_jsxs(\"div\",{style:styles.iconRow,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsxs(\"span\",{style:styles.boldIconText,children:[Math.floor(modelData.context_length/1000),\"K\"]}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"context length\"})]}),function(){if(modelData.model_ability.includes('chat')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(ChatOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"chat model\"})]});}else if(modelData.model_ability.includes('generate')){return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(EditNoteOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"generate model\"})]});}else{return/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(HelpCenterOutlined,{style:styles.muiIcon}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"other model\"})]});}}()]})]}),/*#__PURE__*/_jsxs(Box,{style:selected?_objectSpread(_objectSpread({},styles.parameterCard),styles.slideIn):_objectSpread(_objectSpread({},styles.parameterCard),styles.slideOut),children:[/*#__PURE__*/_jsx(\"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$0$cache_status,_specs$,_specs$0$cache_status2,_specs$2,_specs$2$cache_status;var specs=modelData.model_specs.filter(function(spec){return spec.model_format===modelFormat;}).filter(function(spec){return spec.model_size_in_billions===convertModelSize(modelSize);});var cached=modelFormat==='pytorch'?(_specs$0$cache_status=(_specs$=specs[0])===null||_specs$===void 0?void 0:_specs$.cache_status)!==null&&_specs$0$cache_status!==void 0?_specs$0$cache_status:false===true:(_specs$0$cache_status2=(_specs$2=specs[0])===null||_specs$2===void 0?void 0:(_specs$2$cache_status=_specs$2.cache_status)===null||_specs$2$cache_status===void 0?void 0:_specs$2$cache_status[index])!==null&&_specs$0$cache_status2!==void 0?_specs$0$cache_status2:false===true;var displayedQuant=cached?quant+' (cached)':quant;return/*#__PURE__*/_jsx(MenuItem,{value:quant,children:displayedQuant},quant);})})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:6,children:/*#__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'&&modelFormat!=='gptq'&&modelFormat!=='awq'?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, model name 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","useNavigate","ApiContext","fetcher","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","ModelCard","_ref","url","modelData","gpuAvailable","_ref$is_custom","is_custom","_useState","_useState2","_slicedToArray","hover","setHover","_useState3","_useState4","selected","setSelected","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","navigate","_useState5","_useState6","modelUID","setModelUID","_useState7","_useState8","modelFormat","setModelFormat","_useState9","_useState10","modelSize","setModelSize","_useState11","_useState12","quantization","setQuantization","_useState13","_useState14","nGPU","setNGPU","_useState15","_useState16","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","convertModelSize","size","toString","includes","parseInt","modelFamily","model_specs","formats","_toConsumableArray","Set","sizes","filter","model_size_in_billions","quants","flatMap","quantizations","launchModel","modelDataWithID","model_uid","trim","model_name","n_gpu","method","headers","body","JSON","stringify","then","response","ok","json","errorData","concat","status","detail","catch","error","console","styles","container","display","position","width","height","border","borderRadius","background","overflow","containerSelected","boxShadow","descriptionCard","top","left","padding","parameterCard","img","margin","objectFit","h2","fontSize","p","minHeight","buttonsContainer","marginTop","justifyContent","alignItems","buttonContainer","borderWidth","backgroundColor","paddingLeft","paddingRight","buttonItem","borderColor","instructionText","color","fontStyle","textAlign","slideIn","transform","transition","slideOut","iconRow","iconItem","flexDirection","boldIconText","fontWeight","muiIcon","smallText","tagRow","handeCustomDelete","e","stopPropagation","style","onMouseEnter","onMouseLeave","onClick","children","direction","spacing","variant","gutterBottom","noWrap","disabled","useFlexGap","flexWrap","sx","marginLeft","model_lang","v","label","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","_specs$0$cache_status","_specs$","_specs$0$cache_status2","_specs$2","_specs$2$cache_status","displayedQuant","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 { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetcher from '../../components/fetcher'\n\nconst CARD_HEIGHT = 380\nconst CARD_WIDTH = 300\n\nconst ModelCard = ({ url, modelData, gpuAvailable, is_custom = false }) => {\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n const navigate = useNavigate()\n\n // Model parameter selections\n const [modelUID, setModelUID] = useState('')\n const [modelFormat, setModelFormat] = useState('')\n const [modelSize, setModelSize] = useState('')\n const [quantization, setQuantization] = useState('')\n const [nGPU, setNGPU] = useState('auto')\n\n const [formatOptions, setFormatOptions] = useState([])\n const [sizeOptions, setSizeOptions] = useState([])\n const [quantizationOptions, setQuantizationOptions] = useState([])\n const [customDeleted, setCustomDeleted] = useState(false)\n\n const range = (start, end) => {\n return new Array(end - start + 1).fill(undefined).map((_, i) => i + start)\n }\n\n const isCached = (spec) => {\n if (spec.model_format === 'pytorch') {\n return spec.cache_status && spec.cache_status === true\n } else {\n return spec.cache_status && spec.cache_status.some((cs) => cs)\n }\n }\n\n // model size can be int or string. For string style, \"1_8\" means 1.8 as an example.\n const convertModelSize = (size) => {\n return size.toString().includes('_') ? size : parseInt(size, 10)\n }\n\n // UseEffects for parameter selection, change options based on previous selections\n useEffect(() => {\n if (modelData) {\n const modelFamily = modelData.model_specs\n const formats = [...new Set(modelFamily.map((spec) => spec.model_format))]\n setFormatOptions(formats)\n }\n }, [modelData])\n\n useEffect(() => {\n if (modelFormat && modelData) {\n const modelFamily = modelData.model_specs\n const sizes = [\n ...new Set(\n modelFamily\n .filter((spec) => spec.model_format === modelFormat)\n .map((spec) => spec.model_size_in_billions)\n ),\n ]\n setSizeOptions(sizes)\n }\n }, [modelFormat, modelData])\n\n useEffect(() => {\n if (modelFormat && modelSize && modelData) {\n const modelFamily = modelData.model_specs\n const quants = [\n ...new Set(\n modelFamily\n .filter(\n (spec) =>\n spec.model_format === modelFormat &&\n spec.model_size_in_billions === convertModelSize(modelSize)\n )\n .flatMap((spec) => spec.quantizations)\n ),\n ]\n setQuantizationOptions(quants)\n }\n }, [modelFormat, modelSize, modelData])\n\n const launchModel = (url) => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n\n setIsCallingApi(true)\n\n const modelDataWithID = {\n // If user does not fill model_uid, pass null (None) to server and server generates it.\n model_uid: modelUID.trim() === '' ? null : modelUID.trim(),\n model_name: modelData.model_name,\n model_format: modelFormat,\n model_size_in_billions: convertModelSize(modelSize),\n quantization: quantization,\n n_gpu:\n nGPU === '0' ? null : nGPU === 'auto' ? 'auto' : parseInt(nGPU, 10),\n }\n\n // First fetcher request to initiate the model\n fetcher(url + '/v1/models', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(modelDataWithID),\n })\n .then((response) => {\n if (!response.ok) {\n // Assuming the server returns error details in JSON format\n response.json().then((errorData) => {\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n })\n } else {\n navigate('/running_models')\n }\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }\n\n const styles = {\n container: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n },\n containerSelected: {\n display: 'block',\n position: 'relative',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n borderRadius: '20px',\n background: 'white',\n overflow: 'hidden',\n boxShadow: '0 0 2px #00000099',\n },\n descriptionCard: {\n position: 'relative',\n top: '-1px',\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${CARD_HEIGHT + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${CARD_HEIGHT}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n img: {\n display: 'block',\n margin: '0 auto',\n width: '180px',\n height: '180px',\n objectFit: 'cover',\n borderRadius: '10px',\n },\n h2: {\n margin: '10px 10px',\n fontSize: '20px',\n },\n p: {\n minHeight: '140px',\n fontSize: '14px',\n padding: '0px 10px 15px 10px',\n },\n buttonsContainer: {\n display: 'flex',\n margin: '0 auto',\n marginTop: '15px',\n border: 'none',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n buttonContainer: {\n width: '45%',\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '0px',\n },\n buttonItem: {\n width: '100%',\n margin: '0 auto',\n padding: '5px',\n display: 'flex',\n justifyContent: 'center',\n borderRadius: '4px',\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n },\n instructionText: {\n fontSize: '12px',\n color: '#666666',\n fontStyle: 'italic',\n margin: '10px 0',\n textAlign: 'center',\n },\n slideIn: {\n transform: 'translateX(0%)',\n transition: 'transform 0.2s ease-in-out',\n },\n slideOut: {\n transform: 'translateX(100%)',\n transition: 'transform 0.2s ease-in-out',\n },\n iconRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n iconItem: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n margin: '20px',\n },\n boldIconText: {\n fontWeight: 'bold',\n fontSize: '1.2em',\n },\n muiIcon: {\n fontSize: '1.5em',\n },\n smallText: {\n fontSize: '0.8em',\n },\n tagRow: {\n margin: '2px 5px',\n },\n }\n\n const handeCustomDelete = (e) => {\n e.stopPropagation()\n fetcher(url + `/v1/model_registrations/LLM/${modelData.model_name}`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(() => setCustomDeleted(true))\n .catch(console.error)\n }\n\n // Set two different states based on mouse hover\n return (\n <Box\n style={hover ? styles.containerSelected : styles.container}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={() => {\n if (!selected && !customDeleted) {\n setSelected(true)\n }\n }}\n >\n {/* First state: show description page */}\n <Box style={styles.descriptionCard}>\n {is_custom && (\n <Stack\n direction=\"row\"\n justifyContent=\"space-evenly\"\n alignItems=\"center\"\n spacing={1}\n >\n <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 <Stack\n spacing={1}\n direction=\"row\"\n useFlexGap\n flexWrap=\"wrap\"\n sx={{ marginLeft: 1 }}\n >\n {(() => {\n return modelData.model_lang.map((v) => {\n return <Chip label={v} variant=\"outlined\" size=\"small\" />\n })\n })()}\n {(() => {\n if (modelData.model_specs.some((spec) => isCached(spec))) {\n return <Chip label=\"Cached\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n </Stack>\n <p style={styles.p}>{modelData.model_description}</p>\n\n <div style={styles.iconRow}>\n <div style={styles.iconItem}>\n <span style={styles.boldIconText}>\n {Math.floor(modelData.context_length / 1000)}K\n </span>\n <small style={styles.smallText}>context length</small>\n </div>\n {(() => {\n if (modelData.model_ability.includes('chat')) {\n return (\n <div style={styles.iconItem}>\n <ChatOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>chat model</small>\n </div>\n )\n } else if (modelData.model_ability.includes('generate')) {\n return (\n <div style={styles.iconItem}>\n <EditNoteOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>generate model</small>\n </div>\n )\n } else {\n return (\n <div style={styles.iconItem}>\n <HelpCenterOutlined style={styles.muiIcon} />\n <small style={styles.smallText}>other model</small>\n </div>\n )\n }\n })()}\n </div>\n </Box>\n {/* Second state: show parameter selection page */}\n <Box\n style={\n selected\n ? { ...styles.parameterCard, ...styles.slideIn }\n : { ...styles.parameterCard, ...styles.slideOut }\n }\n >\n <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) =>\n spec.model_size_in_billions ===\n convertModelSize(modelSize)\n )\n\n const cached =\n modelFormat === 'pytorch'\n ? specs[0]?.cache_status ?? false === true\n : specs[0]?.cache_status?.[index] ?? false === true\n const displayedQuant = cached ? quant + ' (cached)' : quant\n\n return (\n <MenuItem key={quant} value={quant}>\n {displayedQuant}\n </MenuItem>\n )\n })}\n </Select>\n </FormControl>\n </Grid>\n <Grid item xs={6}>\n <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(\n 0,\n modelFormat !== 'pytorch' &&\n modelFormat !== 'gptq' &&\n modelFormat !== 'awq'\n ? 1\n : gpuAvailable\n )\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, model name 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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
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 DeleteIcon from'@mui/icons-material/Delete';import{Box,Chip,CircularProgress,FormControl,Stack,TextField}from'@mui/material';import IconButton from'@mui/material/IconButton';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';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,_ref$cardHeight=_ref.cardHeight,cardHeight=_ref$cardHeight===void 0?CARD_HEIGHT:_ref$cardHeight,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom;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 _useState7=useState(false),_useState8=_slicedToArray(_useState7,2),customDeleted=_useState8[0],setCustomDeleted=_useState8[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()===''?null:modelUID.trim(),model_name:modelData.model_name,model_type:'rerank'};// First fetcher request to initiate the model\nfetcher(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(cardHeight,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(cardHeight,\"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(cardHeight,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(cardHeight+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(cardHeight,\"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'}};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();fetcher(url+\"/v1/model_registrations/rerank/\".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:[/*#__PURE__*/_jsxs(\"div\",{style:styles.titleContainer,children:[is_custom&&/*#__PURE__*/_jsxs(Stack,{direction:\"row\",justifyContent:\"space-evenly\",alignItems:\"center\",spacing:1,children:[/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,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(Stack,{spacing:1,direction:\"row\",useFlexGap:true,flexWrap:\"wrap\",sx:{marginLeft:1},children:[function(){return modelData.language.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"});});}(),function(){if(modelData.is_cached){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\"});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]})]}),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, model name 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","DeleteIcon","Box","Chip","CircularProgress","FormControl","Stack","TextField","IconButton","React","useContext","useEffect","useState","ApiContext","fetcher","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","RerankCard","_ref","url","modelData","_ref$cardHeight","cardHeight","_ref$is_custom","is_custom","_useState","_useState2","_slicedToArray","modelUID","setModelUID","_useState3","_useState4","hover","setHover","_useState5","_useState6","selected","setSelected","_useState7","_useState8","customDeleted","setCustomDeleted","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","launchModel","modelDataWithID","model_uid","trim","model_name","model_type","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","handeCustomDelete","e","stopPropagation","style","onMouseEnter","onMouseLeave","onClick","children","direction","spacing","disabled","useFlexGap","flexWrap","sx","marginLeft","language","map","v","label","variant","size","is_cached","_objectSpread","fullWidth","value","onChange","target","title"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/rerankCard.js"],"sourcesContent":["import { RocketLaunchOutlined, UndoOutlined } from '@mui/icons-material'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport {\n Box,\n Chip,\n CircularProgress,\n FormControl,\n Stack,\n TextField,\n} from '@mui/material'\nimport IconButton from '@mui/material/IconButton'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetcher from '../../components/fetcher'\n\nconst CARD_HEIGHT = 270\nconst CARD_WIDTH = 270\n\nconst RerankCard = ({\n url,\n modelData,\n cardHeight = CARD_HEIGHT,\n is_custom = false,\n}) => {\n const [modelUID, setModelUID] = useState('')\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const [customDeleted, setCustomDeleted] = 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() === '' ? null : modelUID.trim(),\n model_name: modelData.model_name,\n model_type: 'rerank',\n }\n\n // First fetcher request to initiate the model\n fetcher(url + '/v1/models', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(modelDataWithID),\n })\n .then(() => {\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: `${cardHeight}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: `${cardHeight}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: `${cardHeight}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${cardHeight + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${cardHeight}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 const handeCustomDelete = (e) => {\n e.stopPropagation()\n fetcher(url + `/v1/model_registrations/rerank/${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 <div style={styles.titleContainer}>\n {is_custom && (\n <Stack\n direction=\"row\"\n justifyContent=\"space-evenly\"\n alignItems=\"center\"\n spacing={1}\n >\n <h2 style={styles.h2}>{modelData.model_name}</h2>\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 <Stack\n spacing={1}\n direction=\"row\"\n useFlexGap\n flexWrap=\"wrap\"\n sx={{ marginLeft: 1 }}\n >\n {(() => {\n return modelData.language.map((v) => {\n return <Chip label={v} variant=\"outlined\" size=\"small\" />\n })\n })()}\n {(() => {\n if (modelData.is_cached) {\n return <Chip label=\"Cached\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n </Stack>\n </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, model name 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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
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 DeleteIcon from'@mui/icons-material/Delete';import{Box,Chip,CircularProgress,FormControl,Stack,TextField}from'@mui/material';import IconButton from'@mui/material/IconButton';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import fetcher from'../../components/fetcher';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 EmbeddingCard=function EmbeddingCard(_ref){var url=_ref.url,modelData=_ref.modelData,_ref$cardHeight=_ref.cardHeight,cardHeight=_ref$cardHeight===void 0?CARD_HEIGHT:_ref$cardHeight,_ref$is_custom=_ref.is_custom,is_custom=_ref$is_custom===void 0?false:_ref$is_custom;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 _useState7=useState(false),_useState8=_slicedToArray(_useState7,2),customDeleted=_useState8[0],setCustomDeleted=_useState8[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;// 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()===''?null:modelUID.trim(),model_name:modelData.model_name,model_type:'embedding'};// First fetcher request to initiate the model\nfetcher(url+'/v1/models',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(modelDataWithID)}).then(function(res){if(!res.ok){res.json().then(function(errData){return setErrorMsg(\"Server error: \".concat(res.status,\" - \").concat(errData.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(cardHeight,\"px\"),border:'1px solid #ddd',borderRadius:'20px',background:'white',overflow:'hidden'},containerSelected:{display:'block',position:'relative',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(cardHeight,\"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(cardHeight,\"px\"),border:'1px solid #ddd',padding:'20px',borderRadius:'20px',background:'white'},parameterCard:{position:'relative',top:\"-\".concat(cardHeight+1,\"px\"),left:'-1px',width:\"\".concat(CARD_WIDTH,\"px\"),height:\"\".concat(cardHeight,\"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'}};var handeCustomDelete=function handeCustomDelete(e){e.stopPropagation();fetcher(url+\"/v1/model_registrations/embedding/\".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:[/*#__PURE__*/_jsxs(\"div\",{style:styles.titleContainer,children:[is_custom&&/*#__PURE__*/_jsxs(Stack,{direction:\"row\",justifyContent:\"space-evenly\",alignItems:\"center\",spacing:1,children:[/*#__PURE__*/_jsx(\"h2\",{style:styles.h2,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(Stack,{spacing:1,direction:\"row\",useFlexGap:true,flexWrap:\"wrap\",sx:{marginLeft:1},children:[function(){return modelData.language.map(function(v){return/*#__PURE__*/_jsx(Chip,{label:v,variant:\"outlined\",size:\"small\"});});}(),function(){if(modelData.is_cached){return/*#__PURE__*/_jsx(Chip,{label:\"Cached\",variant:\"outlined\",size:\"small\"});}}(),function(){if(is_custom&&customDeleted){return/*#__PURE__*/_jsx(Chip,{label:\"Deleted\",variant:\"outlined\",size:\"small\"});}}()]})]}),/*#__PURE__*/_jsxs(\"div\",{style:styles.iconRow,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(\"span\",{style:styles.boldIconText,children:modelData.dimensions}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"dimensions\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:styles.iconItem,children:[/*#__PURE__*/_jsx(\"span\",{style:styles.boldIconText,children:modelData.max_tokens}),/*#__PURE__*/_jsx(\"small\",{style:styles.smallText,children:\"max tokens\"})]})]}),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, model name by default\",onChange:function onChange(e){return setModelUID(e.target.value);}})}),/*#__PURE__*/_jsxs(Box,{style:styles.buttonsContainer,children:[/*#__PURE__*/_jsx(\"button\",{title:\"Launch Embedding\",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 Embedding\",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 EmbeddingCard;","map":{"version":3,"names":["RocketLaunchOutlined","UndoOutlined","DeleteIcon","Box","Chip","CircularProgress","FormControl","Stack","TextField","IconButton","React","useContext","useEffect","useState","ApiContext","fetcher","jsx","_jsx","jsxs","_jsxs","CARD_HEIGHT","CARD_WIDTH","EmbeddingCard","_ref","url","modelData","_ref$cardHeight","cardHeight","_ref$is_custom","is_custom","_useState","_useState2","_slicedToArray","modelUID","setModelUID","_useState3","_useState4","hover","setHover","_useState5","_useState6","selected","setSelected","_useState7","_useState8","customDeleted","setCustomDeleted","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","_useContext3","setErrorMsg","launchModel","modelDataWithID","model_uid","trim","model_name","model_type","method","headers","body","JSON","stringify","then","res","ok","json","errData","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","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","handeCustomDelete","e","stopPropagation","style","onMouseEnter","onMouseLeave","onClick","children","direction","spacing","disabled","useFlexGap","flexWrap","sx","marginLeft","language","map","v","label","variant","size","is_cached","dimensions","max_tokens","_objectSpread","fullWidth","value","onChange","target","title"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/embeddingCard.js"],"sourcesContent":["import { RocketLaunchOutlined, UndoOutlined } from '@mui/icons-material'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport {\n Box,\n Chip,\n CircularProgress,\n FormControl,\n Stack,\n TextField,\n} from '@mui/material'\nimport IconButton from '@mui/material/IconButton'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetcher from '../../components/fetcher'\n\nconst CARD_HEIGHT = 270\nconst CARD_WIDTH = 270\n\nconst EmbeddingCard = ({\n url,\n modelData,\n cardHeight = CARD_HEIGHT,\n is_custom = false,\n}) => {\n const [modelUID, setModelUID] = useState('')\n const [hover, setHover] = useState(false)\n const [selected, setSelected] = useState(false)\n const [customDeleted, setCustomDeleted] = useState(false)\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = 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() === '' ? null : modelUID.trim(),\n model_name: modelData.model_name,\n model_type: 'embedding',\n }\n\n // First fetcher request to initiate the model\n fetcher(url + '/v1/models', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(modelDataWithID),\n })\n .then((res) => {\n if (!res.ok) {\n res\n .json()\n .then((errData) =>\n setErrorMsg(\n `Server error: ${res.status} - ${\n errData.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: `${cardHeight}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: `${cardHeight}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: `${cardHeight}px`,\n border: '1px solid #ddd',\n padding: '20px',\n borderRadius: '20px',\n background: 'white',\n },\n parameterCard: {\n position: 'relative',\n top: `-${cardHeight + 1}px`,\n left: '-1px',\n width: `${CARD_WIDTH}px`,\n height: `${cardHeight}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 const handeCustomDelete = (e) => {\n e.stopPropagation()\n fetcher(url + `/v1/model_registrations/embedding/${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 <div style={styles.titleContainer}>\n {is_custom && (\n <Stack\n direction=\"row\"\n justifyContent=\"space-evenly\"\n alignItems=\"center\"\n spacing={1}\n >\n <h2 style={styles.h2}>{modelData.model_name}</h2>\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 <Stack\n spacing={1}\n direction=\"row\"\n useFlexGap\n flexWrap=\"wrap\"\n sx={{ marginLeft: 1 }}\n >\n {(() => {\n return modelData.language.map((v) => {\n return <Chip label={v} variant=\"outlined\" size=\"small\" />\n })\n })()}\n {(() => {\n if (modelData.is_cached) {\n return <Chip label=\"Cached\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n {(() => {\n if (is_custom && customDeleted) {\n return <Chip label=\"Deleted\" variant=\"outlined\" size=\"small\" />\n }\n })()}\n </Stack>\n </div>\n <div style={styles.iconRow}>\n <div style={styles.iconItem}>\n <span style={styles.boldIconText}>{modelData.dimensions}</span>\n <small style={styles.smallText}>dimensions</small>\n </div>\n <div style={styles.iconItem}>\n <span style={styles.boldIconText}>{modelData.max_tokens}</span>\n <small style={styles.smallText}>max tokens</small>\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, model name by default\"\n onChange={(e) => setModelUID(e.target.value)}\n />\n </FormControl>\n <Box style={styles.buttonsContainer}>\n <button\n title=\"Launch Embedding\"\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 Embedding\"\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 EmbeddingCard\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
/xinference/web/ui/build/static/js/{main.15822aeb.js.LICENSE.txt → main.476e35cc.js.LICENSE.txt}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|