xinference 0.6.5__py3-none-any.whl → 0.7.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 (236) hide show
  1. xinference/_version.py +3 -3
  2. xinference/api/restful_api.py +14 -0
  3. xinference/core/model.py +33 -10
  4. xinference/core/supervisor.py +10 -0
  5. xinference/core/worker.py +40 -13
  6. xinference/deploy/utils.py +1 -0
  7. xinference/model/embedding/core.py +3 -0
  8. xinference/model/llm/vllm/core.py +3 -1
  9. xinference/model/utils.py +25 -0
  10. xinference/types.py +4 -4
  11. xinference/web/ui/build/asset-manifest.json +3 -3
  12. xinference/web/ui/build/index.html +1 -1
  13. xinference/web/ui/build/static/js/main.8126d441.js +3 -0
  14. xinference/web/ui/build/static/js/main.8126d441.js.map +1 -0
  15. xinference/web/ui/node_modules/.cache/babel-loader/06eb9846159adb398d44df0b0debc256a9fd9e8171a7d68f5c4ee4d655acfa45.json +1 -0
  16. xinference/web/ui/node_modules/.cache/babel-loader/0cccfbe5d963b8e31eb679f9d9677392839cedd04aa2956ac6b33cf19599d597.json +1 -0
  17. xinference/web/ui/node_modules/.cache/babel-loader/2f651cf60b1bde50c0601c7110f77dd44819fb6e2501ff748a631724d91445d4.json +1 -0
  18. xinference/web/ui/node_modules/.cache/babel-loader/3bda436576ecb05f81f7b6ec475d1cfaf03e2b3066e3a75902fe6e8c4773b43b.json +1 -0
  19. xinference/web/ui/node_modules/.cache/babel-loader/47887a9524ffeecdc2a7839dace146b24f97a5564fc3d431d6179ad2b153cf1f.json +1 -0
  20. xinference/web/ui/node_modules/.cache/babel-loader/48878f5178bad1a47757e011af41c974a7946efa29485506c4d19f25bf5d522d.json +1 -0
  21. xinference/web/ui/node_modules/.cache/babel-loader/59574eb63cfe9ed2e58d2f5a420e1ae54354e243a602e9bc73deae3147ed4f98.json +1 -0
  22. xinference/web/ui/node_modules/.cache/babel-loader/6a60ae66b29c2f3634fd081d369b9e63b4522fe18eb9e43e9979d1ff264b68ad.json +1 -0
  23. xinference/web/ui/node_modules/.cache/babel-loader/75a5abcbc92da335fdde530f5689194ec79a4b2345b8cba594f8904d3b88e3c6.json +1 -0
  24. xinference/web/ui/node_modules/.cache/babel-loader/84bfe7afede38da1f8ad569d891276fe4d66cfb87bf5c9ff7a113788ba62bb88.json +1 -0
  25. xinference/web/ui/node_modules/.cache/babel-loader/940ed05006583b955894e2b8f65a4a5ebf34f8149d747f59fae5131f17d65482.json +1 -0
  26. xinference/web/ui/node_modules/.cache/babel-loader/9c5f03db9aa88582a9b69b25c7f1acc78ba7fc61f743c9ed7399abb292d5dbde.json +1 -0
  27. xinference/web/ui/node_modules/.cache/babel-loader/a158a9ffa0c9b169aee53dd4a0c44501a596755b4e4f6ede7746d65a72e2a71f.json +1 -0
  28. xinference/web/ui/node_modules/.cache/babel-loader/a5e2e9f707eb7039bea096ca117d996b8f9cbc2a5613fd8e0c5b0094444ce23c.json +1 -0
  29. xinference/web/ui/node_modules/.cache/babel-loader/c02e70e9b9efcf3bd056606308104308d6a6ac559f2bc0b4454c11fb5874457c.json +1 -0
  30. xinference/web/ui/node_modules/.cache/babel-loader/e26750d9556e9741912333349e4da454c53dbfddbfc6002ab49518dcf02af745.json +1 -0
  31. xinference/web/ui/node_modules/.cache/babel-loader/e610aefd7000a3f8542a25cb66c64671cc8da18350de4e5b577102ba4bb78d65.json +1 -0
  32. xinference/web/ui/node_modules/.cache/babel-loader/ef42ec014d7bc373b874b2a1ff0dcd785490f125e913698bc049b0bd778e4d66.json +1 -0
  33. xinference/web/ui/node_modules/.cache/babel-loader/fe3eb4d76c79ca98833f686d642224eeeb94cc83ad14300d281623796d087f0a.json +1 -0
  34. xinference/web/ui/node_modules/.package-lock.json +1077 -405
  35. xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/globals/globals.json +163 -3
  36. xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/globals/package.json +1 -1
  37. xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/ignore/package.json +64 -0
  38. xinference/web/ui/node_modules/@eslint/eslintrc/package.json +18 -37
  39. xinference/web/ui/node_modules/@eslint/js/package.json +1 -1
  40. xinference/web/ui/node_modules/@eslint-community/regexpp/package.json +9 -4
  41. xinference/web/ui/node_modules/@humanwhocodes/config-array/package.json +14 -14
  42. xinference/web/ui/node_modules/@rushstack/eslint-patch/package.json +6 -4
  43. xinference/web/ui/node_modules/@types/semver/package.json +15 -15
  44. xinference/web/ui/node_modules/@ungap/structured-clone/cjs/package.json +1 -0
  45. xinference/web/ui/node_modules/@ungap/structured-clone/package.json +53 -0
  46. xinference/web/ui/node_modules/ansi-colors/package.json +129 -0
  47. xinference/web/ui/node_modules/array-includes/package.json +8 -8
  48. xinference/web/ui/node_modules/array.prototype.findlastindex/package.json +120 -0
  49. xinference/web/ui/node_modules/array.prototype.flat/package.json +8 -8
  50. xinference/web/ui/node_modules/array.prototype.flatmap/package.json +8 -8
  51. xinference/web/ui/node_modules/arraybuffer.prototype.slice/package.json +103 -0
  52. xinference/web/ui/node_modules/ast-types-flow/package.json +2 -2
  53. xinference/web/ui/node_modules/astral-regex/package.json +33 -0
  54. xinference/web/ui/node_modules/asynciterator.prototype/package.json +72 -0
  55. xinference/web/ui/node_modules/axe-core/locales/_template.json +0 -12
  56. xinference/web/ui/node_modules/axe-core/package.json +1 -2
  57. xinference/web/ui/node_modules/axe-core/sri-history.json +0 -8
  58. xinference/web/ui/node_modules/call-bind/package.json +33 -23
  59. xinference/web/ui/node_modules/define-data-property/package.json +113 -0
  60. xinference/web/ui/node_modules/define-data-property/tsconfig.json +59 -0
  61. xinference/web/ui/node_modules/define-properties/package.json +5 -4
  62. xinference/web/ui/node_modules/enquirer/package.json +112 -0
  63. xinference/web/ui/node_modules/es-abstract/helpers/caseFolding.json +1430 -0
  64. xinference/web/ui/node_modules/es-abstract/package.json +29 -23
  65. xinference/web/ui/node_modules/es-iterator-helpers/index.json +17 -0
  66. xinference/web/ui/node_modules/es-iterator-helpers/package.json +185 -0
  67. xinference/web/ui/node_modules/eslint/conf/{rule-type-list.json → category-list.json} +9 -6
  68. xinference/web/ui/node_modules/eslint/node_modules/@babel/code-frame/package.json +25 -0
  69. xinference/web/ui/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json +289 -0
  70. xinference/web/ui/node_modules/eslint/node_modules/eslint-visitor-keys/package.json +39 -0
  71. xinference/web/ui/node_modules/eslint/node_modules/glob-parent/package.json +48 -0
  72. xinference/web/ui/node_modules/eslint/node_modules/ignore/package.json +64 -0
  73. xinference/web/ui/node_modules/eslint/package.json +53 -82
  74. xinference/web/ui/node_modules/eslint-config-prettier/package.json +13 -0
  75. xinference/web/ui/node_modules/eslint-import-resolver-node/package.json +3 -3
  76. xinference/web/ui/node_modules/eslint-plugin-import/package.json +22 -17
  77. xinference/web/ui/node_modules/eslint-plugin-jsx-a11y/package.json +25 -24
  78. xinference/web/ui/node_modules/eslint-plugin-simple-import-sort/package.json +23 -0
  79. xinference/web/ui/node_modules/eslint-plugin-testing-library/package.json +1 -1
  80. xinference/web/ui/node_modules/eslint-scope/package.json +19 -34
  81. xinference/web/ui/node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/visitor-keys.json +284 -0
  82. xinference/web/ui/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json +40 -0
  83. xinference/web/ui/node_modules/eslint-utils/package.json +65 -0
  84. xinference/web/ui/node_modules/eslint-visitor-keys/package.json +15 -15
  85. xinference/web/ui/node_modules/espree/node_modules/acorn/package.json +35 -0
  86. xinference/web/ui/node_modules/espree/node_modules/eslint-visitor-keys/lib/visitor-keys.json +284 -0
  87. xinference/web/ui/node_modules/espree/node_modules/eslint-visitor-keys/package.json +40 -0
  88. xinference/web/ui/node_modules/espree/package.json +27 -51
  89. xinference/web/ui/node_modules/function-bind/package.json +38 -14
  90. xinference/web/ui/node_modules/function.prototype.name/package.json +32 -13
  91. xinference/web/ui/node_modules/functional-red-black-tree/package.json +40 -0
  92. xinference/web/ui/node_modules/get-intrinsic/package.json +11 -11
  93. xinference/web/ui/node_modules/hasown/package.json +91 -0
  94. xinference/web/ui/node_modules/hasown/tsconfig.json +49 -0
  95. xinference/web/ui/node_modules/is-async-function/package.json +86 -0
  96. xinference/web/ui/node_modules/is-core-module/core.json +3 -3
  97. xinference/web/ui/node_modules/is-core-module/package.json +7 -7
  98. xinference/web/ui/node_modules/is-finalizationregistry/package.json +67 -0
  99. xinference/web/ui/node_modules/is-generator-function/package.json +87 -0
  100. xinference/web/ui/node_modules/is-typed-array/package.json +8 -10
  101. xinference/web/ui/node_modules/iterator.prototype/package.json +73 -0
  102. xinference/web/ui/node_modules/jsx-ast-utils/package.json +5 -5
  103. xinference/web/ui/node_modules/language-tags/package.json +48 -8
  104. xinference/web/ui/node_modules/lodash.truncate/package.json +17 -0
  105. xinference/web/ui/node_modules/object-inspect/package.json +8 -6
  106. xinference/web/ui/node_modules/object.entries/package.json +7 -7
  107. xinference/web/ui/node_modules/object.fromentries/package.json +7 -7
  108. xinference/web/ui/node_modules/object.groupby/package.json +83 -0
  109. xinference/web/ui/node_modules/object.values/package.json +7 -7
  110. xinference/web/ui/node_modules/prettier/package.json +21 -0
  111. xinference/web/ui/node_modules/progress/package.json +26 -0
  112. xinference/web/ui/node_modules/react-scripts/node_modules/@eslint/eslintrc/package.json +82 -0
  113. xinference/web/ui/node_modules/react-scripts/node_modules/@humanwhocodes/config-array/package.json +61 -0
  114. xinference/web/ui/node_modules/react-scripts/node_modules/@humanwhocodes/object-schema/package.json +33 -0
  115. xinference/web/ui/node_modules/react-scripts/node_modules/ansi-styles/package.json +56 -0
  116. xinference/web/ui/node_modules/react-scripts/node_modules/chalk/package.json +68 -0
  117. xinference/web/ui/node_modules/react-scripts/node_modules/color-convert/package.json +48 -0
  118. xinference/web/ui/node_modules/react-scripts/node_modules/color-name/package.json +28 -0
  119. xinference/web/ui/node_modules/react-scripts/node_modules/escape-string-regexp/package.json +38 -0
  120. xinference/web/ui/node_modules/react-scripts/node_modules/eslint/conf/replacements.json +22 -0
  121. xinference/web/ui/node_modules/react-scripts/node_modules/eslint/conf/rule-type-list.json +28 -0
  122. xinference/web/ui/node_modules/react-scripts/node_modules/eslint/package.json +179 -0
  123. xinference/web/ui/node_modules/react-scripts/node_modules/eslint-scope/package.json +63 -0
  124. xinference/web/ui/node_modules/react-scripts/node_modules/espree/package.json +88 -0
  125. xinference/web/ui/node_modules/react-scripts/node_modules/globals/globals.json +1974 -0
  126. xinference/web/ui/node_modules/react-scripts/node_modules/globals/package.json +55 -0
  127. xinference/web/ui/node_modules/react-scripts/node_modules/has-flag/package.json +46 -0
  128. xinference/web/ui/node_modules/react-scripts/node_modules/supports-color/package.json +53 -0
  129. xinference/web/ui/node_modules/react-scripts/node_modules/type-fest/package.json +58 -0
  130. xinference/web/ui/node_modules/reflect.getprototypeof/package.json +99 -0
  131. xinference/web/ui/node_modules/regexp.prototype.flags/package.json +8 -7
  132. xinference/web/ui/node_modules/regexpp/package.json +91 -0
  133. xinference/web/ui/node_modules/resolve/lib/core.json +4 -1
  134. xinference/web/ui/node_modules/resolve/package.json +9 -8
  135. xinference/web/ui/node_modules/resolve/test/resolver/multirepo/package.json +1 -1
  136. xinference/web/ui/node_modules/safe-array-concat/package.json +5 -5
  137. xinference/web/ui/node_modules/set-function-length/package.json +84 -0
  138. xinference/web/ui/node_modules/set-function-name/package.json +80 -0
  139. xinference/web/ui/node_modules/slice-ansi/node_modules/ansi-styles/package.json +56 -0
  140. xinference/web/ui/node_modules/slice-ansi/node_modules/color-convert/package.json +48 -0
  141. xinference/web/ui/node_modules/slice-ansi/node_modules/color-name/package.json +28 -0
  142. xinference/web/ui/node_modules/slice-ansi/package.json +52 -0
  143. xinference/web/ui/node_modules/string.prototype.trim/package.json +7 -7
  144. xinference/web/ui/node_modules/string.prototype.trimend/package.json +7 -7
  145. xinference/web/ui/node_modules/string.prototype.trimstart/package.json +7 -7
  146. xinference/web/ui/node_modules/table/dist/src/schemas/config.json +95 -0
  147. xinference/web/ui/node_modules/table/dist/src/schemas/shared.json +139 -0
  148. xinference/web/ui/node_modules/table/dist/src/schemas/streamConfig.json +25 -0
  149. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
  150. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  151. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  152. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  153. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  154. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  155. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  156. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  157. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  158. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  159. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  160. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  161. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  162. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  163. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  164. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  165. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  166. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  167. xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  168. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
  169. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  170. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  171. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  172. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  173. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  174. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  175. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  176. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  177. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  178. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  179. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  180. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  181. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  182. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  183. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  184. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  185. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  186. xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  187. xinference/web/ui/node_modules/table/node_modules/ajv/package.json +126 -0
  188. xinference/web/ui/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
  189. xinference/web/ui/node_modules/table/package.json +77 -0
  190. xinference/web/ui/node_modules/typed-array-buffer/package.json +73 -0
  191. xinference/web/ui/node_modules/typed-array-byte-length/package.json +98 -0
  192. xinference/web/ui/node_modules/v8-compile-cache/package.json +34 -0
  193. xinference/web/ui/node_modules/which-builtin-type/package.json +93 -0
  194. xinference/web/ui/node_modules/which-typed-array/package.json +4 -5
  195. xinference/web/ui/package-lock.json +1085 -406
  196. xinference/web/ui/package.json +10 -2
  197. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/METADATA +46 -35
  198. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/RECORD +210 -103
  199. xinference/web/ui/build/static/js/main.9b46963e.js +0 -3
  200. xinference/web/ui/build/static/js/main.9b46963e.js.map +0 -1
  201. xinference/web/ui/node_modules/.cache/babel-loader/06363becf51869c421a8b3e34b4e3f50aa0aac3d590446044f9412e379f4ebbe.json +0 -1
  202. xinference/web/ui/node_modules/.cache/babel-loader/2849edddeb99a8ecdda577e810eead74b8f8a291cdfbd987839d604666ed79d0.json +0 -1
  203. xinference/web/ui/node_modules/.cache/babel-loader/2c774712d327cdf0b192aaa22785ec380e9427c587350c33289828d99e9c4abc.json +0 -1
  204. xinference/web/ui/node_modules/.cache/babel-loader/34c578e50d3040519ca8dc28bf0f7fec8674c2d6c0fcc3e98401c0a3f9f013cf.json +0 -1
  205. xinference/web/ui/node_modules/.cache/babel-loader/5933910e7c33febbabc0297ef7ba80f5e53ed96aa125b6a44ff2910aec29ced1.json +0 -1
  206. xinference/web/ui/node_modules/.cache/babel-loader/5e18a8354ea03d22a967fd8cb2171aa798edcb3da5d66ab1fd3b9663affd0abe.json +0 -1
  207. xinference/web/ui/node_modules/.cache/babel-loader/717cd7c186ace4812d1e602bdd299d8dc507f072670cc43974d53aac2574df5d.json +0 -1
  208. xinference/web/ui/node_modules/.cache/babel-loader/a178cfde289ffd15fd54b1c80fd9d231ae0f9644db33acb02084e69b32bfee37.json +0 -1
  209. xinference/web/ui/node_modules/.cache/babel-loader/aad919619ddb400e30bf9886f3ad7f59d5ec7cdbb98ed8b8442565bb19164237.json +0 -1
  210. xinference/web/ui/node_modules/.cache/babel-loader/adaec65f73accce3171b51b0fbcbfd8d0cd83f81a2e1b28eb34148644875499a.json +0 -1
  211. xinference/web/ui/node_modules/.cache/babel-loader/ae8f44c77c2e6f79680fe32fb00174183cd867093ebbda967b8985c33cc10fa2.json +0 -1
  212. xinference/web/ui/node_modules/.cache/babel-loader/b10bd04b4d6e28bfcaaaab37b0a4c1986e87a5b7e62e5ce4d56019880ef26990.json +0 -1
  213. xinference/web/ui/node_modules/.cache/babel-loader/cfc5da1cedee985a556e04865affccb72d0f624cbfb73da348bbe8693e8a4983.json +0 -1
  214. xinference/web/ui/node_modules/.cache/babel-loader/eebd0123c4b4396737e56b9181406a9fd76b107dd32971d23b0de99f51dd38d6.json +0 -1
  215. xinference/web/ui/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/package.json +0 -48
  216. xinference/web/ui/node_modules/@typescript-eslint/utils/node_modules/eslint-scope/package.json +0 -48
  217. xinference/web/ui/node_modules/@typescript-eslint/utils/node_modules/estraverse/package.json +0 -40
  218. xinference/web/ui/node_modules/eslint/node_modules/argparse/package.json +0 -31
  219. xinference/web/ui/node_modules/eslint/node_modules/js-yaml/package.json +0 -66
  220. xinference/web/ui/node_modules/eslint-plugin-jsx-a11y/node_modules/semver/package.json +0 -38
  221. xinference/web/ui/node_modules/function-bind/.jscs.json +0 -176
  222. xinference/web/ui/node_modules/resolve/test/resolver/malformed_package_json/package.json +0 -1
  223. xinference/web/ui/node_modules/webpack/node_modules/eslint-scope/package.json +0 -48
  224. xinference/web/ui/node_modules/webpack/node_modules/estraverse/package.json +0 -40
  225. /xinference/web/ui/build/static/js/{main.9b46963e.js.LICENSE.txt → main.8126d441.js.LICENSE.txt} +0 -0
  226. /xinference/web/ui/node_modules/{@nicolo-ribaudo/eslint-scope-5-internals → eslint-scope}/node_modules/estraverse/package.json +0 -0
  227. /xinference/web/ui/node_modules/{@eslint/eslintrc → react-scripts}/node_modules/argparse/package.json +0 -0
  228. /xinference/web/ui/node_modules/{eslint → react-scripts/node_modules/eslint}/lib/cli-engine/formatters/formatters-meta.json +0 -0
  229. /xinference/web/ui/node_modules/{eslint-config-react-app → react-scripts/node_modules/eslint-config-react-app}/package.json +0 -0
  230. /xinference/web/ui/node_modules/{eslint-plugin-flowtype → react-scripts/node_modules/eslint-plugin-flowtype}/dist/configs/recommended.json +0 -0
  231. /xinference/web/ui/node_modules/{eslint-plugin-flowtype → react-scripts/node_modules/eslint-plugin-flowtype}/package.json +0 -0
  232. /xinference/web/ui/node_modules/{@eslint/eslintrc → react-scripts}/node_modules/js-yaml/package.json +0 -0
  233. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/LICENSE +0 -0
  234. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/WHEEL +0 -0
  235. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/entry_points.txt +0 -0
  236. {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/top_level.txt +0 -0
xinference/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2023-12-01T18:35:32+0800",
11
+ "date": "2023-12-08T13:45:18+0800",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "909a428f4762a5e397123a42b8d2abff02eada83",
15
- "version": "0.6.5"
14
+ "full-revisionid": "b5a5f0a270f85e451591eba34fe615a0fc8ce4bf",
15
+ "version": "0.7.0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -158,6 +158,9 @@ class RESTfulAPI:
158
158
  self._router.add_api_route(
159
159
  "/v1/models/prompts", self._get_builtin_prompts, methods=["GET"]
160
160
  )
161
+ self._router.add_api_route(
162
+ "/v1/cluster/devices", self._get_devices_count, methods=["GET"]
163
+ )
161
164
  self._router.add_api_route(
162
165
  "/v1/models/{model_uid}", self.describe_model, methods=["GET"]
163
166
  )
@@ -310,6 +313,17 @@ class RESTfulAPI:
310
313
  logger.error(e, exc_info=True)
311
314
  raise HTTPException(status_code=500, detail=str(e))
312
315
 
316
+ async def _get_devices_count(self) -> JSONResponse:
317
+ """
318
+ For internal usage
319
+ """
320
+ try:
321
+ data = await (await self._get_supervisor_ref()).get_devices_count()
322
+ return JSONResponse(content=data)
323
+ except Exception as e:
324
+ logger.error(e, exc_info=True)
325
+ raise HTTPException(status_code=500, detail=str(e))
326
+
313
327
  async def get_status(self) -> JSONResponse:
314
328
  try:
315
329
  data = await (await self._get_supervisor_ref()).get_status()
xinference/core/model.py CHANGED
@@ -14,6 +14,7 @@
14
14
 
15
15
  import asyncio
16
16
  import inspect
17
+ import os
17
18
  import uuid
18
19
  from typing import (
19
20
  TYPE_CHECKING,
@@ -44,6 +45,15 @@ from .utils import json_dumps, log_async
44
45
 
45
46
  T = TypeVar("T")
46
47
 
48
+ try:
49
+ from torch.cuda import OutOfMemoryError
50
+ except ImportError:
51
+
52
+ class _OutOfMemoryError(Exception):
53
+ pass
54
+
55
+ OutOfMemoryError = _OutOfMemoryError
56
+
47
57
 
48
58
  def request_limit(fn):
49
59
  """
@@ -192,18 +202,30 @@ class ModelActor(xo.StatelessActor):
192
202
  return ret
193
203
 
194
204
  async def _call_wrapper(self, _wrapper: Callable):
195
- assert not (
196
- inspect.iscoroutinefunction(_wrapper)
197
- or inspect.isasyncgenfunction(_wrapper)
198
- )
199
- if self._lock is None:
200
- return await asyncio.to_thread(_wrapper)
201
- else:
202
- async with self._lock:
205
+ try:
206
+ assert not (
207
+ inspect.iscoroutinefunction(_wrapper)
208
+ or inspect.isasyncgenfunction(_wrapper)
209
+ )
210
+ if self._lock is None:
203
211
  return await asyncio.to_thread(_wrapper)
212
+ else:
213
+ async with self._lock:
214
+ return await asyncio.to_thread(_wrapper)
215
+ except OutOfMemoryError:
216
+ logger.exception(
217
+ "Model actor is out of memory, model id: %s", self.model_uid()
218
+ )
219
+ os._exit(1)
204
220
 
205
221
  async def _call_async_wrapper(self, _wrapper: Callable):
206
- return await asyncio.create_task(_wrapper())
222
+ try:
223
+ return await asyncio.create_task(_wrapper())
224
+ except OutOfMemoryError:
225
+ logger.exception(
226
+ "Model actor is out of memory, model id: %s", self.model_uid()
227
+ )
228
+ os._exit(1)
207
229
 
208
230
  @log_async(logger=logger)
209
231
  @request_limit
@@ -365,7 +387,8 @@ class ModelActor(xo.StatelessActor):
365
387
 
366
388
  async def _async_wrapper():
367
389
  try:
368
- return await anext(gen) # noqa: F821
390
+ # anext is only available for Python >= 3.10
391
+ return await gen.__anext__() # noqa: F821
369
392
  except StopAsyncIteration:
370
393
  return stop
371
394
 
@@ -106,6 +106,16 @@ class SupervisorActor(xo.StatelessActor):
106
106
  data[k] = v.dict()
107
107
  return data
108
108
 
109
+ async def get_devices_count(self) -> int:
110
+ from ..utils import cuda_count
111
+
112
+ if self.is_local_deployment():
113
+ return cuda_count()
114
+ # distributed deployment, choose a worker and return its cuda_count.
115
+ # Assume that each worker has the same count of cards.
116
+ worker_ref = await self._choose_worker()
117
+ return await worker_ref.get_devices_count()
118
+
109
119
  async def _choose_worker(self) -> xo.ActorRefType["WorkerActor"]:
110
120
  # TODO: better allocation strategy.
111
121
  min_running_model_count = None
xinference/core/worker.py CHANGED
@@ -48,6 +48,7 @@ class WorkerActor(xo.StatelessActor):
48
48
  self._supervisor_address = supervisor_address
49
49
  self._supervisor_ref = None
50
50
  self._main_pool = main_pool
51
+ self._main_pool.recover_sub_pool = self.recover_sub_pool
51
52
 
52
53
  # internal states.
53
54
  self._model_uid_to_model: Dict[str, xo.ActorRefType["ModelActor"]] = {}
@@ -55,9 +56,22 @@ class WorkerActor(xo.StatelessActor):
55
56
  self._gpu_to_model_uid: Dict[int, str] = {}
56
57
  self._gpu_to_embedding_model_uids: Dict[int, Set[str]] = defaultdict(set)
57
58
  self._model_uid_to_addr: Dict[str, str] = {}
59
+ self._model_uid_to_launch_args: Dict[str, Dict] = {}
58
60
 
59
61
  self._lock = asyncio.Lock()
60
62
 
63
+ async def recover_sub_pool(self, address):
64
+ logger.warning("Process %s is down, create model.", address)
65
+ for model_uid, addr in self._model_uid_to_addr.items():
66
+ if addr == address:
67
+ launch_args = self._model_uid_to_launch_args.get(model_uid)
68
+ try:
69
+ await self.terminate_model(model_uid)
70
+ except Exception:
71
+ pass
72
+ await self.launch_builtin_model(**launch_args)
73
+ break
74
+
61
75
  @classmethod
62
76
  def uid(cls) -> str:
63
77
  return "worker"
@@ -94,6 +108,12 @@ class WorkerActor(xo.StatelessActor):
94
108
  async def __pre_destroy__(self):
95
109
  self._upload_task.cancel()
96
110
 
111
+ @staticmethod
112
+ def get_devices_count():
113
+ from ..utils import cuda_count
114
+
115
+ return cuda_count()
116
+
97
117
  @log_sync(logger=logger)
98
118
  def get_model_count(self) -> int:
99
119
  return len(self._model_uid_to_model)
@@ -175,7 +195,7 @@ class WorkerActor(xo.StatelessActor):
175
195
  gpu_cnt = n_gpu if isinstance(n_gpu, int) else 1
176
196
  devices = (
177
197
  [await self.allocate_devices_for_embedding(model_uid)]
178
- if model_type == "embedding"
198
+ if model_type in ["embedding", "rerank"]
179
199
  else self.allocate_devices(model_uid=model_uid, n_gpu=gpu_cnt)
180
200
  )
181
201
  env["CUDA_VISIBLE_DEVICES"] = ",".join([str(dev) for dev in devices])
@@ -278,7 +298,6 @@ class WorkerActor(xo.StatelessActor):
278
298
  for dev in devices:
279
299
  self._gpu_to_model_uid[int(dev)] = model_uid
280
300
  self._model_uid_to_addr[model_uid] = subpool_address
281
- return model_ref
282
301
 
283
302
  @log_async(logger=logger)
284
303
  async def launch_builtin_model(
@@ -292,7 +311,9 @@ class WorkerActor(xo.StatelessActor):
292
311
  n_gpu: Optional[Union[int, str]] = "auto",
293
312
  request_limits: Optional[int] = None,
294
313
  **kwargs,
295
- ) -> xo.ActorRefType["ModelActor"]:
314
+ ):
315
+ launch_args = locals()
316
+ launch_args.pop("self")
296
317
  if n_gpu is not None:
297
318
  if isinstance(n_gpu, int) and (n_gpu <= 0 or n_gpu > cuda_count()):
298
319
  raise ValueError(
@@ -343,7 +364,7 @@ class WorkerActor(xo.StatelessActor):
343
364
  self._model_uid_to_model[model_uid] = model_ref
344
365
  self._model_uid_to_model_spec[model_uid] = model_description
345
366
  self._model_uid_to_addr[model_uid] = subpool_address
346
- return model_ref
367
+ self._model_uid_to_launch_args[model_uid] = launch_args
347
368
 
348
369
  @log_async(logger=logger)
349
370
  async def terminate_model(self, model_uid: str):
@@ -351,15 +372,21 @@ class WorkerActor(xo.StatelessActor):
351
372
  if model_ref is None:
352
373
  raise ValueError(f"Model not found in the model list, uid: {model_uid}")
353
374
 
354
- await xo.destroy_actor(model_ref)
355
- del self._model_uid_to_model[model_uid]
356
- del self._model_uid_to_model_spec[model_uid]
357
-
358
- self.release_devices(model_uid)
359
-
360
- subpool_address = self._model_uid_to_addr[model_uid]
361
- await self._main_pool.remove_sub_pool(subpool_address)
362
- del self._model_uid_to_addr[model_uid]
375
+ try:
376
+ await xo.destroy_actor(model_ref)
377
+ except Exception as e:
378
+ logger.debug(
379
+ "Destroy model actor failed, model uid: %s, error: %s", model_uid, e
380
+ )
381
+ try:
382
+ subpool_address = self._model_uid_to_addr[model_uid]
383
+ await self._main_pool.remove_sub_pool(subpool_address)
384
+ finally:
385
+ del self._model_uid_to_model[model_uid]
386
+ del self._model_uid_to_model_spec[model_uid]
387
+ self.release_devices(model_uid)
388
+ del self._model_uid_to_addr[model_uid]
389
+ del self._model_uid_to_launch_args[model_uid]
363
390
 
364
391
  @log_async(logger=logger)
365
392
  async def list_models(self) -> Dict[str, Dict[str, Any]]:
@@ -110,6 +110,7 @@ async def create_worker_actor_pool(
110
110
  return await xo.create_actor_pool(
111
111
  address=address,
112
112
  n_process=0,
113
+ auto_recover="process",
113
114
  subprocess_start_method=subprocess_start_method,
114
115
  logging_conf={"dict": logging_conf},
115
116
  )
@@ -220,6 +220,9 @@ class EmbeddingModel:
220
220
  ]
221
221
 
222
222
  raise ImportError(f"{error_message}\n\n{''.join(installation_guide)}")
223
+ from ..utils import patch_trust_remote_code
224
+
225
+ patch_trust_remote_code()
223
226
  self._model = SentenceTransformer(self._model_path, device=self._device)
224
227
 
225
228
  def create_embedding(self, sentences: Union[str, List[str]], **kwargs):
@@ -319,7 +319,9 @@ class VLLMChatModel(VLLMModel, ChatModelMixin):
319
319
  if not generate_config:
320
320
  generate_config = {}
321
321
  if self.model_family.prompt_style:
322
- if (not generate_config["stop"]) and self.model_family.prompt_style.stop:
322
+ if (
323
+ not generate_config.get("stop")
324
+ ) and self.model_family.prompt_style.stop:
323
325
  generate_config["stop"] = self.model_family.prompt_style.stop.copy()
324
326
  if self.model_family.prompt_style.stop_token_ids:
325
327
  generate_config.setdefault(
xinference/model/utils.py CHANGED
@@ -211,3 +211,28 @@ def copy_from_src_to_dst(
211
211
  )
212
212
  if attempt + 1 == max_attempt:
213
213
  raise
214
+
215
+
216
+ def patch_trust_remote_code():
217
+ """sentence-transformers calls transformers without the trust_remote_code=True, some embedding
218
+ models will fail to load, e.g. jina-embeddings-v2-base-en
219
+
220
+ :return:
221
+ """
222
+ try:
223
+ from transformers.dynamic_module_utils import resolve_trust_remote_code
224
+ except ImportError:
225
+ logger.error("Patch transformers trust_remote_code failed.")
226
+ else:
227
+
228
+ def _patched_resolve_trust_remote_code(*args, **kwargs):
229
+ logger.info("Patched resolve_trust_remote_code: %s %s", args, kwargs)
230
+ return True
231
+
232
+ if (
233
+ resolve_trust_remote_code.__code__
234
+ != _patched_resolve_trust_remote_code.__code__
235
+ ):
236
+ resolve_trust_remote_code.__code__ = (
237
+ _patched_resolve_trust_remote_code.__code__
238
+ )
xinference/types.py CHANGED
@@ -289,7 +289,7 @@ def get_pydantic_model_from_method(
289
289
  model.__fields__.pop(key)
290
290
  if exclude_fields is not None:
291
291
  for key in exclude_fields:
292
- model.__fields__.pop(key)
292
+ model.__fields__.pop(key, None)
293
293
  if include_fields is not None:
294
294
  dummy_model = create_model("DummyModel", **include_fields)
295
295
  model.__fields__.update(dummy_model.__fields__)
@@ -307,10 +307,10 @@ def fix_forward_ref(model):
307
307
  if isinstance(field.annotation, ForwardRef):
308
308
  exclude_fields.append(key)
309
309
  include_fields[key] = (Optional[Any], None)
310
- if exclude_fields is not None:
310
+ if exclude_fields:
311
311
  for key in exclude_fields:
312
- model.__fields__.pop(key)
313
- if include_fields is not None:
312
+ model.__fields__.pop(key, None)
313
+ if include_fields:
314
314
  dummy_model = create_model("DummyModel", **include_fields)
315
315
  model.__fields__.update(dummy_model.__fields__)
316
316
  return model
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "files": {
3
- "main.js": "./static/js/main.9b46963e.js",
3
+ "main.js": "./static/js/main.8126d441.js",
4
4
  "static/media/icon.webp": "./static/media/icon.4603d52c63041e5dfbfd.webp",
5
5
  "index.html": "./index.html",
6
- "main.9b46963e.js.map": "./static/js/main.9b46963e.js.map"
6
+ "main.8126d441.js.map": "./static/js/main.8126d441.js.map"
7
7
  },
8
8
  "entrypoints": [
9
- "static/js/main.9b46963e.js"
9
+ "static/js/main.8126d441.js"
10
10
  ]
11
11
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.svg"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="manifest" href="./manifest.json"/><title>Xinference</title><script defer="defer" src="./static/js/main.9b46963e.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.svg"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="manifest" href="./manifest.json"/><title>Xinference</title><script defer="defer" src="./static/js/main.8126d441.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>