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.
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +14 -0
- xinference/core/model.py +33 -10
- xinference/core/supervisor.py +10 -0
- xinference/core/worker.py +40 -13
- xinference/deploy/utils.py +1 -0
- xinference/model/embedding/core.py +3 -0
- xinference/model/llm/vllm/core.py +3 -1
- xinference/model/utils.py +25 -0
- xinference/types.py +4 -4
- xinference/web/ui/build/asset-manifest.json +3 -3
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/js/main.8126d441.js +3 -0
- xinference/web/ui/build/static/js/main.8126d441.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/06eb9846159adb398d44df0b0debc256a9fd9e8171a7d68f5c4ee4d655acfa45.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/0cccfbe5d963b8e31eb679f9d9677392839cedd04aa2956ac6b33cf19599d597.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2f651cf60b1bde50c0601c7110f77dd44819fb6e2501ff748a631724d91445d4.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/3bda436576ecb05f81f7b6ec475d1cfaf03e2b3066e3a75902fe6e8c4773b43b.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/47887a9524ffeecdc2a7839dace146b24f97a5564fc3d431d6179ad2b153cf1f.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/48878f5178bad1a47757e011af41c974a7946efa29485506c4d19f25bf5d522d.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/59574eb63cfe9ed2e58d2f5a420e1ae54354e243a602e9bc73deae3147ed4f98.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/6a60ae66b29c2f3634fd081d369b9e63b4522fe18eb9e43e9979d1ff264b68ad.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/75a5abcbc92da335fdde530f5689194ec79a4b2345b8cba594f8904d3b88e3c6.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/84bfe7afede38da1f8ad569d891276fe4d66cfb87bf5c9ff7a113788ba62bb88.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/940ed05006583b955894e2b8f65a4a5ebf34f8149d747f59fae5131f17d65482.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/9c5f03db9aa88582a9b69b25c7f1acc78ba7fc61f743c9ed7399abb292d5dbde.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/a158a9ffa0c9b169aee53dd4a0c44501a596755b4e4f6ede7746d65a72e2a71f.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/a5e2e9f707eb7039bea096ca117d996b8f9cbc2a5613fd8e0c5b0094444ce23c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/c02e70e9b9efcf3bd056606308104308d6a6ac559f2bc0b4454c11fb5874457c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/e26750d9556e9741912333349e4da454c53dbfddbfc6002ab49518dcf02af745.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/e610aefd7000a3f8542a25cb66c64671cc8da18350de4e5b577102ba4bb78d65.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/ef42ec014d7bc373b874b2a1ff0dcd785490f125e913698bc049b0bd778e4d66.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/fe3eb4d76c79ca98833f686d642224eeeb94cc83ad14300d281623796d087f0a.json +1 -0
- xinference/web/ui/node_modules/.package-lock.json +1077 -405
- xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/globals/globals.json +163 -3
- xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/globals/package.json +1 -1
- xinference/web/ui/node_modules/@eslint/eslintrc/node_modules/ignore/package.json +64 -0
- xinference/web/ui/node_modules/@eslint/eslintrc/package.json +18 -37
- xinference/web/ui/node_modules/@eslint/js/package.json +1 -1
- xinference/web/ui/node_modules/@eslint-community/regexpp/package.json +9 -4
- xinference/web/ui/node_modules/@humanwhocodes/config-array/package.json +14 -14
- xinference/web/ui/node_modules/@rushstack/eslint-patch/package.json +6 -4
- xinference/web/ui/node_modules/@types/semver/package.json +15 -15
- xinference/web/ui/node_modules/@ungap/structured-clone/cjs/package.json +1 -0
- xinference/web/ui/node_modules/@ungap/structured-clone/package.json +53 -0
- xinference/web/ui/node_modules/ansi-colors/package.json +129 -0
- xinference/web/ui/node_modules/array-includes/package.json +8 -8
- xinference/web/ui/node_modules/array.prototype.findlastindex/package.json +120 -0
- xinference/web/ui/node_modules/array.prototype.flat/package.json +8 -8
- xinference/web/ui/node_modules/array.prototype.flatmap/package.json +8 -8
- xinference/web/ui/node_modules/arraybuffer.prototype.slice/package.json +103 -0
- xinference/web/ui/node_modules/ast-types-flow/package.json +2 -2
- xinference/web/ui/node_modules/astral-regex/package.json +33 -0
- xinference/web/ui/node_modules/asynciterator.prototype/package.json +72 -0
- xinference/web/ui/node_modules/axe-core/locales/_template.json +0 -12
- xinference/web/ui/node_modules/axe-core/package.json +1 -2
- xinference/web/ui/node_modules/axe-core/sri-history.json +0 -8
- xinference/web/ui/node_modules/call-bind/package.json +33 -23
- xinference/web/ui/node_modules/define-data-property/package.json +113 -0
- xinference/web/ui/node_modules/define-data-property/tsconfig.json +59 -0
- xinference/web/ui/node_modules/define-properties/package.json +5 -4
- xinference/web/ui/node_modules/enquirer/package.json +112 -0
- xinference/web/ui/node_modules/es-abstract/helpers/caseFolding.json +1430 -0
- xinference/web/ui/node_modules/es-abstract/package.json +29 -23
- xinference/web/ui/node_modules/es-iterator-helpers/index.json +17 -0
- xinference/web/ui/node_modules/es-iterator-helpers/package.json +185 -0
- xinference/web/ui/node_modules/eslint/conf/{rule-type-list.json → category-list.json} +9 -6
- xinference/web/ui/node_modules/eslint/node_modules/@babel/code-frame/package.json +25 -0
- xinference/web/ui/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json +289 -0
- xinference/web/ui/node_modules/eslint/node_modules/eslint-visitor-keys/package.json +39 -0
- xinference/web/ui/node_modules/eslint/node_modules/glob-parent/package.json +48 -0
- xinference/web/ui/node_modules/eslint/node_modules/ignore/package.json +64 -0
- xinference/web/ui/node_modules/eslint/package.json +53 -82
- xinference/web/ui/node_modules/eslint-config-prettier/package.json +13 -0
- xinference/web/ui/node_modules/eslint-import-resolver-node/package.json +3 -3
- xinference/web/ui/node_modules/eslint-plugin-import/package.json +22 -17
- xinference/web/ui/node_modules/eslint-plugin-jsx-a11y/package.json +25 -24
- xinference/web/ui/node_modules/eslint-plugin-simple-import-sort/package.json +23 -0
- xinference/web/ui/node_modules/eslint-plugin-testing-library/package.json +1 -1
- xinference/web/ui/node_modules/eslint-scope/package.json +19 -34
- xinference/web/ui/node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/visitor-keys.json +284 -0
- xinference/web/ui/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json +40 -0
- xinference/web/ui/node_modules/eslint-utils/package.json +65 -0
- xinference/web/ui/node_modules/eslint-visitor-keys/package.json +15 -15
- xinference/web/ui/node_modules/espree/node_modules/acorn/package.json +35 -0
- xinference/web/ui/node_modules/espree/node_modules/eslint-visitor-keys/lib/visitor-keys.json +284 -0
- xinference/web/ui/node_modules/espree/node_modules/eslint-visitor-keys/package.json +40 -0
- xinference/web/ui/node_modules/espree/package.json +27 -51
- xinference/web/ui/node_modules/function-bind/package.json +38 -14
- xinference/web/ui/node_modules/function.prototype.name/package.json +32 -13
- xinference/web/ui/node_modules/functional-red-black-tree/package.json +40 -0
- xinference/web/ui/node_modules/get-intrinsic/package.json +11 -11
- xinference/web/ui/node_modules/hasown/package.json +91 -0
- xinference/web/ui/node_modules/hasown/tsconfig.json +49 -0
- xinference/web/ui/node_modules/is-async-function/package.json +86 -0
- xinference/web/ui/node_modules/is-core-module/core.json +3 -3
- xinference/web/ui/node_modules/is-core-module/package.json +7 -7
- xinference/web/ui/node_modules/is-finalizationregistry/package.json +67 -0
- xinference/web/ui/node_modules/is-generator-function/package.json +87 -0
- xinference/web/ui/node_modules/is-typed-array/package.json +8 -10
- xinference/web/ui/node_modules/iterator.prototype/package.json +73 -0
- xinference/web/ui/node_modules/jsx-ast-utils/package.json +5 -5
- xinference/web/ui/node_modules/language-tags/package.json +48 -8
- xinference/web/ui/node_modules/lodash.truncate/package.json +17 -0
- xinference/web/ui/node_modules/object-inspect/package.json +8 -6
- xinference/web/ui/node_modules/object.entries/package.json +7 -7
- xinference/web/ui/node_modules/object.fromentries/package.json +7 -7
- xinference/web/ui/node_modules/object.groupby/package.json +83 -0
- xinference/web/ui/node_modules/object.values/package.json +7 -7
- xinference/web/ui/node_modules/prettier/package.json +21 -0
- xinference/web/ui/node_modules/progress/package.json +26 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/@eslint/eslintrc/package.json +82 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/@humanwhocodes/config-array/package.json +61 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/@humanwhocodes/object-schema/package.json +33 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/ansi-styles/package.json +56 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/chalk/package.json +68 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/color-convert/package.json +48 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/color-name/package.json +28 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/escape-string-regexp/package.json +38 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/eslint/conf/replacements.json +22 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/eslint/conf/rule-type-list.json +28 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/eslint/package.json +179 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/eslint-scope/package.json +63 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/espree/package.json +88 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/globals/globals.json +1974 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/globals/package.json +55 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/has-flag/package.json +46 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/supports-color/package.json +53 -0
- xinference/web/ui/node_modules/react-scripts/node_modules/type-fest/package.json +58 -0
- xinference/web/ui/node_modules/reflect.getprototypeof/package.json +99 -0
- xinference/web/ui/node_modules/regexp.prototype.flags/package.json +8 -7
- xinference/web/ui/node_modules/regexpp/package.json +91 -0
- xinference/web/ui/node_modules/resolve/lib/core.json +4 -1
- xinference/web/ui/node_modules/resolve/package.json +9 -8
- xinference/web/ui/node_modules/resolve/test/resolver/multirepo/package.json +1 -1
- xinference/web/ui/node_modules/safe-array-concat/package.json +5 -5
- xinference/web/ui/node_modules/set-function-length/package.json +84 -0
- xinference/web/ui/node_modules/set-function-name/package.json +80 -0
- xinference/web/ui/node_modules/slice-ansi/node_modules/ansi-styles/package.json +56 -0
- xinference/web/ui/node_modules/slice-ansi/node_modules/color-convert/package.json +48 -0
- xinference/web/ui/node_modules/slice-ansi/node_modules/color-name/package.json +28 -0
- xinference/web/ui/node_modules/slice-ansi/package.json +52 -0
- xinference/web/ui/node_modules/string.prototype.trim/package.json +7 -7
- xinference/web/ui/node_modules/string.prototype.trimend/package.json +7 -7
- xinference/web/ui/node_modules/string.prototype.trimstart/package.json +7 -7
- xinference/web/ui/node_modules/table/dist/src/schemas/config.json +95 -0
- xinference/web/ui/node_modules/table/dist/src/schemas/shared.json +139 -0
- xinference/web/ui/node_modules/table/dist/src/schemas/streamConfig.json +25 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- xinference/web/ui/node_modules/table/node_modules/ajv/package.json +126 -0
- xinference/web/ui/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
- xinference/web/ui/node_modules/table/package.json +77 -0
- xinference/web/ui/node_modules/typed-array-buffer/package.json +73 -0
- xinference/web/ui/node_modules/typed-array-byte-length/package.json +98 -0
- xinference/web/ui/node_modules/v8-compile-cache/package.json +34 -0
- xinference/web/ui/node_modules/which-builtin-type/package.json +93 -0
- xinference/web/ui/node_modules/which-typed-array/package.json +4 -5
- xinference/web/ui/package-lock.json +1085 -406
- xinference/web/ui/package.json +10 -2
- {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/METADATA +46 -35
- {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/RECORD +210 -103
- xinference/web/ui/build/static/js/main.9b46963e.js +0 -3
- xinference/web/ui/build/static/js/main.9b46963e.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/06363becf51869c421a8b3e34b4e3f50aa0aac3d590446044f9412e379f4ebbe.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/2849edddeb99a8ecdda577e810eead74b8f8a291cdfbd987839d604666ed79d0.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/2c774712d327cdf0b192aaa22785ec380e9427c587350c33289828d99e9c4abc.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/34c578e50d3040519ca8dc28bf0f7fec8674c2d6c0fcc3e98401c0a3f9f013cf.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/5933910e7c33febbabc0297ef7ba80f5e53ed96aa125b6a44ff2910aec29ced1.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/5e18a8354ea03d22a967fd8cb2171aa798edcb3da5d66ab1fd3b9663affd0abe.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/717cd7c186ace4812d1e602bdd299d8dc507f072670cc43974d53aac2574df5d.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/a178cfde289ffd15fd54b1c80fd9d231ae0f9644db33acb02084e69b32bfee37.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/aad919619ddb400e30bf9886f3ad7f59d5ec7cdbb98ed8b8442565bb19164237.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/adaec65f73accce3171b51b0fbcbfd8d0cd83f81a2e1b28eb34148644875499a.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/ae8f44c77c2e6f79680fe32fb00174183cd867093ebbda967b8985c33cc10fa2.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/b10bd04b4d6e28bfcaaaab37b0a4c1986e87a5b7e62e5ce4d56019880ef26990.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/cfc5da1cedee985a556e04865affccb72d0f624cbfb73da348bbe8693e8a4983.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/eebd0123c4b4396737e56b9181406a9fd76b107dd32971d23b0de99f51dd38d6.json +0 -1
- xinference/web/ui/node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/package.json +0 -48
- xinference/web/ui/node_modules/@typescript-eslint/utils/node_modules/eslint-scope/package.json +0 -48
- xinference/web/ui/node_modules/@typescript-eslint/utils/node_modules/estraverse/package.json +0 -40
- xinference/web/ui/node_modules/eslint/node_modules/argparse/package.json +0 -31
- xinference/web/ui/node_modules/eslint/node_modules/js-yaml/package.json +0 -66
- xinference/web/ui/node_modules/eslint-plugin-jsx-a11y/node_modules/semver/package.json +0 -38
- xinference/web/ui/node_modules/function-bind/.jscs.json +0 -176
- xinference/web/ui/node_modules/resolve/test/resolver/malformed_package_json/package.json +0 -1
- xinference/web/ui/node_modules/webpack/node_modules/eslint-scope/package.json +0 -48
- xinference/web/ui/node_modules/webpack/node_modules/estraverse/package.json +0 -40
- /xinference/web/ui/build/static/js/{main.9b46963e.js.LICENSE.txt → main.8126d441.js.LICENSE.txt} +0 -0
- /xinference/web/ui/node_modules/{@nicolo-ribaudo/eslint-scope-5-internals → eslint-scope}/node_modules/estraverse/package.json +0 -0
- /xinference/web/ui/node_modules/{@eslint/eslintrc → react-scripts}/node_modules/argparse/package.json +0 -0
- /xinference/web/ui/node_modules/{eslint → react-scripts/node_modules/eslint}/lib/cli-engine/formatters/formatters-meta.json +0 -0
- /xinference/web/ui/node_modules/{eslint-config-react-app → react-scripts/node_modules/eslint-config-react-app}/package.json +0 -0
- /xinference/web/ui/node_modules/{eslint-plugin-flowtype → react-scripts/node_modules/eslint-plugin-flowtype}/dist/configs/recommended.json +0 -0
- /xinference/web/ui/node_modules/{eslint-plugin-flowtype → react-scripts/node_modules/eslint-plugin-flowtype}/package.json +0 -0
- /xinference/web/ui/node_modules/{@eslint/eslintrc → react-scripts}/node_modules/js-yaml/package.json +0 -0
- {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/LICENSE +0 -0
- {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/WHEEL +0 -0
- {xinference-0.6.5.dist-info → xinference-0.7.0.dist-info}/entry_points.txt +0 -0
- {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-
|
|
11
|
+
"date": "2023-12-08T13:45:18+0800",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.
|
|
14
|
+
"full-revisionid": "b5a5f0a270f85e451591eba34fe615a0fc8ce4bf",
|
|
15
|
+
"version": "0.7.0"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
xinference/api/restful_api.py
CHANGED
|
@@ -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
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
xinference/core/supervisor.py
CHANGED
|
@@ -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
|
|
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
|
-
)
|
|
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
|
-
|
|
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
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
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]]:
|
xinference/deploy/utils.py
CHANGED
|
@@ -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 (
|
|
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
|
|
310
|
+
if exclude_fields:
|
|
311
311
|
for key in exclude_fields:
|
|
312
|
-
model.__fields__.pop(key)
|
|
313
|
-
if include_fields
|
|
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.
|
|
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.
|
|
6
|
+
"main.8126d441.js.map": "./static/js/main.8126d441.js.map"
|
|
7
7
|
},
|
|
8
8
|
"entrypoints": [
|
|
9
|
-
"static/js/main.
|
|
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.
|
|
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>
|