xinference 0.15.1__py3-none-any.whl → 0.15.2__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (23) hide show
  1. xinference/_version.py +3 -3
  2. xinference/core/model.py +2 -2
  3. xinference/model/audio/cosyvoice.py +3 -3
  4. xinference/model/image/stable_diffusion/core.py +30 -19
  5. xinference/model/llm/__init__.py +1 -1
  6. xinference/model/llm/llm_family.json +850 -2
  7. xinference/model/llm/llm_family_modelscope.json +893 -0
  8. xinference/model/llm/sglang/core.py +4 -0
  9. xinference/model/llm/vllm/core.py +5 -0
  10. xinference/web/ui/build/asset-manifest.json +3 -3
  11. xinference/web/ui/build/index.html +1 -1
  12. xinference/web/ui/build/static/js/{main.754740c0.js → main.29578905.js} +3 -3
  13. xinference/web/ui/build/static/js/main.29578905.js.map +1 -0
  14. xinference/web/ui/node_modules/.cache/babel-loader/c7bf40bab396765f67d0fed627ed3665890608b2d0edaa3e8cb7cfc96310db45.json +1 -0
  15. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/METADATA +5 -5
  16. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/RECORD +21 -21
  17. xinference/web/ui/build/static/js/main.754740c0.js.map +0 -1
  18. xinference/web/ui/node_modules/.cache/babel-loader/cd90b08d177025dfe84209596fc51878f8a86bcaa6a240848a3d2e5fd4c7ff24.json +0 -1
  19. /xinference/web/ui/build/static/js/{main.754740c0.js.LICENSE.txt → main.29578905.js.LICENSE.txt} +0 -0
  20. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/LICENSE +0 -0
  21. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/WHEEL +0 -0
  22. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/entry_points.txt +0 -0
  23. {xinference-0.15.1.dist-info → xinference-0.15.2.dist-info}/top_level.txt +0 -0
@@ -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 _defineProperty from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _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'./styles/registerModelStyle.css';import Cancel from'@mui/icons-material/Cancel';import CheckCircleIcon from'@mui/icons-material/CheckCircle';import KeyboardDoubleArrowRightIcon from'@mui/icons-material/KeyboardDoubleArrowRight';import NotesIcon from'@mui/icons-material/Notes';import OpenInFullIcon from'@mui/icons-material/OpenInFull';import{Alert,Autocomplete,Box,Button,Checkbox,Chip,Dialog,DialogActions,DialogContent,DialogTitle,FormControl,FormControlLabel,InputLabel,MenuItem,Radio,RadioGroup,Select,Stack,Switch,TextField,Tooltip}from'@mui/material';import nunjucks from'nunjucks';import React,{useContext,useEffect,useRef,useState}from'react';import{useCookies}from'react-cookie';import{useNavigate,useParams}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import CopyComponent from'../../components/copyComponent/copyComponent';import fetchWrapper from'../../components/fetchWrapper';import{isValidBearerToken}from'../../components/utils';import AddControlnet from'./components/addControlnet';import AddModelSpecs from'./components/addModelSpecs';import AddStop from'./components/addStop';import languages from'./data/languages';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var SUPPORTED_LANGUAGES_DICT={en:'English',zh:'Chinese'};var SUPPORTED_FEATURES=['Generate','Chat','Vision','Tools'];var messages=[{role:'assistant',content:'This is the message content replied by the assistant previously'},{role:'user',content:'This is the message content sent by the user currently'}];// Convert dictionary of supported languages into list\nvar SUPPORTED_LANGUAGES=Object.keys(SUPPORTED_LANGUAGES_DICT);var RegisterModelComponent=function RegisterModelComponent(_ref){var _formData$model_abili3,_formData$model_abili4,_formData$model_abili5,_formData$model_lang,_formData$language,_formData$model_abili6;var modelType=_ref.modelType,customData=_ref.customData;var endPoint=useContext(ApiContext).endPoint;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useState=useState(customData),_useState2=_slicedToArray(_useState,2),formData=_useState2[0],setFormData=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),promptStyles=_useState4[0],setPromptStyles=_useState4[1];var _useState5=useState({}),_useState6=_slicedToArray(_useState5,2),family=_useState6[0],setFamily=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),languagesArr=_useState8[0],setLanguagesArr=_useState8[1];var _useState9=useState(false),_useState10=_slicedToArray(_useState9,2),isContextLengthAlert=_useState10[0],setIsContextLengthAlert=_useState10[1];var _useState11=useState(false),_useState12=_slicedToArray(_useState11,2),isDimensionsAlert=_useState12[0],setIsDimensionsAlert=_useState12[1];var _useState13=useState(false),_useState14=_slicedToArray(_useState13,2),isMaxTokensAlert=_useState14[0],setIsMaxTokensAlert=_useState14[1];var _useState15=useState(''),_useState16=_slicedToArray(_useState15,2),jsonData=_useState16[0],setJsonData=_useState16[1];var _useState17=useState(false),_useState18=_slicedToArray(_useState17,2),isSpecsArrError=_useState18[0],setIsSpecsArrError=_useState18[1];var _useState19=useState(false),_useState20=_slicedToArray(_useState19,2),isValidLauncherArgsAlert=_useState20[0],setIsValidLauncherArgsAlert=_useState20[1];var scrollRef=useRef(null);var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var _useParams=useParams(),registerModelType=_useParams.registerModelType,model_name=_useParams.model_name;var _useState21=useState(model_name?true:false),_useState22=_slicedToArray(_useState21,2),isShow=_useState22[0],setIsShow=_useState22[1];var _useState23=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).model_specs:[]),_useState24=_slicedToArray(_useState23,2),specsArr=_useState24[0],setSpecsArr=_useState24[1];var _useState25=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).controlnet:[]),_useState26=_slicedToArray(_useState25,2),controlnetArr=_useState26[0],setControlnetArr=_useState26[1];var _useState27=useState({}),_useState28=_slicedToArray(_useState27,2),contrastObj=_useState28[0],setContrastObj=_useState28[1];var _useState29=useState(true),_useState30=_slicedToArray(_useState29,2),isEqual=_useState30[0],setIsEqual=_useState30[1];var _useState31=useState(''),_useState32=_slicedToArray(_useState31,2),testRes=_useState32[0],setTestRes=_useState32[1];var _useState33=useState(false),_useState34=_slicedToArray(_useState33,2),isOpenMessages=_useState34[0],setIsOpenMessages=_useState34[1];var _useState35=useState(''),_useState36=_slicedToArray(_useState35,2),testErrorInfo=_useState36[0],setTestErrorInfo=_useState36[1];var _useState37=useState(false),_useState38=_slicedToArray(_useState37,2),isStopTokenIdsAlert=_useState38[0],setIsStopTokenIdsAlert=_useState38[1];var _useState39=useState([]),_useState40=_slicedToArray(_useState39,2),familyOptions=_useState40[0],setFamilyOptions=_useState40[1];var _useState41=useState(true),_useState42=_slicedToArray(_useState41,2),isEditableFamily=_useState42[0],setIsEditableFamily=_useState42[1];useEffect(function(){if(model_name){var data=JSON.parse(sessionStorage.getItem('customJsonData'));if(modelType==='LLM'){var lagArr=data.model_lang.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(lagArr);var version=data.version,_model_name=data.model_name,model_description=data.model_description,context_length=data.context_length,model_lang=data.model_lang,model_ability=data.model_ability,model_family=data.model_family,model_specs=data.model_specs,chat_template=data.chat_template,stop_token_ids=data.stop_token_ids,stop=data.stop;var specsDataArr=model_specs.map(function(item){var model_uri=item.model_uri,model_size_in_billions=item.model_size_in_billions,model_format=item.model_format,quantizations=item.quantizations,model_file_name_template=item.model_file_name_template;return{model_uri:model_uri,model_size_in_billions:model_size_in_billions,model_format:model_format,quantizations:quantizations,model_file_name_template:model_file_name_template};});var llmData={version:version,model_name:_model_name,model_description:model_description,context_length:context_length,model_lang:model_lang,model_ability:model_ability,model_family:model_family,model_specs:specsDataArr,chat_template:chat_template,stop_token_ids:stop_token_ids,stop:stop};setFormData(llmData);setContrastObj(llmData);setSpecsArr(specsDataArr);}else{if(modelType==='embedding'){var _lagArr=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr);var _model_name2=data.model_name,dimensions=data.dimensions,max_tokens=data.max_tokens,model_uri=data.model_uri,language=data.language;var embeddingData={model_name:_model_name2,dimensions:dimensions,max_tokens:max_tokens,model_uri:model_uri,language:language};setFormData(embeddingData);setContrastObj(embeddingData);}else if(modelType==='rerank'){var _lagArr2=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr2);var _model_name3=data.model_name,_model_uri=data.model_uri,_language=data.language;var rerankData={model_name:_model_name3,model_uri:_model_uri,language:_language};setFormData(rerankData);setContrastObj(rerankData);}else if(modelType==='image'){var _model_name4=data.model_name,_model_uri2=data.model_uri,_model_family=data.model_family,controlnet=data.controlnet;var _controlnetArr=controlnet.map(function(item){var model_name=item.model_name,model_uri=item.model_uri,model_family=item.model_family;return{model_name:model_name,model_uri:model_uri,model_family:model_family};});var imageData={model_name:_model_name4,model_uri:_model_uri2,model_family:_model_family,controlnet:_controlnetArr};setFormData(imageData);setContrastObj(imageData);setControlnetArr(_controlnetArr);}else if(modelType==='audio'){var _model_name5=data.model_name,_model_uri3=data.model_uri,multilingual=data.multilingual,_model_family2=data.model_family;var audioData={model_name:_model_name5,model_uri:_model_uri3,multilingual:multilingual,model_family:_model_family2};setFormData(audioData);setContrastObj(audioData);}else if(modelType==='flexible'){var _model_name6=data.model_name,_model_uri4=data.model_uri,_model_description=data.model_description,launcher=data.launcher,launcher_args=data.launcher_args;var flexibleData={model_name:_model_name6,model_uri:_model_uri4,model_description:_model_description,launcher:launcher,launcher_args:launcher_args};setFormData(flexibleData);setContrastObj(flexibleData);}}}},[model_name]);useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});return;}var getBuiltinFamilies=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var response,errorData,data,key;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetch(endPoint+'/v1/models/families',{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=15;break;case 10:_context.next=12;return response.json();case 12:data=_context.sent;for(key in data){data[key]=data[key].sort(function(a,b){var lowerA=a.toLowerCase();var lowerB=b.toLowerCase();if(lowerA<lowerB){return-1;}if(lowerA>lowerB){return 1;}return 0;});}setFamily(data);case 15:case\"end\":return _context.stop();}},_callee);}));return function getBuiltinFamilies(){return _ref2.apply(this,arguments);};}();var getBuiltInPromptStyles=/*#__PURE__*/function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var response,errorData,data,res,key,v;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return fetch(endPoint+'/v1/models/prompts',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context2.sent;if(response.ok){_context2.next=10;break;}_context2.next=6;return response.json();case 6: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=16;break;case 10:_context2.next=12;return response.json();case 12:data=_context2.sent;res=[];for(key in data){v=data[key];v['name']=key;res.push(v);}setPromptStyles(res);case 16:case\"end\":return _context2.stop();}},_callee2);}));return function getBuiltInPromptStyles(){return _ref3.apply(this,arguments);};}();if(Object.prototype.hasOwnProperty.call(customData,'model_ability')&&Object.prototype.hasOwnProperty.call(customData,'model_family')){if(promptStyles.length===0){getBuiltInPromptStyles().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}if((family===null||family===void 0?void 0:family.chat)===undefined){getBuiltinFamilies().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}}},[cookie.token]);useEffect(function(){var _family$chat;setJsonData(JSON.stringify(formData,customReplacer,4));if(contrastObj.model_name){deepEqual(contrastObj,formData)?setIsEqual(true):setIsEqual(false);}if(family!==null&&family!==void 0&&(_family$chat=family.chat)!==null&&_family$chat!==void 0&&_family$chat.length)handleFamilyOptions(formData.model_ability);},[formData]);useEffect(function(){var _family$chat2;if(family!==null&&family!==void 0&&(_family$chat2=family.chat)!==null&&_family$chat2!==void 0&&_family$chat2.length)handleFamilyOptions(formData.model_ability);},[family]);var customReplacer=function customReplacer(key,value){if(key==='chat_template'&&value){return value.replace(/\\\\n/g,'\\n');}return value;};var handleClick=/*#__PURE__*/function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var key,type;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.t0=_regeneratorRuntime().keys(formData);case 1:if((_context3.t1=_context3.t0()).done){_context3.next=9;break;}key=_context3.t1.value;type=Object.prototype.toString.call(formData[key]).slice(8,-1);if(!(key!=='model_description'&&(type==='Array'&&key!=='controlnet'&&key!=='stop_token_ids'&&key!=='stop'&&formData[key].length===0||type==='String'&&formData[key]===''||type==='Number'&&formData[key]<=0))){_context3.next=7;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 7:_context3.next=1;break;case 9:if(!(isSpecsArrError||isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert)){_context3.next=12;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 12:try{fetchWrapper.post(\"/v1/model_registrations/\".concat(modelType),{model:JSON.stringify(formData,customReplacer),persist:true}).then(function(){navigate(\"/launch_model/custom/\".concat(modelType.toLowerCase()));sessionStorage.setItem('modelType','/launch_model/custom/llm');sessionStorage.setItem('subType',\"/launch_model/custom/\".concat(modelType.toLowerCase()));}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}catch(error){console.error('There was a problem with the fetch operation:',error);setErrorMsg(error.message||'An unexpected error occurred.');}case 13:case\"end\":return _context3.stop();}},_callee3);}));return function handleClick(){return _ref4.apply(this,arguments);};}();var handleNumber=function handleNumber(value,parameterName){setIsContextLengthAlert(false);setIsDimensionsAlert(false);setIsMaxTokensAlert(false);setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,value)));if(value!==''&&(!Number(value)||Number(value)<=0||parseInt(value)!==parseFloat(value))){parameterName==='context_length'?setIsContextLengthAlert(true):'';parameterName==='dimensions'?setIsDimensionsAlert(true):'';parameterName==='max_tokens'?setIsMaxTokensAlert(true):'';}else if(value!==''){setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,Number(value))));}};var toggleLanguage=function toggleLanguage(lang){if(modelType==='LLM'){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])}));}}else{if(formData.language.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:[].concat(_toConsumableArray(formData.language),[lang])}));}}};var toggleAbility=function toggleAbility(ability){var obj=JSON.parse(JSON.stringify(formData));if(formData.model_ability.includes(ability)){delete obj.chat_template;delete obj.stop_token_ids;delete obj.stop;setFormData(_objectSpread(_objectSpread({},obj),{},{model_ability:formData.model_ability.filter(function(item){if(ability==='chat'){return item!=='chat'&&item!=='vision'&&item!=='tools';}return item!==ability;}),model_family:''}));}else{var model_ability=[];if(ability==='chat'||['vision','tools'].includes(ability)&&!formData.model_ability.includes('chat')){var _family$chat3;if(formData.model_family!==''&&family!==null&&family!==void 0&&(_family$chat3=family.chat)!==null&&_family$chat3!==void 0&&_family$chat3.includes(formData.model_family)){var _data$,_data$2,_data$3;var data=promptStyles.filter(function(item){return item.name===formData.model_family;});obj.chat_template=((_data$=data[0])===null||_data$===void 0?void 0:_data$.chat_template)||null;obj.stop_token_ids=((_data$2=data[0])===null||_data$2===void 0?void 0:_data$2.stop_token_ids)||[];obj.stop=((_data$3=data[0])===null||_data$3===void 0?void 0:_data$3.stop)||[];}else{obj.chat_template='';obj.stop_token_ids=[];obj.stop=[];}ability==='chat'?model_ability=[].concat(_toConsumableArray(formData.model_ability),[ability]):model_ability=[].concat(_toConsumableArray(formData.model_ability),['chat',ability]);}else{if(ability==='vision'&&formData.model_ability.includes('tools')){model_ability=[].concat(_toConsumableArray(formData.model_ability.filter(function(item){return item!=='tools';})),['chat',ability]);}else if(ability==='tools'&&formData.model_ability.includes('vision')){model_ability=[].concat(_toConsumableArray(formData.model_ability.filter(function(item){return item!=='vision';})),['chat',ability]);}else{model_ability=[].concat(_toConsumableArray(formData.model_ability),[ability]);}}delete obj.chat_template;delete obj.stop_token_ids;delete obj.stop;setFormData(_objectSpread(_objectSpread({},obj),{},{model_family:'',model_ability:model_ability}));}};var handleFamily=function handleFamily(value){if(formData.model_ability.includes('chat')){var _family$chat4;if(family!==null&&family!==void 0&&(_family$chat4=family.chat)!==null&&_family$chat4!==void 0&&_family$chat4.includes(value)){var _data$4,_data$5,_data$6;var data=promptStyles.filter(function(item){return item.name===value;});setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:((_data$4=data[0])===null||_data$4===void 0?void 0:_data$4.chat_template)||null,stop_token_ids:((_data$5=data[0])===null||_data$5===void 0?void 0:_data$5.stop_token_ids)||[],stop:((_data$6=data[0])===null||_data$6===void 0?void 0:_data$6.stop)||[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:'',stop_token_ids:[],stop:[]}));}}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value}));}};var handleSelectLanguages=function handleSelectLanguages(value){var arr=[].concat(_toConsumableArray(languagesArr),[value]);setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:Array.from(new Set([].concat(_toConsumableArray(formData.model_lang),_toConsumableArray(arr))))}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:Array.from(new Set([].concat(_toConsumableArray(formData.language),_toConsumableArray(arr))))}));}};var handleDeleteLanguages=function handleDeleteLanguages(item){var arr=languagesArr.filter(function(subItem){return subItem!==item;});setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(subItem){return subItem!==item;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(subItem){return subItem!==item;})}));}};var getSpecsArr=function getSpecsArr(arr,isSpecsArrError){setFormData(_objectSpread(_objectSpread({},formData),{},{model_specs:arr}));setIsSpecsArrError(isSpecsArrError);};var getControlnetArr=function getControlnetArr(arr){setFormData(_objectSpread(_objectSpread({},formData),{},{controlnet:arr}));};var handleCancel=function handleCancel(){navigate(\"/launch_model/custom/\".concat(registerModelType));};var handleEdit=function handleEdit(){fetchWrapper.delete(\"/v1/model_registrations/\".concat(registerModelType==='llm'?'LLM':registerModelType,\"/\").concat(model_name)).then(function(){return handleClick();}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});};var deepEqual=function deepEqual(obj1,obj2){if(obj1===obj2)return true;if(typeof obj1!=='object'||typeof obj2!=='object'||obj1==null||obj2==null){return false;}var keysA=Object.keys(obj1);var keysB=Object.keys(obj2);if(keysA.length!==keysB.length)return false;for(var _i=0,_keysA=keysA;_i<_keysA.length;_i++){var key=_keysA[_i];if(!keysB.includes(key)||!deepEqual(obj1[key],obj2[key])){return false;}}return true;};var handleTest=function handleTest(){setTestRes('');if(formData.chat_template){try{nunjucks.configure({autoescape:false});var test_res=nunjucks.renderString(formData.chat_template,{messages:messages});if(test_res===''){setTestRes(test_res);setTestErrorInfo('error');}else{setTestRes(test_res);setTestErrorInfo('');}}catch(error){setTestErrorInfo(\"\".concat(error));}}};var getStopTokenIds=function getStopTokenIds(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:value}));}};var getStop=function getStop(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop:value}));}};var handleFamilyAlert=function handleFamilyAlert(){var _formData$model_abili,_family$vision,_formData$model_abili2,_family$tools;if((_formData$model_abili=formData.model_ability)!==null&&_formData$model_abili!==void 0&&_formData$model_abili.includes('vision')&&!(family!==null&&family!==void 0&&(_family$vision=family.vision)!==null&&_family$vision!==void 0&&_family$vision.includes(formData.model_family))){return true;}else if((_formData$model_abili2=formData.model_ability)!==null&&_formData$model_abili2!==void 0&&_formData$model_abili2.includes('tools')&&!(family!==null&&family!==void 0&&(_family$tools=family.tools)!==null&&_family$tools!==void 0&&_family$tools.includes(formData.model_family))){return true;}return false;};var handleChatTemplateAlert=function handleChatTemplateAlert(){if((familyOptions===null||familyOptions===void 0?void 0:familyOptions.filter(function(item){return item.id===formData.model_family;}).length)===0&&!formData.chat_template){return true;}return false;};var handleFamilyOptions=function handleFamilyOptions(model_ability){if(model_ability.includes('vision')){var _family$vision2;setIsEditableFamily(false);setFamilyOptions(family===null||family===void 0?void 0:(_family$vision2=family.vision)===null||_family$vision2===void 0?void 0:_family$vision2.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('tools')){var _family$tools2;setIsEditableFamily(false);setFamilyOptions(family===null||family===void 0?void 0:(_family$tools2=family.tools)===null||_family$tools2===void 0?void 0:_family$tools2.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('chat')){var _family$chat5;setIsEditableFamily(true);setFamilyOptions(family===null||family===void 0?void 0:(_family$chat5=family.chat)===null||_family$chat5===void 0?void 0:_family$chat5.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('generate')){var _family$generate;setIsEditableFamily(true);setFamilyOptions(family===null||family===void 0?void 0:(_family$generate=family.generate)===null||_family$generate===void 0?void 0:_family$generate.map(function(item){return{id:item,label:item};}));}else{setIsEditableFamily(true);setFamilyOptions([]);}};return/*#__PURE__*/_jsxs(Box,{style:{display:'flex',overFlow:'hidden',maxWidth:'100%'},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"show-json\",children:[/*#__PURE__*/_jsx(\"p\",{children:\"Show custom json config used by api\"}),isShow?/*#__PURE__*/_jsx(Tooltip,{title:\"Pack up\",placement:\"top\",children:/*#__PURE__*/_jsx(KeyboardDoubleArrowRightIcon,{className:\"icon arrow\",onClick:function onClick(){return setIsShow(!isShow);}})}):/*#__PURE__*/_jsx(Tooltip,{title:\"Unfold\",placement:\"top\",children:/*#__PURE__*/_jsx(NotesIcon,{className:\"icon notes\",onClick:function onClick(){return setIsShow(!isShow);}})})]}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,className:isShow?'formBox':'formBox broaden',children:[/*#__PURE__*/_jsxs(FormControl,{style:{width:'100%'},children:[customData.model_name&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Name\",error:formData.model_name?false:true,value: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\"})]}),customData.model_description&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Description (Optional)\",value:formData.model_description,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_description:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.context_length&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{error:Number(formData.context_length)>0?false:true,label:\"Context Length\",value:formData.context_length,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'context_length');}}),isContextLengthAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.dimensions&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Dimensions\",error:Number(formData.dimensions)>0?false:true,value:formData.dimensions,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'dimensions');}}),isDimensionsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.max_tokens&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Max Tokens\",error:Number(formData.max_tokens)>0?false:true,value:formData.max_tokens,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'max_tokens');}}),isMaxTokensAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_uri&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Path\",error:formData.model_uri?false:true,value:formData.model_uri,size:\"small\",helperText:\"Provide the model directory path.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_uri:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_lang||customData.language)&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:modelType==='LLM'?formData.model_lang.length===0?'#d32f2f':'inherit':formData.language.length===0?'#d32f2f':'inherit'},children:\"Model Languages\"}),/*#__PURE__*/_jsxs(Box,{className:\"checkboxWrapper\",children:[SUPPORTED_LANGUAGES.map(function(lang){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:modelType==='LLM'?formData.model_lang.includes(lang):formData.language.includes(lang),onChange:function onChange(){return toggleLanguage(lang);},name:lang}),label:SUPPORTED_LANGUAGES_DICT[lang],style:{paddingLeft:10}})},lang);}),/*#__PURE__*/_jsxs(FormControl,{sx:{m:1,minWidth:120},size:\"small\",children:[/*#__PURE__*/_jsx(InputLabel,{children:\"Languages\"}),/*#__PURE__*/_jsx(Select,{value:'',label:\"Languages\",onChange:function onChange(e){return handleSelectLanguages(e.target.value);},MenuProps:{PaperProps:{style:{maxHeight:'20vh'}}},children:languages.filter(function(item){return!languagesArr.includes(item.code);}).map(function(item){return/*#__PURE__*/_jsx(MenuItem,{value:item.code,children:item.code},item.code);})})]})]}),/*#__PURE__*/_jsx(Stack,{direction:\"row\",spacing:1,style:{marginLeft:'10px'},children:languagesArr.map(function(item){return/*#__PURE__*/_jsx(Chip,{label:item,variant:\"outlined\",size:\"small\",color:\"primary\",onDelete:function onDelete(){return handleDeleteLanguages(item);}},item);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),'multilingual'in customData&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5},children:\"Multilingual\"}),/*#__PURE__*/_jsx(FormControlLabel,{style:{marginLeft:0,width:50},control:/*#__PURE__*/_jsx(Switch,{checked:formData.multilingual}),onChange:function onChange(e){return setFormData(_objectSpread(_objectSpread({},formData),{},{multilingual:e.target.checked}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_ability&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:formData.model_ability.length==0?'#d32f2f':'inherit'},children:\"Model Abilities\"}),/*#__PURE__*/_jsx(Box,{className:\"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}),label:ability,style:{paddingLeft:10}})},ability);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_family===''||customData.model_family)&&/*#__PURE__*/_jsxs(_Fragment,{children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Autocomplete,{id:\"free-solo-demo\",freeSolo:isEditableFamily,options:familyOptions||[],size:\"small\",renderInput:function renderInput(params){return/*#__PURE__*/_jsx(TextField,_objectSpread(_objectSpread({},params),{},{helperText:isEditableFamily?'You can choose from the built-in models or input your own.':'You can only choose from the built-in models.',InputProps:_objectSpread(_objectSpread({},params.InputProps),{},{disabled:!isEditableFamily}),label:\"Model Family\"}));},value:formData.model_family,onChange:function onChange(_,newValue){handleFamily(newValue===null||newValue===void 0?void 0:newValue.id);},onInputChange:function onInputChange(_,newInputValue){if(isEditableFamily){handleFamily(newInputValue);}}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(modelType==='image'||modelType==='audio')&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(FormControl,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:'inherit'},children:\"Model Family\"}),/*#__PURE__*/_jsx(RadioGroup,{value:formData.model_family,children:/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",style:{paddingLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:formData.model_family,checked:true,control:/*#__PURE__*/_jsx(Radio,{}),label:formData.model_family})})})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),((_formData$model_abili3=formData.model_ability)===null||_formData$model_abili3===void 0?void 0:_formData$model_abili3.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_box\",children:[/*#__PURE__*/_jsx(TextField,{label:\"Chat Template\",error:handleChatTemplateAlert(),value:formData.chat_template||'',size:\"small\",helperText:\"Please make sure this chat_template passes the test by clicking the TEST button on the right. Please note that this test may not cover all cases and will only be used for the most basic case.\",multiline:true,rows:6,onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{chat_template:event.target.value}));},style:{flex:1}}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:handleTest,style:{marginTop:50},children:\"test\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test_mainBox\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',gap:5},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:16},children:\"messages example\"}),/*#__PURE__*/_jsx(OpenInFullIcon,{onClick:function onClick(){return setIsOpenMessages(true);},style:{fontSize:14,color:'#666',cursor:'pointer'}})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:'flex',alignItems:'center',gap:10,fontSize:16},children:[\"test result\",testErrorInfo?/*#__PURE__*/_jsx(Cancel,{style:{color:'red'}}):testRes?/*#__PURE__*/_jsx(CheckCircleIcon,{style:{color:'rgb(46, 125, 50)'}}):'']}),/*#__PURE__*/_jsx(\"div\",{className:\"test_res_box\",style:{backgroundColor:testErrorInfo===''?testRes?'rgb(237, 247, 237)':'':'rgb(253, 237, 237)'},children:testErrorInfo!==''?testErrorInfo:testRes?testRes:'No test results...'})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"chat_template_test_tip\",style:{color:testErrorInfo===''?'':'#d32f2f'},children:\"Please note that failure to pass test may prevent chats from working properly.\"})]})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili4=formData.model_ability)===null||_formData$model_abili4===void 0?void 0:_formData$model_abili4.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:\"Stop Token Ids\",arrItemType:\"number\",formData:formData.stop_token_ids,onGetData:getStopTokenIds,onGetError:function onGetError(value){if(value.includes('false')){setIsStopTokenIdsAlert(true);}else{setIsStopTokenIdsAlert(false);}},helperText:\"int type, used to control the stopping of chat models\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili5=formData.model_ability)===null||_formData$model_abili5===void 0?void 0:_formData$model_abili5.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:\"Stop\",arrItemType:\"string\",formData:formData.stop,onGetData:getStop,helperText:\"string type, used to control the stopping of chat models\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_specs&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddModelSpecs,{isJump:model_name?true:false,formData:customData.model_specs[0],specsDataArr:specsArr,onGetArr:getSpecsArr,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.controlnet&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddControlnet,{controlnetDataArr:controlnetArr,onGetControlnetArr:getControlnetArr,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Launcher\",error:formData.launcher?false:true,value:formData.launcher,size:\"small\",helperText:\"Provide the model launcher.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher_args&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Launcher Arguments (Optional)\",value:formData.launcher_args,size:\"small\",helperText:\"A JSON-formatted dictionary representing the arguments passed to the Launcher.\",onChange:function onChange(event){try{JSON.parse(event.target.value);setIsValidLauncherArgsAlert(false);}catch(_unused){setIsValidLauncherArgsAlert(true);}return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher_args:event.target.value}));},multiline:true,rows:4}),isValidLauncherArgsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter the JSON-formatted dictionary.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),model_name?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleEdit,disabled:isEqual,children:\"Edit\"}),/*#__PURE__*/_jsx(Button,{style:{marginLeft:30},variant:\"outlined\",color:\"primary\",type:\"submit\",onClick:handleCancel,children:\"Cancel\"})]}):/*#__PURE__*/_jsx(Box,{width:'100%',children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleClick,disabled:isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert||((_formData$model_lang=formData.model_lang)===null||_formData$model_lang===void 0?void 0:_formData$model_lang.length)===0||((_formData$language=formData.language)===null||_formData$language===void 0?void 0:_formData$language.length)===0||((_formData$model_abili6=formData.model_ability)===null||_formData$model_abili6===void 0?void 0:_formData$model_abili6.length)===0||modelType==='LLM'&&!formData.model_family||isStopTokenIdsAlert||handleFamilyAlert(),children:\"Register Model\"})})]}),/*#__PURE__*/_jsxs(Dialog,{open:isOpenMessages,onClose:function onClose(){return setIsOpenMessages(false);},\"aria-labelledby\":\"alert-dialog-title\",\"aria-describedby\":\"alert-dialog-description\",children:[/*#__PURE__*/_jsx(DialogTitle,{id:\"alert-dialog-title\",children:\"Messages Example\"}),/*#__PURE__*/_jsx(DialogContent,{children:/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea\",style:{width:500,height:200},value:JSON.stringify(messages,null,4)})}),/*#__PURE__*/_jsx(DialogActions,{children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:function onClick(){return setIsOpenMessages(false);},style:{marginRight:15,marginBottom:15},children:\"OK\"})})]}),/*#__PURE__*/_jsxs(\"div\",{className:isShow?'jsonBox':'jsonBox hide',children:[/*#__PURE__*/_jsxs(\"div\",{className:\"jsonBox-header\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"jsonBox-title\",children:\"JSON Format\"}),/*#__PURE__*/_jsx(CopyComponent,{tip:'Copy all',text:jsonData})]}),/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea\",value:jsonData})]})]});};export default RegisterModelComponent;","map":{"version":3,"names":["Cancel","CheckCircleIcon","KeyboardDoubleArrowRightIcon","NotesIcon","OpenInFullIcon","Alert","Autocomplete","Box","Button","Checkbox","Chip","Dialog","DialogActions","DialogContent","DialogTitle","FormControl","FormControlLabel","InputLabel","MenuItem","Radio","RadioGroup","Select","Stack","Switch","TextField","Tooltip","nunjucks","React","useContext","useEffect","useRef","useState","useCookies","useNavigate","useParams","ApiContext","CopyComponent","fetchWrapper","isValidBearerToken","AddControlnet","AddModelSpecs","AddStop","languages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SUPPORTED_LANGUAGES_DICT","en","zh","SUPPORTED_FEATURES","messages","role","content","SUPPORTED_LANGUAGES","Object","keys","RegisterModelComponent","_ref","_formData$model_abili3","_formData$model_abili4","_formData$model_abili5","_formData$model_lang","_formData$language","_formData$model_abili6","modelType","customData","endPoint","_useContext","setErrorMsg","_useState","_useState2","_slicedToArray","formData","setFormData","_useState3","_useState4","promptStyles","setPromptStyles","_useState5","_useState6","family","setFamily","_useState7","_useState8","languagesArr","setLanguagesArr","_useState9","_useState10","isContextLengthAlert","setIsContextLengthAlert","_useState11","_useState12","isDimensionsAlert","setIsDimensionsAlert","_useState13","_useState14","isMaxTokensAlert","setIsMaxTokensAlert","_useState15","_useState16","jsonData","setJsonData","_useState17","_useState18","isSpecsArrError","setIsSpecsArrError","_useState19","_useState20","isValidLauncherArgsAlert","setIsValidLauncherArgsAlert","scrollRef","_useCookies","_useCookies2","cookie","navigate","_useParams","registerModelType","model_name","_useState21","_useState22","isShow","setIsShow","_useState23","JSON","parse","sessionStorage","getItem","model_specs","_useState24","specsArr","setSpecsArr","_useState25","controlnet","_useState26","controlnetArr","setControlnetArr","_useState27","_useState28","contrastObj","setContrastObj","_useState29","_useState30","isEqual","setIsEqual","_useState31","_useState32","testRes","setTestRes","_useState33","_useState34","isOpenMessages","setIsOpenMessages","_useState35","_useState36","testErrorInfo","setTestErrorInfo","_useState37","_useState38","isStopTokenIdsAlert","setIsStopTokenIdsAlert","_useState39","_useState40","familyOptions","setFamilyOptions","_useState41","_useState42","isEditableFamily","setIsEditableFamily","data","lagArr","model_lang","filter","item","version","model_description","context_length","model_ability","model_family","chat_template","stop_token_ids","stop","specsDataArr","map","model_uri","model_size_in_billions","model_format","quantizations","model_file_name_template","llmData","language","dimensions","max_tokens","embeddingData","rerankData","imageData","multilingual","audioData","launcher","launcher_args","flexibleData","token","replace","getBuiltinFamilies","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","errorData","key","wrap","_callee$","_context","prev","next","fetch","method","headers","sent","ok","json","concat","status","detail","sort","a","b","lowerA","toLowerCase","lowerB","apply","arguments","getBuiltInPromptStyles","_ref3","_callee2","res","v","_callee2$","_context2","push","prototype","hasOwnProperty","call","length","catch","error","message","console","chat","undefined","_family$chat","stringify","customReplacer","deepEqual","handleFamilyOptions","_family$chat2","value","handleClick","_ref4","_callee3","type","_callee3$","_context3","t0","t1","done","toString","slice","abrupt","post","model","persist","then","setItem","handleNumber","parameterName","_objectSpread","_defineProperty","Number","parseInt","parseFloat","toggleLanguage","lang","includes","l","_toConsumableArray","toggleAbility","ability","obj","_family$chat3","_data$","_data$2","_data$3","name","handleFamily","_family$chat4","_data$4","_data$5","_data$6","handleSelectLanguages","arr","Array","from","Set","handleDeleteLanguages","subItem","getSpecsArr","getControlnetArr","handleCancel","handleEdit","delete","obj1","obj2","keysA","keysB","_i","_keysA","handleTest","configure","autoescape","test_res","renderString","getStopTokenIds","getStop","handleFamilyAlert","_formData$model_abili","_family$vision","_formData$model_abili2","_family$tools","vision","tools","handleChatTemplateAlert","id","_family$vision2","label","_family$tools2","_family$chat5","_family$generate","generate","style","display","overFlow","maxWidth","children","className","title","placement","onClick","ref","width","size","helperText","onChange","event","target","padding","severity","paddingLeft","color","sx","marginRight","control","checked","m","minWidth","e","MenuProps","PaperProps","maxHeight","code","direction","spacing","marginLeft","variant","onDelete","freeSolo","options","renderInput","params","InputProps","disabled","_","newValue","onInputChange","newInputValue","multiline","rows","flex","marginTop","alignItems","gap","fontSize","cursor","backgroundColor","arrItemType","onGetData","onGetError","isJump","onGetArr","controlnetDataArr","onGetControlnetArr","_unused","open","onClose","readOnly","height","marginBottom","tip","text"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/register_model/registerModel.js"],"sourcesContent":["import './styles/registerModelStyle.css'\n\nimport Cancel from '@mui/icons-material/Cancel'\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle'\nimport KeyboardDoubleArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowRight'\nimport NotesIcon from '@mui/icons-material/Notes'\nimport OpenInFullIcon from '@mui/icons-material/OpenInFull'\nimport {\n Alert,\n Autocomplete,\n Box,\n Button,\n Checkbox,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n FormControlLabel,\n InputLabel,\n MenuItem,\n Radio,\n RadioGroup,\n Select,\n Stack,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport nunjucks from 'nunjucks'\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport CopyComponent from '../../components/copyComponent/copyComponent'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport { isValidBearerToken } from '../../components/utils'\nimport AddControlnet from './components/addControlnet'\nimport AddModelSpecs from './components/addModelSpecs'\nimport AddStop from './components/addStop'\nimport languages from './data/languages'\nconst SUPPORTED_LANGUAGES_DICT = { en: 'English', zh: 'Chinese' }\nconst SUPPORTED_FEATURES = ['Generate', 'Chat', 'Vision', 'Tools']\nconst messages = [\n {\n role: 'assistant',\n content: 'This is the message content replied by the assistant previously',\n },\n {\n role: 'user',\n content: 'This is the message content sent by the user currently',\n },\n]\n\n// Convert dictionary of supported languages into list\nconst SUPPORTED_LANGUAGES = Object.keys(SUPPORTED_LANGUAGES_DICT)\n\nconst RegisterModelComponent = ({ modelType, customData }) => {\n const endPoint = useContext(ApiContext).endPoint\n const { setErrorMsg } = useContext(ApiContext)\n const [formData, setFormData] = useState(customData)\n const [promptStyles, setPromptStyles] = useState([])\n const [family, setFamily] = useState({})\n const [languagesArr, setLanguagesArr] = useState([])\n const [isContextLengthAlert, setIsContextLengthAlert] = useState(false)\n const [isDimensionsAlert, setIsDimensionsAlert] = useState(false)\n const [isMaxTokensAlert, setIsMaxTokensAlert] = useState(false)\n const [jsonData, setJsonData] = useState('')\n const [isSpecsArrError, setIsSpecsArrError] = useState(false)\n const [isValidLauncherArgsAlert, setIsValidLauncherArgsAlert] =\n useState(false)\n const scrollRef = useRef(null)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n const { registerModelType, model_name } = useParams()\n const [isShow, setIsShow] = useState(model_name ? true : false)\n const [specsArr, setSpecsArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).model_specs\n : []\n )\n const [controlnetArr, setControlnetArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).controlnet\n : []\n )\n const [contrastObj, setContrastObj] = useState({})\n const [isEqual, setIsEqual] = useState(true)\n const [testRes, setTestRes] = useState('')\n const [isOpenMessages, setIsOpenMessages] = useState(false)\n const [testErrorInfo, setTestErrorInfo] = useState('')\n const [isStopTokenIdsAlert, setIsStopTokenIdsAlert] = useState(false)\n const [familyOptions, setFamilyOptions] = useState([])\n const [isEditableFamily, setIsEditableFamily] = useState(true)\n\n useEffect(() => {\n if (model_name) {\n const data = JSON.parse(sessionStorage.getItem('customJsonData'))\n\n if (modelType === 'LLM') {\n const lagArr = data.model_lang.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs,\n chat_template,\n stop_token_ids,\n stop,\n } = data\n const specsDataArr = model_specs.map((item) => {\n const {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n } = item\n return {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n }\n })\n const llmData = {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs: specsDataArr,\n chat_template,\n stop_token_ids,\n stop,\n }\n setFormData(llmData)\n setContrastObj(llmData)\n setSpecsArr(specsDataArr)\n } else {\n if (modelType === 'embedding') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const { model_name, dimensions, max_tokens, model_uri, language } =\n data\n const embeddingData = {\n model_name,\n dimensions,\n max_tokens,\n model_uri,\n language,\n }\n setFormData(embeddingData)\n setContrastObj(embeddingData)\n } else if (modelType === 'rerank') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const { model_name, model_uri, language } = data\n const rerankData = {\n model_name,\n model_uri,\n language,\n }\n setFormData(rerankData)\n setContrastObj(rerankData)\n } else if (modelType === 'image') {\n const { model_name, model_uri, model_family, controlnet } = data\n const controlnetArr = controlnet.map((item) => {\n const { model_name, model_uri, model_family } = item\n return {\n model_name,\n model_uri,\n model_family,\n }\n })\n const imageData = {\n model_name,\n model_uri,\n model_family,\n controlnet: controlnetArr,\n }\n setFormData(imageData)\n setContrastObj(imageData)\n setControlnetArr(controlnetArr)\n } else if (modelType === 'audio') {\n const { model_name, model_uri, multilingual, model_family } = data\n const audioData = {\n model_name,\n model_uri,\n multilingual,\n model_family,\n }\n setFormData(audioData)\n setContrastObj(audioData)\n } else if (modelType === 'flexible') {\n const {\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n } = data\n const flexibleData = {\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n }\n setFormData(flexibleData)\n setContrastObj(flexibleData)\n }\n }\n }\n }, [model_name])\n\n useEffect(() => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n return\n }\n\n const getBuiltinFamilies = async () => {\n const response = await fetch(endPoint + '/v1/models/families', {\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 for (let key in data) {\n data[key] = data[key].sort(function (a, b) {\n let lowerA = a.toLowerCase()\n let lowerB = b.toLowerCase()\n\n if (lowerA < lowerB) {\n return -1\n }\n if (lowerA > lowerB) {\n return 1\n }\n return 0\n })\n }\n setFamily(data)\n }\n }\n\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\n if (\n Object.prototype.hasOwnProperty.call(customData, 'model_ability') &&\n Object.prototype.hasOwnProperty.call(customData, 'model_family')\n ) {\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 if (family?.chat === undefined) {\n getBuiltinFamilies().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 }, [cookie.token])\n\n useEffect(() => {\n setJsonData(JSON.stringify(formData, customReplacer, 4))\n if (contrastObj.model_name) {\n deepEqual(contrastObj, formData) ? setIsEqual(true) : setIsEqual(false)\n }\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [formData])\n\n useEffect(() => {\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [family])\n\n const customReplacer = (key, value) => {\n if (key === 'chat_template' && value) {\n return value.replace(/\\\\n/g, '\\n')\n }\n return value\n }\n\n const handleClick = async () => {\n for (let key in formData) {\n const type = Object.prototype.toString.call(formData[key]).slice(8, -1)\n if (\n key !== 'model_description' &&\n ((type === 'Array' &&\n key !== 'controlnet' &&\n key !== 'stop_token_ids' &&\n key !== 'stop' &&\n formData[key].length === 0) ||\n (type === 'String' && formData[key] === '') ||\n (type === 'Number' && formData[key] <= 0))\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n }\n\n if (\n isSpecsArrError ||\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n\n try {\n fetchWrapper\n .post(`/v1/model_registrations/${modelType}`, {\n model: JSON.stringify(formData, customReplacer),\n persist: true,\n })\n .then(() => {\n navigate(`/launch_model/custom/${modelType.toLowerCase()}`)\n sessionStorage.setItem('modelType', '/launch_model/custom/llm')\n sessionStorage.setItem(\n 'subType',\n `/launch_model/custom/${modelType.toLowerCase()}`\n )\n })\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\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 handleNumber = (value, parameterName) => {\n setIsContextLengthAlert(false)\n setIsDimensionsAlert(false)\n setIsMaxTokensAlert(false)\n setFormData({ ...formData, [parameterName]: value })\n\n if (\n value !== '' &&\n (!Number(value) ||\n Number(value) <= 0 ||\n parseInt(value) !== parseFloat(value))\n ) {\n parameterName === 'context_length' ? setIsContextLengthAlert(true) : ''\n parameterName === 'dimensions' ? setIsDimensionsAlert(true) : ''\n parameterName === 'max_tokens' ? setIsMaxTokensAlert(true) : ''\n } else if (value !== '') {\n setFormData({ ...formData, [parameterName]: Number(value) })\n }\n }\n\n const toggleLanguage = (lang) => {\n if (modelType === 'LLM') {\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 } else {\n if (formData.language.includes(lang)) {\n setFormData({\n ...formData,\n language: formData.language.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n language: [...formData.language, lang],\n })\n }\n }\n }\n\n const toggleAbility = (ability) => {\n const obj = JSON.parse(JSON.stringify(formData))\n if (formData.model_ability.includes(ability)) {\n delete obj.chat_template\n delete obj.stop_token_ids\n delete obj.stop\n setFormData({\n ...obj,\n model_ability: formData.model_ability.filter((item) => {\n if (ability === 'chat') {\n return item !== 'chat' && item !== 'vision' && item !== 'tools'\n }\n return item !== ability\n }),\n model_family: '',\n })\n } else {\n let model_ability = []\n if (\n ability === 'chat' ||\n (['vision', 'tools'].includes(ability) &&\n !formData.model_ability.includes('chat'))\n ) {\n if (\n formData.model_family !== '' &&\n family?.chat?.includes(formData.model_family)\n ) {\n const data = promptStyles.filter(\n (item) => item.name === formData.model_family\n )\n obj.chat_template = data[0]?.chat_template || null\n obj.stop_token_ids = data[0]?.stop_token_ids || []\n obj.stop = data[0]?.stop || []\n } else {\n obj.chat_template = ''\n obj.stop_token_ids = []\n obj.stop = []\n }\n ability === 'chat'\n ? (model_ability = [...formData.model_ability, ability])\n : (model_ability = [...formData.model_ability, 'chat', ability])\n } else {\n if (ability === 'vision' && formData.model_ability.includes('tools')) {\n model_ability = [\n ...formData.model_ability.filter((item) => item !== 'tools'),\n 'chat',\n ability,\n ]\n } else if (\n ability === 'tools' &&\n formData.model_ability.includes('vision')\n ) {\n model_ability = [\n ...formData.model_ability.filter((item) => item !== 'vision'),\n 'chat',\n ability,\n ]\n } else {\n model_ability = [...formData.model_ability, ability]\n }\n }\n delete obj.chat_template\n delete obj.stop_token_ids\n delete obj.stop\n setFormData({\n ...obj,\n model_family: '',\n model_ability: model_ability,\n })\n }\n }\n\n const handleFamily = (value) => {\n if (formData.model_ability.includes('chat')) {\n if (family?.chat?.includes(value)) {\n const data = promptStyles.filter((item) => {\n return item.name === value\n })\n setFormData({\n ...formData,\n model_family: value,\n chat_template: data[0]?.chat_template || null,\n stop_token_ids: data[0]?.stop_token_ids || [],\n stop: data[0]?.stop || [],\n })\n } else {\n setFormData({\n ...formData,\n model_family: value,\n chat_template: '',\n stop_token_ids: [],\n stop: [],\n })\n }\n } else {\n setFormData({\n ...formData,\n model_family: value,\n })\n }\n }\n\n const handleSelectLanguages = (value) => {\n const arr = [...languagesArr, value]\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: Array.from(new Set([...formData.model_lang, ...arr])),\n })\n } else {\n setFormData({\n ...formData,\n language: Array.from(new Set([...formData.language, ...arr])),\n })\n }\n }\n\n const handleDeleteLanguages = (item) => {\n const arr = languagesArr.filter((subItem) => subItem !== item)\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((subItem) => subItem !== item),\n })\n } else {\n setFormData({\n ...formData,\n language: formData.language.filter((subItem) => subItem !== item),\n })\n }\n }\n\n const getSpecsArr = (arr, isSpecsArrError) => {\n setFormData({ ...formData, model_specs: arr })\n setIsSpecsArrError(isSpecsArrError)\n }\n\n const getControlnetArr = (arr) => {\n setFormData({ ...formData, controlnet: arr })\n }\n\n const handleCancel = () => {\n navigate(`/launch_model/custom/${registerModelType}`)\n }\n\n const handleEdit = () => {\n fetchWrapper\n .delete(\n `/v1/model_registrations/${\n registerModelType === 'llm' ? 'LLM' : registerModelType\n }/${model_name}`\n )\n .then(() => handleClick())\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n }\n\n const deepEqual = (obj1, obj2) => {\n if (obj1 === obj2) return true\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 == null ||\n obj2 == null\n ) {\n return false\n }\n\n let keysA = Object.keys(obj1)\n let keysB = Object.keys(obj2)\n if (keysA.length !== keysB.length) return false\n for (let key of keysA) {\n if (!keysB.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n return false\n }\n }\n return true\n }\n\n const handleTest = () => {\n setTestRes('')\n if (formData.chat_template) {\n try {\n nunjucks.configure({ autoescape: false })\n const test_res = nunjucks.renderString(formData.chat_template, {\n messages: messages,\n })\n if (test_res === '') {\n setTestRes(test_res)\n setTestErrorInfo('error')\n } else {\n setTestRes(test_res)\n setTestErrorInfo('')\n }\n } catch (error) {\n setTestErrorInfo(`${error}`)\n }\n }\n }\n\n const getStopTokenIds = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop_token_ids: [],\n })\n } else {\n setFormData({\n ...formData,\n stop_token_ids: value,\n })\n }\n }\n\n const getStop = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop: [],\n })\n } else {\n setFormData({\n ...formData,\n stop: value,\n })\n }\n }\n\n const handleFamilyAlert = () => {\n if (\n formData.model_ability?.includes('vision') &&\n !family?.vision?.includes(formData.model_family)\n ) {\n return true\n } else if (\n formData.model_ability?.includes('tools') &&\n !family?.tools?.includes(formData.model_family)\n ) {\n return true\n }\n return false\n }\n\n const handleChatTemplateAlert = () => {\n if (\n familyOptions?.filter((item) => item.id === formData.model_family)\n .length === 0 &&\n !formData.chat_template\n ) {\n return true\n }\n return false\n }\n\n const handleFamilyOptions = (model_ability) => {\n if (model_ability.includes('vision')) {\n setIsEditableFamily(false)\n setFamilyOptions(\n family?.vision?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('tools')) {\n setIsEditableFamily(false)\n setFamilyOptions(\n family?.tools?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('chat')) {\n setIsEditableFamily(true)\n setFamilyOptions(\n family?.chat?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('generate')) {\n setIsEditableFamily(true)\n setFamilyOptions(\n family?.generate?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else {\n setIsEditableFamily(true)\n setFamilyOptions([])\n }\n }\n\n return (\n <Box style={{ display: 'flex', overFlow: 'hidden', maxWidth: '100%' }}>\n <div className=\"show-json\">\n <p>Show custom json config used by api</p>\n {isShow ? (\n <Tooltip title=\"Pack up\" placement=\"top\">\n <KeyboardDoubleArrowRightIcon\n className=\"icon arrow\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n ) : (\n <Tooltip title=\"Unfold\" placement=\"top\">\n <NotesIcon\n className=\"icon notes\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n )}\n </div>\n <div ref={scrollRef} className={isShow ? 'formBox' : 'formBox broaden'}>\n {/* Base Information */}\n <FormControl style={{ width: '100%' }}>\n {/* name */}\n {customData.model_name && (\n <>\n <TextField\n label=\"Model Name\"\n error={formData.model_name ? false : true}\n value={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 )}\n\n {/* description */}\n {customData.model_description && (\n <>\n <TextField\n label=\"Model Description (Optional)\"\n value={formData.model_description}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n model_description: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Context Length */}\n {customData.context_length && (\n <>\n <TextField\n error={Number(formData.context_length) > 0 ? false : true}\n label=\"Context Length\"\n value={formData.context_length}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'context_length')\n }}\n />\n {isContextLengthAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* dimensions */}\n {customData.dimensions && (\n <>\n <TextField\n label=\"Dimensions\"\n error={Number(formData.dimensions) > 0 ? false : true}\n value={formData.dimensions}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'dimensions')\n }}\n />\n {isDimensionsAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Max Tokens */}\n {customData.max_tokens && (\n <>\n <TextField\n label=\"Max Tokens\"\n error={Number(formData.max_tokens) > 0 ? false : true}\n value={formData.max_tokens}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'max_tokens')\n }}\n />\n {isMaxTokensAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* path */}\n {customData.model_uri && (\n <>\n <TextField\n label=\"Model Path\"\n error={formData.model_uri ? false : true}\n value={formData.model_uri}\n size=\"small\"\n helperText=\"Provide the model directory path.\"\n onChange={(event) =>\n setFormData({ ...formData, model_uri: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* model_lang */}\n {(customData.model_lang || customData.language) && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n modelType === 'LLM'\n ? formData.model_lang.length === 0\n ? '#d32f2f'\n : 'inherit'\n : formData.language.length === 0\n ? '#d32f2f'\n : 'inherit',\n }}\n >\n Model Languages\n </label>\n <Box className=\"checkboxWrapper\">\n {SUPPORTED_LANGUAGES.map((lang) => (\n <Box key={lang} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={\n modelType === 'LLM'\n ? formData.model_lang.includes(lang)\n : formData.language.includes(lang)\n }\n onChange={() => toggleLanguage(lang)}\n name={lang}\n />\n }\n label={SUPPORTED_LANGUAGES_DICT[lang]}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n <FormControl sx={{ m: 1, minWidth: 120 }} size=\"small\">\n <InputLabel>Languages</InputLabel>\n <Select\n value={''}\n label=\"Languages\"\n onChange={(e) => handleSelectLanguages(e.target.value)}\n MenuProps={{\n PaperProps: {\n style: { maxHeight: '20vh' },\n },\n }}\n >\n {languages\n .filter((item) => !languagesArr.includes(item.code))\n .map((item) => (\n <MenuItem key={item.code} value={item.code}>\n {item.code}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n <Stack direction=\"row\" spacing={1} style={{ marginLeft: '10px' }}>\n {languagesArr.map((item) => (\n <Chip\n key={item}\n label={item}\n variant=\"outlined\"\n size=\"small\"\n color=\"primary\"\n onDelete={() => handleDeleteLanguages(item)}\n />\n ))}\n </Stack>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* multilingual */}\n {'multilingual' in customData && (\n <>\n <label\n style={{\n paddingLeft: 5,\n }}\n >\n Multilingual\n </label>\n <FormControlLabel\n style={{ marginLeft: 0, width: 50 }}\n control={<Switch checked={formData.multilingual} />}\n onChange={(e) =>\n setFormData({ ...formData, multilingual: e.target.checked })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* abilities */}\n {customData.model_ability && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n formData.model_ability.length == 0 ? '#d32f2f' : 'inherit',\n }}\n >\n Model Abilities\n </label>\n <Box className=\"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 />\n }\n label={ability}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n </Box>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* family */}\n {(customData.model_family === '' || customData.model_family) && (\n <>\n {modelType === 'LLM' && (\n <>\n <Autocomplete\n id=\"free-solo-demo\"\n freeSolo={isEditableFamily}\n options={familyOptions || []}\n size=\"small\"\n renderInput={(params) => (\n <TextField\n {...params}\n helperText={\n isEditableFamily\n ? 'You can choose from the built-in models or input your own.'\n : 'You can only choose from the built-in models.'\n }\n InputProps={{\n ...params.InputProps,\n disabled: !isEditableFamily,\n }}\n label=\"Model Family\"\n />\n )}\n value={formData.model_family}\n onChange={(_, newValue) => {\n handleFamily(newValue?.id)\n }}\n onInputChange={(_, newInputValue) => {\n if (isEditableFamily) {\n handleFamily(newInputValue)\n }\n }}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n {(modelType === 'image' || modelType === 'audio') && (\n <>\n <FormControl>\n <label\n style={{\n paddingLeft: 5,\n color: 'inherit',\n }}\n >\n Model Family\n </label>\n <RadioGroup value={formData.model_family}>\n <Box\n className=\"checkboxWrapper\"\n style={{ paddingLeft: '10px' }}\n >\n <FormControlLabel\n value={formData.model_family}\n checked\n control={<Radio />}\n label={formData.model_family}\n />\n </Box>\n </RadioGroup>\n </FormControl>\n <Box padding=\"15px\"></Box>\n </>\n )}\n </>\n )}\n\n {/* chat_template */}\n {formData.model_ability?.includes('chat') && (\n <>\n <div className=\"chat_template_box\">\n <TextField\n label=\"Chat Template\"\n error={handleChatTemplateAlert()}\n value={formData.chat_template || ''}\n size=\"small\"\n helperText=\"Please make sure this chat_template passes the test by clicking the TEST button on the right. Please note that this test may not cover all cases and will only be used for the most basic case.\"\n multiline\n rows={6}\n onChange={(event) =>\n setFormData({\n ...formData,\n chat_template: event.target.value,\n })\n }\n style={{ flex: 1 }}\n />\n <Button\n variant=\"contained\"\n onClick={handleTest}\n style={{ marginTop: 50 }}\n >\n test\n </Button>\n <div className=\"chat_template_test\">\n <div className=\"chat_template_test_mainBox\">\n <div\n style={{ display: 'flex', alignItems: 'center', gap: 5 }}\n >\n <span style={{ fontSize: 16 }}>messages example</span>\n <OpenInFullIcon\n onClick={() => setIsOpenMessages(true)}\n style={{\n fontSize: 14,\n color: '#666',\n cursor: 'pointer',\n }}\n />\n </div>\n <div>\n <span\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n fontSize: 16,\n }}\n >\n test result\n {testErrorInfo ? (\n <Cancel style={{ color: 'red' }} />\n ) : testRes ? (\n <CheckCircleIcon\n style={{ color: 'rgb(46, 125, 50)' }}\n />\n ) : (\n ''\n )}\n </span>\n <div\n className=\"test_res_box\"\n style={{\n backgroundColor:\n testErrorInfo === ''\n ? testRes\n ? 'rgb(237, 247, 237)'\n : ''\n : 'rgb(253, 237, 237)',\n }}\n >\n {testErrorInfo !== ''\n ? testErrorInfo\n : testRes\n ? testRes\n : 'No test results...'}\n </div>\n </div>\n </div>\n <div\n className=\"chat_template_test_tip\"\n style={{ color: testErrorInfo === '' ? '' : '#d32f2f' }}\n >\n Please note that failure to pass test may prevent chats from\n working properly.\n </div>\n </div>\n </div>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop_token_ids */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label=\"Stop Token Ids\"\n arrItemType=\"number\"\n formData={formData.stop_token_ids}\n onGetData={getStopTokenIds}\n onGetError={(value) => {\n if (value.includes('false')) {\n setIsStopTokenIdsAlert(true)\n } else {\n setIsStopTokenIdsAlert(false)\n }\n }}\n helperText=\"int type, used to control the stopping of chat models\"\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label=\"Stop\"\n arrItemType=\"string\"\n formData={formData.stop}\n onGetData={getStop}\n helperText=\"string type, used to control the stopping of chat models\"\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* specs */}\n {customData.model_specs && (\n <>\n <AddModelSpecs\n isJump={model_name ? true : false}\n formData={customData.model_specs[0]}\n specsDataArr={specsArr}\n onGetArr={getSpecsArr}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* controlnet */}\n {customData.controlnet && (\n <>\n <AddControlnet\n controlnetDataArr={controlnetArr}\n onGetControlnetArr={getControlnetArr}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher */}\n {customData.launcher && (\n <>\n <TextField\n label=\"Launcher\"\n error={formData.launcher ? false : true}\n value={formData.launcher}\n size=\"small\"\n helperText=\"Provide the model launcher.\"\n onChange={(event) =>\n setFormData({ ...formData, launcher: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher_args */}\n {customData.launcher_args && (\n <>\n <TextField\n label=\"Launcher Arguments (Optional)\"\n value={formData.launcher_args}\n size=\"small\"\n helperText=\"A JSON-formatted dictionary representing the arguments passed to the Launcher.\"\n onChange={(event) => {\n try {\n JSON.parse(event.target.value)\n setIsValidLauncherArgsAlert(false)\n } catch {\n setIsValidLauncherArgsAlert(true)\n }\n return setFormData({\n ...formData,\n launcher_args: event.target.value,\n })\n }}\n multiline\n rows={4}\n />\n {isValidLauncherArgsAlert && (\n <Alert severity=\"error\">\n Please enter the JSON-formatted dictionary.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n </FormControl>\n\n {model_name ? (\n <>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleEdit}\n disabled={isEqual}\n >\n Edit\n </Button>\n <Button\n style={{ marginLeft: 30 }}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n </>\n ) : (\n <Box width={'100%'}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleClick}\n disabled={\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert ||\n formData.model_lang?.length === 0 ||\n formData.language?.length === 0 ||\n formData.model_ability?.length === 0 ||\n (modelType === 'LLM' && !formData.model_family) ||\n isStopTokenIdsAlert ||\n handleFamilyAlert()\n }\n >\n Register Model\n </Button>\n </Box>\n )}\n </div>\n\n <Dialog\n open={isOpenMessages}\n onClose={() => setIsOpenMessages(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">Messages Example</DialogTitle>\n <DialogContent>\n <textarea\n readOnly\n className=\"textarea\"\n style={{ width: 500, height: 200 }}\n value={JSON.stringify(messages, null, 4)}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => setIsOpenMessages(false)}\n style={{ marginRight: 15, marginBottom: 15 }}\n >\n OK\n </Button>\n </DialogActions>\n </Dialog>\n\n {/* JSON */}\n <div className={isShow ? 'jsonBox' : 'jsonBox hide'}>\n <div className=\"jsonBox-header\">\n <div className=\"jsonBox-title\">JSON Format</div>\n <CopyComponent tip={'Copy all'} text={jsonData} />\n </div>\n <textarea readOnly className=\"textarea\" value={jsonData} />\n </div>\n </Box>\n )\n}\n\nexport default RegisterModelComponent\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xinference
3
- Version: 0.15.1
3
+ Version: 0.15.2
4
4
  Summary: Model Serving Made Easy
5
5
  Home-page: https://github.com/xorbitsai/inference
6
6
  Author: Qin Xuye
@@ -234,14 +234,14 @@ potential of cutting-edge AI models.
234
234
  - Support speech recognition model: [#929](https://github.com/xorbitsai/inference/pull/929)
235
235
  - Metrics support: [#906](https://github.com/xorbitsai/inference/pull/906)
236
236
  ### New Models
237
+ - Built-in support for [Qwen 2.5 Series](https://qwenlm.github.io/blog/qwen2.5/): [#2325](https://github.com/xorbitsai/inference/pull/2325)
238
+ - Built-in support for [Fish Speech V1.4](https://huggingface.co/fishaudio/fish-speech-1.4): [#2295](https://github.com/xorbitsai/inference/pull/2295)
239
+ - Built-in support for [DeepSeek-V2.5](https://huggingface.co/deepseek-ai/DeepSeek-V2.5): [#2292](https://github.com/xorbitsai/inference/pull/2292)
240
+ - Built-in support for [Qwen2-Audio](https://github.com/QwenLM/Qwen2-Audio): [#2271](https://github.com/xorbitsai/inference/pull/2271)
237
241
  - Built-in support for [Qwen2-vl-instruct](https://github.com/QwenLM/Qwen2-VL): [#2205](https://github.com/xorbitsai/inference/pull/2205)
238
242
  - Built-in support for [MiniCPM3-4B](https://huggingface.co/openbmb/MiniCPM3-4B): [#2263](https://github.com/xorbitsai/inference/pull/2263)
239
243
  - Built-in support for [CogVideoX](https://github.com/THUDM/CogVideo): [#2049](https://github.com/xorbitsai/inference/pull/2049)
240
244
  - Built-in support for [flux.1-schnell & flux.1-dev](https://www.basedlabs.ai/tools/flux1): [#2007](https://github.com/xorbitsai/inference/pull/2007)
241
- - Built-in support for [MiniCPM-V 2.6](https://github.com/OpenBMB/MiniCPM-V): [#2031](https://github.com/xorbitsai/inference/pull/2031)
242
- - Built-in support for [Kolors](https://huggingface.co/Kwai-Kolors/Kolors): [#2028](https://github.com/xorbitsai/inference/pull/2028)
243
- - Built-in support for [SenseVoice](https://github.com/FunAudioLLM/SenseVoice): [#2008](https://github.com/xorbitsai/inference/pull/2008)
244
- - Built-in support for [Mistral Large 2](https://mistral.ai/news/mistral-large-2407/): [#1944](https://github.com/xorbitsai/inference/pull/1944)
245
245
  ### Integrations
246
246
  - [Dify](https://docs.dify.ai/advanced/model-configuration/xinference): an LLMOps platform that enables developers (and even non-developers) to quickly build useful applications based on large language models, ensuring they are visual, operable, and improvable.
247
247
  - [FastGPT](https://github.com/labring/FastGPT): a knowledge-based platform built on the LLM, offers out-of-the-box data processing and model invocation capabilities, allows for workflow orchestration through Flow visualization.
@@ -1,6 +1,6 @@
1
1
  xinference/__init__.py,sha256=muQ9V9y11BcIqlZhhc06oDf193H7bwDIa8e_wSoDKI8,986
2
2
  xinference/_compat.py,sha256=xFztCfyrq3O_4bssL_ygghYkfxicv_ZhiX2YDDWHf-k,3571
3
- xinference/_version.py,sha256=wbdwr3kzesiwMZeRbtAdBTt5CkCnSrLiBm1cVWh10zY,498
3
+ xinference/_version.py,sha256=7zQEeiDI-E0CU8s4-vIp-965xHo_KhHTI48Mp2N5KWw,498
4
4
  xinference/conftest.py,sha256=56HYQjsAJcQrpZSmskniPqH9dLoW-i3Oud6NVTtc4io,9752
5
5
  xinference/constants.py,sha256=f8RxXrnnhoEYSwhiDSp8nKeUMF-KE4GyerMg-pa3Vv4,3582
6
6
  xinference/device_utils.py,sha256=zswJiws3VyTIaNO8z-MOcsJH_UiPoePPiKK5zoNrjTA,3285
@@ -25,7 +25,7 @@ xinference/core/chat_interface.py,sha256=tM4hQPZ0UVcmE4_-auXWkq2z0rWmZBwwXNwbbl5
25
25
  xinference/core/event.py,sha256=42F38H2WOl6aPxp2oxX6WNxHRRxbnvYRmbt4Ar7NP4U,1640
26
26
  xinference/core/image_interface.py,sha256=-elEvAYVga8KXbl9uc1A8oV0YWK0QbKDu5RPofkxxXs,11837
27
27
  xinference/core/metrics.py,sha256=ScmTG15Uq3h_ob72ybZSMWdnk8P4sUZFcm60f4ikSXc,2631
28
- xinference/core/model.py,sha256=LWdSidkibzbamyCeczAp526wZhd2QKWBdh7I3HYnkJo,30318
28
+ xinference/core/model.py,sha256=_X0aPIcTtdy886tMxuoto_nwXqCrm3S8IMalv3Kq5QU,30354
29
29
  xinference/core/resource.py,sha256=FQ0aRt3T4ZQo0P6CZZf5QUKHiCsr5llBvKb1f7wfnxg,1611
30
30
  xinference/core/scheduler.py,sha256=qONNFqAlnYDcmmzPO5jfU-r0aZ1Lhhpn1oSaA5CAGTE,15485
31
31
  xinference/core/status_guard.py,sha256=4an1KjUOhCStgRQUw1VSzXcycXUtvhxwiMREKKcl1UI,2828
@@ -46,7 +46,7 @@ xinference/model/utils.py,sha256=-eGdgTgCJYowL9VpJaXb6T8RVKOUpfzwyQHOJ0qaeM8,119
46
46
  xinference/model/audio/__init__.py,sha256=G4n-MyzdarFVOndPRkEyZZrCwqFIG8yIsky6_5dife0,3433
47
47
  xinference/model/audio/chattts.py,sha256=rMH6-9M8boZdpUSgxaAge-LraE79nRs6mVc0nPLHd5A,4585
48
48
  xinference/model/audio/core.py,sha256=2QexrIh3hDoaNeWh5rOMas9q4zDCZTaazsLRdQ7D5Zw,6512
49
- xinference/model/audio/cosyvoice.py,sha256=QhECyo5UuPOEv6F08tT9ToLsEL7v0cCtNPKNP1lkT-4,6460
49
+ xinference/model/audio/cosyvoice.py,sha256=Enur1Y4Xa-mpr7wwnoXWwhyh7PUAjrHZ8DV91tTrpjE,6426
50
50
  xinference/model/audio/custom.py,sha256=8GXBRmTtR-GY03-E91nlRGTIuabCRzlt20ecU6Un6Y8,4985
51
51
  xinference/model/audio/fish_speech.py,sha256=v2WVEV-BLWnbiDvqrx8WTGE_YNKmd9QoAF1LZBXWxn0,7310
52
52
  xinference/model/audio/funasr.py,sha256=65z7U7_F14CCP-jg6BpeY3_49FK7Y5OCRSzrhhsklCg,4075
@@ -74,13 +74,13 @@ xinference/model/image/model_spec_modelscope.json,sha256=r3_m9XZo1QZgmASg5navOPs
74
74
  xinference/model/image/sdapi.py,sha256=XhSIfEQY8giC0KC04CoMBJea9dZSFO4Ci8fQlAlxk54,4685
75
75
  xinference/model/image/utils.py,sha256=gxg8jJ2nYaDknzCcSC53WCy1slbB5aWU14AbJbfm6Z4,906
76
76
  xinference/model/image/stable_diffusion/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
77
- xinference/model/image/stable_diffusion/core.py,sha256=nlEcmRPitKaQ3lHOOruFqM00oIxod4IljdP-P6rjGw4,18501
78
- xinference/model/llm/__init__.py,sha256=5DDyvQuglJtIP6DCdvBZtEiN5qv7Rnp-ZNjObaCRDMQ,12432
77
+ xinference/model/image/stable_diffusion/core.py,sha256=K6g-BGs_Y2Pns0tG7BTQ3QZcMnvDOb-FXY4JyQYiooo,18842
78
+ xinference/model/llm/__init__.py,sha256=elINGzzDXmSissG32UMG7BfMqNgXwSM7USBaTorGWSA,12428
79
79
  xinference/model/llm/core.py,sha256=f4nKVPTAseivij6mbL2yXEKxrzllKm-_i2ttSqckTCg,8157
80
- xinference/model/llm/llm_family.json,sha256=QgD2opPlv1uYg6_L-axjClRe07tRaaalF2qGhdJ8dbE,258448
80
+ xinference/model/llm/llm_family.json,sha256=5_fQgQbHT5FVYGxtovTMW9DY9aqEpvedYukWtBZnS04,285456
81
81
  xinference/model/llm/llm_family.py,sha256=eqeaHwLeS2TDB_ATf_h6YkH6OiyyF_4cSF_bOq3pTws,37432
82
82
  xinference/model/llm/llm_family_csghub.json,sha256=zMKWbihsxQNVB1u5iKJbZUkbOfQ4IPNq1KQ-8IDPQQA,8759
83
- xinference/model/llm/llm_family_modelscope.json,sha256=u-5pOQayhf94MHT3duZ7PN1q-S2j7FYraOFGy_cLJBg,186741
83
+ xinference/model/llm/llm_family_modelscope.json,sha256=XekwX8I6HCh_L8YVAYCuEVd8A2z-Zbfy2f9xtPOQVyM,215036
84
84
  xinference/model/llm/memory.py,sha256=NEIMw6wWaF9S_bnBYq-EyuDhVbUEEeceQhwE1iwsrhI,10207
85
85
  xinference/model/llm/utils.py,sha256=In1a9PwFF2_8suh9J4H1Yh4jyZDPbhI0MRZLIeez4dE,21401
86
86
  xinference/model/llm/llama_cpp/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
@@ -90,7 +90,7 @@ xinference/model/llm/lmdeploy/core.py,sha256=WvSP3x6t-HBv6hKh1qWZatFAzlcZCyyKqvc
90
90
  xinference/model/llm/mlx/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
91
91
  xinference/model/llm/mlx/core.py,sha256=9mTUllTBQf5pnblATWNw6mKKjivQ5u8Xp5q5U4KDYEY,13661
92
92
  xinference/model/llm/sglang/__init__.py,sha256=-sjSIQ4K6w-TEzx49kVaWeWC443fnZqODU91GCQ_JNo,581
93
- xinference/model/llm/sglang/core.py,sha256=UaCdxm3VQvy3lffmXIPY1_wwMX8x0SVXQJliigydLQk,16608
93
+ xinference/model/llm/sglang/core.py,sha256=ft4QlDw36gwoic8lyjtSx2ai6KTW84CPVbYr8grqGMI,16698
94
94
  xinference/model/llm/transformers/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
95
95
  xinference/model/llm/transformers/chatglm.py,sha256=pCJgoc0Ikny5BL85iHXl9M6zKgIzAHBsd81NAZ31yRI,17834
96
96
  xinference/model/llm/transformers/cogvlm2.py,sha256=wqWM6AhVQssgkUOcVX2N7RU7kjnAu55r6ZlUjh9iJro,15942
@@ -112,7 +112,7 @@ xinference/model/llm/transformers/tensorizer_utils.py,sha256=VXSYbPZtCbd8lVvsnjD
112
112
  xinference/model/llm/transformers/utils.py,sha256=qob4wDMN98LKzYdDcQe8rFVA5_mX4i5XeVgm3HSq9iI,28505
113
113
  xinference/model/llm/transformers/yi_vl.py,sha256=w4EpUHpmT9P1u5yEv1Pm3Ico92nqZZv3fO4NEKXteK4,8913
114
114
  xinference/model/llm/vllm/__init__.py,sha256=h_JgzSqV5lP6vQ6XX_17kE4IY4BRnvKta_7VLQAL1ms,581
115
- xinference/model/llm/vllm/core.py,sha256=xZ_7a2xae1dicYo4bav7Z1KrY-bB3PMT7EonMx1YH6M,28171
115
+ xinference/model/llm/vllm/core.py,sha256=ecAoahLx0VWY0Y1G3feYO3TAh97qLZNYVHZ9xiKx6Hs,28388
116
116
  xinference/model/rerank/__init__.py,sha256=wRpf1bOMfmAsuEKEGczMTB5fWEvuqltlJbIbRb-x8Ko,3483
117
117
  xinference/model/rerank/core.py,sha256=_6kqYc488sbj_yub8AkZnDi4Xcibc4Q_MunrdMkHrqo,13264
118
118
  xinference/model/rerank/custom.py,sha256=wPKF3bHbGap9dHz9yYvXMXhozh4hRzS78RQijqvaRq8,3846
@@ -392,14 +392,14 @@ xinference/thirdparty/whisper/normalizers/english.json,sha256=Zgf5SL6YJNLhsvoiI8
392
392
  xinference/thirdparty/whisper/normalizers/english.py,sha256=KJjkZyru_J9Ey03jjBFc3yhvWzWuMhQzRnp2dM6IQdA,20868
393
393
  xinference/web/ui/package-lock.json,sha256=r6y_nAa8SfAETbx3ysAKcRf2SznsSAxpLwtArCJbCCI,760153
394
394
  xinference/web/ui/package.json,sha256=fkEgsboguEVK9yuRrJjN7Alhyo38qV1Ih83qQFVr6SQ,2023
395
- xinference/web/ui/build/asset-manifest.json,sha256=g4v2_BEgxseyKfzOc3HnIiYTFIpUMjdAFNVzSprteXY,453
395
+ xinference/web/ui/build/asset-manifest.json,sha256=6X7zvijVbst5ZZcBt7kYz9eT-F0yVUq3UoE6UU8t_wc,453
396
396
  xinference/web/ui/build/favicon.svg,sha256=dWR8uaz0Q9GCcl-DjWvQh07e1f3jhJBt-r4aSbmH3A4,1894
397
- xinference/web/ui/build/index.html,sha256=VMpHzsTDgTVxVRVkU2f_PnNew3oBS7LQCSB5TJ4yrjY,650
397
+ xinference/web/ui/build/index.html,sha256=jsSYAfo88wjUdYkQ6rq43j1RFXCc3QvlKhvD5xyBFfc,650
398
398
  xinference/web/ui/build/static/css/main.5061c4c3.css,sha256=P7rcts4xzIqV_ikvTokJEYzZ5R9w_3wigAhs7ai9hgU,4392
399
399
  xinference/web/ui/build/static/css/main.5061c4c3.css.map,sha256=K2E6sUL58gZNSOo_9U-IMm9XCKQfnBlehW72IEYQQCw,8658
400
- xinference/web/ui/build/static/js/main.754740c0.js,sha256=5BTmu3ieMQIEPYxARZgDR9dwEzkeUYB1bwGjMP9mqUs,1121849
401
- xinference/web/ui/build/static/js/main.754740c0.js.LICENSE.txt,sha256=d8ETWF_wyLDtaMx4LKhmJjBONXs3Onu4YucCXopqPK0,2321
402
- xinference/web/ui/build/static/js/main.754740c0.js.map,sha256=CVPEXVH2kQnZaHD5PbCYPtfHMrnHob8X1ziytc3AjQw,4919966
400
+ xinference/web/ui/build/static/js/main.29578905.js,sha256=oAsfQLr2H2PVKZEgemIpbXp9M5i97LDCXJ3keBoa1W0,1121905
401
+ xinference/web/ui/build/static/js/main.29578905.js.LICENSE.txt,sha256=d8ETWF_wyLDtaMx4LKhmJjBONXs3Onu4YucCXopqPK0,2321
402
+ xinference/web/ui/build/static/js/main.29578905.js.map,sha256=mXTXFmg9dWdyojAX3CjwzvQKzaXssDw8jGOvJmvmkJo,4920100
403
403
  xinference/web/ui/build/static/media/icon.4603d52c63041e5dfbfd.webp,sha256=kM--URMpXs5Vf0iSqQ8hmUalvWgcmRERpv37CriXRAE,16128
404
404
  xinference/web/ui/node_modules/.package-lock.json,sha256=_V6n9fLvF1laSHVMZb9Z6wwLvUphwXM7kuMW2TD5FX4,758073
405
405
  xinference/web/ui/node_modules/.cache/babel-loader/00012b59e7dc64a18400bdddb660faa295258241c0b9cd15c78cdba63b858ed8.json,sha256=FhiSQ9MQv6bT7TkLBlXXskoaG2HCKhsuTXXlkDV-pM4,668
@@ -9866,6 +9866,7 @@ xinference/web/ui/node_modules/.cache/babel-loader/c794daf613ddd9142366357e09711
9866
9866
  xinference/web/ui/node_modules/.cache/babel-loader/c7aa20ac57be2861a8c571b55f5411843904f2bd134bf0d3e8afbe85f7260715.json,sha256=lYa7T_mmP1UoLArApGXVhWEev5ZSFapDHqsUq41tDHM,1029
9867
9867
  xinference/web/ui/node_modules/.cache/babel-loader/c7acca6547f99d9b9567fad4a2facfd526d336ab01005f6c74cca5f9efacc19b.json,sha256=_yJ326jZpvxmBMpf35g1SA2Vr6pquXJigTkgt4S3EYg,1669
9868
9868
  xinference/web/ui/node_modules/.cache/babel-loader/c7bbf1207d587797be6c4797903b294efa7b08baded26a7df5223ddc7e639924.json,sha256=whjHlO5kuilci2eJ_lgEQwAewMJqVheYi__6iFubB0g,1273
9869
+ xinference/web/ui/node_modules/.cache/babel-loader/c7bf40bab396765f67d0fed627ed3665890608b2d0edaa3e8cb7cfc96310db45.json,sha256=2FcHTVbxn7nlJjR05wRgqy0opLopdD38ZY0RRHc3sV8,132660
9869
9870
  xinference/web/ui/node_modules/.cache/babel-loader/c7bf5e13f8b336cdb46a6a3a50ff314248b33ed3c7e92eee011f83fcbee82725.json,sha256=C5u-uVYiYbqiSgvghD2lnZuSHDuUpF5mA24qTZExld4,15906
9870
9871
  xinference/web/ui/node_modules/.cache/babel-loader/c7bf9982a714496a1410049be141d9f21e58e47af6fd6f123a6097933c804dd1.json,sha256=tf_msOTTEo3AkmUjNKDnIB1DQ9YbwniLNGvdhanFxzs,2541
9871
9872
  xinference/web/ui/node_modules/.cache/babel-loader/c7c271c62e079b812ede2349098c8fbfd40f4760bc0881b7a25ef060f46ef5f2.json,sha256=5OeiLeelTM3VdQtpdRsgg4wIB4LHgNchGIRzdFpYf9U,2099
@@ -10166,7 +10167,6 @@ xinference/web/ui/node_modules/.cache/babel-loader/cd83e071e1cb5e9646c32d9385f53
10166
10167
  xinference/web/ui/node_modules/.cache/babel-loader/cd84e9039c06a15af4d7b4ebaa1e3f4d3d2a83a61c10f0b8bb0661a31ebbc39f.json,sha256=PMjI48MQQhGMPAim9clJrUYWKhbmQB3mT5cqdVfD7Lo,2314
10167
10168
  xinference/web/ui/node_modules/.cache/babel-loader/cd893276000870393c98d73fbef86714c16db912479724997e2471e4a222a30e.json,sha256=t4mNeCMWyhUkhAdwmGNsqunjPu2sX32xTHtviPTAvwI,1246
10168
10169
  xinference/web/ui/node_modules/.cache/babel-loader/cd8e00c7b7a564c883ee6000a9a6582c9d7c2824ba9b0482b96762edde39bab2.json,sha256=UtoZHghxsjoqmoezSjVSVGL2ueQ4-RdzQXp6J8g_Ukc,1205
10169
- xinference/web/ui/node_modules/.cache/babel-loader/cd90b08d177025dfe84209596fc51878f8a86bcaa6a240848a3d2e5fd4c7ff24.json,sha256=SLC0D_bDdnWyufwNbYt1S3Bbmyq0onTBOZ5OdA1zQq8,132271
10170
10170
  xinference/web/ui/node_modules/.cache/babel-loader/cd9da5a3b86b7fc829d0601ac106983c66f396670c60f1f45b705f8e23810397.json,sha256=e48bBFLmNXVF-_Opx_OlPEjYepZ4lIMy3aldBBKKNnE,1476
10171
10171
  xinference/web/ui/node_modules/.cache/babel-loader/cd9eb15dd6bdec95b59a8fe3721f5724fd2ac45bdc99c6ebd9ceab02005d6fa9.json,sha256=9-zyo3DzOBho6AXNbx_Wl-yFsVdTDqDfrjSgxU8oM2E,1042
10172
10172
  xinference/web/ui/node_modules/.cache/babel-loader/cda311ac82acf0d88bd81d9968722d14b67e670b6f4b14063be2e6cc51dcd73e.json,sha256=hwpN0UregxUmIeEoXcRvdoYwfy_r4pf9WyL82RkrrHY,1371
@@ -15506,9 +15506,9 @@ xinference/web/ui/node_modules/yargs-parser/package.json,sha256=BSwbOzgetKXMK4u0
15506
15506
  xinference/web/ui/node_modules/yocto-queue/package.json,sha256=6U1XHQPGXJTqsiFvT953ORihUtXTblZy4fXBWP9qxC0,725
15507
15507
  xinference/web/ui/node_modules/yup/package.json,sha256=xRFSROB9NKxqSWHEVFvSTsPs9Ll074uo8OS1zEw0qhA,1206
15508
15508
  xinference/web/ui/node_modules/yup/node_modules/type-fest/package.json,sha256=JTv2zTTVgxQ2H82m1-6qEpdMv08lHjFx4Puf_MsbB_Q,1134
15509
- xinference-0.15.1.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
15510
- xinference-0.15.1.dist-info/METADATA,sha256=F6z7VKA4flX1wim_S9UOpFbxkflK9kTvveB4qtvuoSE,19062
15511
- xinference-0.15.1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
15512
- xinference-0.15.1.dist-info/entry_points.txt,sha256=-lDyyzqWMFQF0Rgm7VxBNz0V-bMBMQLRR3pvQ-Y8XTY,226
15513
- xinference-0.15.1.dist-info/top_level.txt,sha256=L1rQt7pl6m8tmKXpWVHzP-GtmzAxp663rXxGE7qnK00,11
15514
- xinference-0.15.1.dist-info/RECORD,,
15509
+ xinference-0.15.2.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
15510
+ xinference-0.15.2.dist-info/METADATA,sha256=xyyDSCgqBq61p4g8hsX9-wwN6aLECuWkpMO3HcgRpcA,19083
15511
+ xinference-0.15.2.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
15512
+ xinference-0.15.2.dist-info/entry_points.txt,sha256=-lDyyzqWMFQF0Rgm7VxBNz0V-bMBMQLRR3pvQ-Y8XTY,226
15513
+ xinference-0.15.2.dist-info/top_level.txt,sha256=L1rQt7pl6m8tmKXpWVHzP-GtmzAxp663rXxGE7qnK00,11
15514
+ xinference-0.15.2.dist-info/RECORD,,