xinference 1.4.0__py3-none-any.whl → 1.5.0__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 (132) hide show
  1. xinference/_compat.py +1 -0
  2. xinference/_version.py +3 -3
  3. xinference/api/restful_api.py +54 -1
  4. xinference/client/restful/restful_client.py +82 -2
  5. xinference/constants.py +3 -0
  6. xinference/core/chat_interface.py +297 -83
  7. xinference/core/model.py +24 -3
  8. xinference/core/progress_tracker.py +16 -8
  9. xinference/core/supervisor.py +51 -1
  10. xinference/core/worker.py +315 -47
  11. xinference/deploy/cmdline.py +33 -1
  12. xinference/model/audio/core.py +11 -1
  13. xinference/model/audio/megatts.py +105 -0
  14. xinference/model/audio/model_spec.json +24 -1
  15. xinference/model/audio/model_spec_modelscope.json +26 -1
  16. xinference/model/core.py +14 -0
  17. xinference/model/embedding/core.py +6 -1
  18. xinference/model/flexible/core.py +6 -1
  19. xinference/model/image/core.py +6 -1
  20. xinference/model/image/model_spec.json +17 -1
  21. xinference/model/image/model_spec_modelscope.json +17 -1
  22. xinference/model/llm/__init__.py +4 -6
  23. xinference/model/llm/core.py +5 -0
  24. xinference/model/llm/llama_cpp/core.py +46 -17
  25. xinference/model/llm/llm_family.json +530 -85
  26. xinference/model/llm/llm_family.py +24 -1
  27. xinference/model/llm/llm_family_modelscope.json +572 -1
  28. xinference/model/llm/mlx/core.py +16 -2
  29. xinference/model/llm/reasoning_parser.py +3 -3
  30. xinference/model/llm/sglang/core.py +111 -13
  31. xinference/model/llm/transformers/__init__.py +14 -0
  32. xinference/model/llm/transformers/core.py +31 -6
  33. xinference/model/llm/transformers/deepseek_vl.py +1 -1
  34. xinference/model/llm/transformers/deepseek_vl2.py +287 -0
  35. xinference/model/llm/transformers/gemma3.py +17 -2
  36. xinference/model/llm/transformers/intern_vl.py +28 -18
  37. xinference/model/llm/transformers/minicpmv26.py +21 -2
  38. xinference/model/llm/transformers/qwen-omni.py +308 -0
  39. xinference/model/llm/transformers/qwen2_audio.py +1 -1
  40. xinference/model/llm/transformers/qwen2_vl.py +20 -4
  41. xinference/model/llm/utils.py +37 -15
  42. xinference/model/llm/vllm/core.py +184 -8
  43. xinference/model/llm/vllm/distributed_executor.py +320 -0
  44. xinference/model/rerank/core.py +22 -12
  45. xinference/model/utils.py +118 -1
  46. xinference/model/video/core.py +6 -1
  47. xinference/thirdparty/deepseek_vl2/__init__.py +31 -0
  48. xinference/thirdparty/deepseek_vl2/models/__init__.py +26 -0
  49. xinference/thirdparty/deepseek_vl2/models/configuration_deepseek.py +210 -0
  50. xinference/thirdparty/deepseek_vl2/models/conversation.py +310 -0
  51. xinference/thirdparty/deepseek_vl2/models/modeling_deepseek.py +1975 -0
  52. xinference/thirdparty/deepseek_vl2/models/modeling_deepseek_vl_v2.py +697 -0
  53. xinference/thirdparty/deepseek_vl2/models/processing_deepseek_vl_v2.py +675 -0
  54. xinference/thirdparty/deepseek_vl2/models/siglip_vit.py +661 -0
  55. xinference/thirdparty/deepseek_vl2/serve/__init__.py +0 -0
  56. xinference/thirdparty/deepseek_vl2/serve/app_modules/__init__.py +0 -0
  57. xinference/thirdparty/deepseek_vl2/serve/app_modules/gradio_utils.py +83 -0
  58. xinference/thirdparty/deepseek_vl2/serve/app_modules/overwrites.py +81 -0
  59. xinference/thirdparty/deepseek_vl2/serve/app_modules/presets.py +115 -0
  60. xinference/thirdparty/deepseek_vl2/serve/app_modules/utils.py +333 -0
  61. xinference/thirdparty/deepseek_vl2/serve/assets/Kelpy-Codos.js +100 -0
  62. xinference/thirdparty/deepseek_vl2/serve/assets/avatar.png +0 -0
  63. xinference/thirdparty/deepseek_vl2/serve/assets/custom.css +355 -0
  64. xinference/thirdparty/deepseek_vl2/serve/assets/custom.js +22 -0
  65. xinference/thirdparty/deepseek_vl2/serve/assets/favicon.ico +0 -0
  66. xinference/thirdparty/deepseek_vl2/serve/assets/simsun.ttc +0 -0
  67. xinference/thirdparty/deepseek_vl2/serve/inference.py +197 -0
  68. xinference/thirdparty/deepseek_vl2/utils/__init__.py +18 -0
  69. xinference/thirdparty/deepseek_vl2/utils/io.py +80 -0
  70. xinference/thirdparty/megatts3/__init__.py +0 -0
  71. xinference/thirdparty/megatts3/tts/frontend_function.py +175 -0
  72. xinference/thirdparty/megatts3/tts/gradio_api.py +93 -0
  73. xinference/thirdparty/megatts3/tts/infer_cli.py +277 -0
  74. xinference/thirdparty/megatts3/tts/modules/aligner/whisper_small.py +318 -0
  75. xinference/thirdparty/megatts3/tts/modules/ar_dur/ar_dur_predictor.py +362 -0
  76. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/layers.py +64 -0
  77. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/nar_tts_modules.py +73 -0
  78. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/rel_transformer.py +403 -0
  79. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/rot_transformer.py +649 -0
  80. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/seq_utils.py +342 -0
  81. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/transformer.py +767 -0
  82. xinference/thirdparty/megatts3/tts/modules/llm_dit/cfm.py +309 -0
  83. xinference/thirdparty/megatts3/tts/modules/llm_dit/dit.py +180 -0
  84. xinference/thirdparty/megatts3/tts/modules/llm_dit/time_embedding.py +44 -0
  85. xinference/thirdparty/megatts3/tts/modules/llm_dit/transformer.py +230 -0
  86. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/diag_gaussian.py +67 -0
  87. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/hifigan_modules.py +283 -0
  88. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/seanet_encoder.py +38 -0
  89. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/wavvae_v3.py +60 -0
  90. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/conv.py +154 -0
  91. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/lstm.py +51 -0
  92. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/seanet.py +126 -0
  93. xinference/thirdparty/megatts3/tts/utils/audio_utils/align.py +36 -0
  94. xinference/thirdparty/megatts3/tts/utils/audio_utils/io.py +95 -0
  95. xinference/thirdparty/megatts3/tts/utils/audio_utils/plot.py +90 -0
  96. xinference/thirdparty/megatts3/tts/utils/commons/ckpt_utils.py +171 -0
  97. xinference/thirdparty/megatts3/tts/utils/commons/hparams.py +215 -0
  98. xinference/thirdparty/megatts3/tts/utils/text_utils/dict.json +1 -0
  99. xinference/thirdparty/megatts3/tts/utils/text_utils/ph_tone_convert.py +94 -0
  100. xinference/thirdparty/megatts3/tts/utils/text_utils/split_text.py +90 -0
  101. xinference/thirdparty/megatts3/tts/utils/text_utils/text_encoder.py +280 -0
  102. xinference/types.py +10 -0
  103. xinference/utils.py +54 -0
  104. xinference/web/ui/build/asset-manifest.json +6 -6
  105. xinference/web/ui/build/index.html +1 -1
  106. xinference/web/ui/build/static/css/main.0f6523be.css +2 -0
  107. xinference/web/ui/build/static/css/main.0f6523be.css.map +1 -0
  108. xinference/web/ui/build/static/js/main.58bd483c.js +3 -0
  109. xinference/web/ui/build/static/js/main.58bd483c.js.map +1 -0
  110. xinference/web/ui/node_modules/.cache/babel-loader/3bff8cbe9141f937f4d98879a9771b0f48e0e4e0dbee8e647adbfe23859e7048.json +1 -0
  111. xinference/web/ui/node_modules/.cache/babel-loader/4500b1a622a031011f0a291701e306b87e08cbc749c50e285103536b85b6a914.json +1 -0
  112. xinference/web/ui/node_modules/.cache/babel-loader/51709f5d3e53bcf19e613662ef9b91fb9174942c5518987a248348dd4e1e0e02.json +1 -0
  113. xinference/web/ui/node_modules/.cache/babel-loader/69081049f0c7447544b7cfd73dd13d8846c02fe5febe4d81587e95c89a412d5b.json +1 -0
  114. xinference/web/ui/node_modules/.cache/babel-loader/b8551e9775a01b28ae674125c688febe763732ea969ae344512e64ea01bf632e.json +1 -0
  115. xinference/web/ui/node_modules/.cache/babel-loader/bf2b211b0d1b6465eff512d64c869d748f803c5651a7c24e48de6ea3484a7bfe.json +1 -0
  116. xinference/web/ui/src/locales/en.json +2 -1
  117. xinference/web/ui/src/locales/zh.json +2 -1
  118. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/METADATA +128 -115
  119. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/RECORD +124 -63
  120. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/WHEEL +1 -1
  121. xinference/web/ui/build/static/css/main.b494ae7e.css +0 -2
  122. xinference/web/ui/build/static/css/main.b494ae7e.css.map +0 -1
  123. xinference/web/ui/build/static/js/main.3cea968e.js +0 -3
  124. xinference/web/ui/build/static/js/main.3cea968e.js.map +0 -1
  125. xinference/web/ui/node_modules/.cache/babel-loader/27bcada3ee8f89d21184b359f022fc965f350ffaca52c9814c29f1fc37121173.json +0 -1
  126. xinference/web/ui/node_modules/.cache/babel-loader/7f59e45e3f268ab8a4788b6fb024cf8dab088736dff22f5a3a39c122a83ab930.json +0 -1
  127. xinference/web/ui/node_modules/.cache/babel-loader/dcd60488509450bfff37bfff56de2c096d51de17dd00ec60d4db49c8b483ada1.json +0 -1
  128. xinference/web/ui/node_modules/.cache/babel-loader/e547bbb18abb4a474b675a8d5782d25617566bea0af8caa9b836ce5649e2250a.json +0 -1
  129. /xinference/web/ui/build/static/js/{main.3cea968e.js.LICENSE.txt → main.58bd483c.js.LICENSE.txt} +0 -0
  130. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/entry_points.txt +0 -0
  131. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info/licenses}/LICENSE +0 -0
  132. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{TabContext,TabList,TabPanel}from'@mui/lab';import{Box,Tab}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{useCookies}from'react-cookie';import{useTranslation}from'react-i18next';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import fetchWrapper from'../../components/fetchWrapper';import Title from'../../components/Title';import{isValidBearerToken}from'../../components/utils';import{featureModels}from'./data/data';import LaunchCustom from'./launchCustom';import LaunchModelComponent from'./LaunchModel';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var LaunchModel=function LaunchModel(){var _React$useState=React.useState(sessionStorage.getItem('modelType')?sessionStorage.getItem('modelType'):'/launch_model/llm'),_React$useState2=_slicedToArray(_React$useState,2),value=_React$useState2[0],setValue=_React$useState2[1];var _useState=useState(-1),_useState2=_slicedToArray(_useState,2),gpuAvailable=_useState2[0],setGPUAvailable=_useState2[1];var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var _useTranslation=useTranslation(),t=_useTranslation.t;var handleTabChange=function handleTabChange(event,newValue){setValue(newValue);navigate(newValue);sessionStorage.setItem('modelType',newValue);newValue==='/launch_model/custom/llm'?sessionStorage.setItem('subType',newValue):'';};useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});}if(gpuAvailable===-1){fetchWrapper.get('/v1/cluster/devices').then(function(data){return setGPUAvailable(parseInt(data,10));}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}},[cookie.token]);return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsx(Title,{title:t('menu.launchModel')}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsxs(TabContext,{value:value,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsxs(TabList,{value:value,onChange:handleTabChange,\"aria-label\":\"tabs\",children:[/*#__PURE__*/_jsx(Tab,{label:t('model.languageModels'),value:\"/launch_model/llm\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.embeddingModels'),value:\"/launch_model/embedding\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.rerankModels'),value:\"/launch_model/rerank\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.imageModels'),value:\"/launch_model/image\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.audioModels'),value:\"/launch_model/audio\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.videoModels'),value:\"/launch_model/video\"}),/*#__PURE__*/_jsx(Tab,{label:t('model.customModels'),value:\"/launch_model/custom/llm\"})]})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/llm\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'LLM',gpuAvailable:gpuAvailable,featureModels:featureModels.find(function(item){return item.type==='llm';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/embedding\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'embedding',gpuAvailable:gpuAvailable,featureModels:featureModels.find(function(item){return item.type==='embedding';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/rerank\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'rerank',gpuAvailable:gpuAvailable,featureModels:featureModels.find(function(item){return item.type==='rerank';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/image\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'image',featureModels:featureModels.find(function(item){return item.type==='image';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/audio\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'audio',featureModels:featureModels.find(function(item){return item.type==='audio';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/video\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchModelComponent,{modelType:'video',featureModels:featureModels.find(function(item){return item.type==='video';}).feature_models})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/launch_model/custom/llm\",sx:{padding:0},children:/*#__PURE__*/_jsx(LaunchCustom,{gpuAvailable:gpuAvailable})})]})]});};export default LaunchModel;","map":{"version":3,"names":["TabContext","TabList","TabPanel","Box","Tab","React","useContext","useEffect","useState","useCookies","useTranslation","useNavigate","ApiContext","ErrorMessageSnackBar","fetchWrapper","Title","isValidBearerToken","featureModels","LaunchCustom","LaunchModelComponent","jsx","_jsx","jsxs","_jsxs","LaunchModel","_React$useState","sessionStorage","getItem","_React$useState2","_slicedToArray","value","setValue","_useState","_useState2","gpuAvailable","setGPUAvailable","_useContext","setErrorMsg","_useCookies","_useCookies2","cookie","navigate","_useTranslation","t","handleTabChange","event","newValue","setItem","token","replace","get","then","data","parseInt","catch","error","console","response","status","message","m","children","title","sx","borderBottom","borderColor","onChange","label","padding","modelType","find","item","type","feature_models"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/index.js"],"sourcesContent":["import { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, Tab } from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useTranslation } from 'react-i18next'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport Title from '../../components/Title'\nimport { isValidBearerToken } from '../../components/utils'\nimport { featureModels } from './data/data'\nimport LaunchCustom from './launchCustom'\nimport LaunchModelComponent from './LaunchModel'\n\nconst LaunchModel = () => {\n const [value, setValue] = React.useState(\n sessionStorage.getItem('modelType')\n ? sessionStorage.getItem('modelType')\n : '/launch_model/llm'\n )\n const [gpuAvailable, setGPUAvailable] = useState(-1)\n\n const { setErrorMsg } = useContext(ApiContext)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n const { t } = useTranslation()\n\n const handleTabChange = (event, newValue) => {\n setValue(newValue)\n navigate(newValue)\n sessionStorage.setItem('modelType', newValue)\n newValue === '/launch_model/custom/llm'\n ? sessionStorage.setItem('subType', newValue)\n : ''\n }\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 }\n\n if (gpuAvailable === -1) {\n fetchWrapper\n .get('/v1/cluster/devices')\n .then((data) => setGPUAvailable(parseInt(data, 10)))\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 }, [cookie.token])\n\n return (\n <Box m=\"20px\">\n <Title title={t('menu.launchModel')} />\n <ErrorMessageSnackBar />\n <TabContext value={value}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList value={value} onChange={handleTabChange} aria-label=\"tabs\">\n <Tab label={t('model.languageModels')} value=\"/launch_model/llm\" />\n <Tab\n label={t('model.embeddingModels')}\n value=\"/launch_model/embedding\"\n />\n <Tab label={t('model.rerankModels')} value=\"/launch_model/rerank\" />\n <Tab label={t('model.imageModels')} value=\"/launch_model/image\" />\n <Tab label={t('model.audioModels')} value=\"/launch_model/audio\" />\n <Tab label={t('model.videoModels')} value=\"/launch_model/video\" />\n <Tab\n label={t('model.customModels')}\n value=\"/launch_model/custom/llm\"\n />\n </TabList>\n </Box>\n <TabPanel value=\"/launch_model/llm\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'LLM'}\n gpuAvailable={gpuAvailable}\n featureModels={\n featureModels.find((item) => item.type === 'llm').feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/embedding\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'embedding'}\n gpuAvailable={gpuAvailable}\n featureModels={\n featureModels.find((item) => item.type === 'embedding')\n .feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/rerank\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'rerank'}\n gpuAvailable={gpuAvailable}\n featureModels={\n featureModels.find((item) => item.type === 'rerank')\n .feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/image\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'image'}\n featureModels={\n featureModels.find((item) => item.type === 'image').feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/audio\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'audio'}\n featureModels={\n featureModels.find((item) => item.type === 'audio').feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/video\" sx={{ padding: 0 }}>\n <LaunchModelComponent\n modelType={'video'}\n featureModels={\n featureModels.find((item) => item.type === 'video').feature_models\n }\n />\n </TabPanel>\n <TabPanel value=\"/launch_model/custom/llm\" sx={{ padding: 0 }}>\n <LaunchCustom gpuAvailable={gpuAvailable} />\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default LaunchModel\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}