From 581cf361bfc6c1c3b9e468028368e77feaf6f190 Mon Sep 17 00:00:00 2001 From: FangYin Cheng Date: Wed, 13 Sep 2023 12:14:03 +0800 Subject: [PATCH] feat(model): multi-model supports embedding model and simple component design implementation --- .../cluster-docker-compose.yml | 27 ++- .../img/muti-model-cluster-overview.png | Bin 0 -> 369499 bytes docs/getting_started/install.rst | 2 + .../install/cluster/cluster.rst | 19 ++ .../install/cluster/kubernetes/index.md | 3 + .../model_cluster.md => cluster/vms/index.md} | 54 ++++-- docs/getting_started/install/llm/llm.rst | 3 +- .../LC_MESSAGES/getting_started/install.po | 22 ++- .../install/cluster/cluster.po | 42 +++++ .../install/cluster/kubernetes/index.po | 26 +++ .../install/cluster/vms/index.po | 176 ++++++++++++++++++ .../getting_started/install/llm/llm.po | 68 +++---- docs/requirements.txt | 2 +- pilot/componet.py | 143 ++++++++++++++ pilot/configs/config.py | 4 + .../connections/manages/connection_manager.py | 5 +- pilot/connections/rdbms/tests/mange_t.py | 2 +- pilot/embedding_engine/embedding_engine.py | 10 +- pilot/embedding_engine/embedding_factory.py | 39 ++++ pilot/model/adapter.py | 7 +- pilot/model/cli.py | 1 - pilot/model/cluster/__init__.py | 15 +- pilot/model/cluster/controller/controller.py | 11 +- pilot/model/cluster/embedding/__init__.py | 0 .../cluster/embedding/remote_embedding.py | 28 +++ pilot/model/cluster/manager_base.py | 28 ++- pilot/model/cluster/registry.py | 13 +- .../model/cluster/worker/embedding_worker.py | 14 +- pilot/model/cluster/worker/manager.py | 159 +++++++++++++--- pilot/model/cluster/worker/remote_manager.py | 45 +++-- pilot/model/cluster/worker/remote_worker.py | 10 +- pilot/model/parameter.py | 4 +- pilot/openapi/api_v1/api_v1.py | 2 +- pilot/scene/chat_dashboard/chat.py | 2 +- pilot/scene/chat_db/auto_execute/chat.py | 2 +- pilot/scene/chat_db/professional_qa/chat.py | 2 +- pilot/scene/chat_knowledge/v1/chat.py | 5 + pilot/server/base.py | 33 +++- pilot/server/componet_configs.py | 38 ++++ pilot/server/dbgpt_server.py | 23 ++- pilot/server/knowledge/api.py | 14 +- pilot/server/knowledge/service.py | 5 + pilot/server/llmserver.py | 4 +- pilot/summary/db_summary_client.py | 23 ++- pilot/utils/api_utils.py | 112 ++++++----- pilot/vector_store/extract_tovec.py | 6 +- pilot/vector_store/file_loader.py | 6 +- 47 files changed, 1049 insertions(+), 210 deletions(-) create mode 100644 docs/_static/img/muti-model-cluster-overview.png create mode 100644 docs/getting_started/install/cluster/cluster.rst create mode 100644 docs/getting_started/install/cluster/kubernetes/index.md rename docs/getting_started/install/{llm/cluster/model_cluster.md => cluster/vms/index.md} (76%) create mode 100644 docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/cluster.po create mode 100644 docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/kubernetes/index.po create mode 100644 docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/vms/index.po create mode 100644 pilot/componet.py create mode 100644 pilot/embedding_engine/embedding_factory.py create mode 100644 pilot/model/cluster/embedding/__init__.py create mode 100644 pilot/model/cluster/embedding/remote_embedding.py create mode 100644 pilot/server/componet_configs.py diff --git a/docker/compose_examples/cluster-docker-compose.yml b/docker/compose_examples/cluster-docker-compose.yml index c4928a53a..8d4763532 100644 --- a/docker/compose_examples/cluster-docker-compose.yml +++ b/docker/compose_examples/cluster-docker-compose.yml @@ -4,9 +4,10 @@ services: controller: image: eosphorosai/dbgpt:latest command: dbgpt start controller + restart: unless-stopped networks: - dbgptnet - worker: + llm-worker: image: eosphorosai/dbgpt:latest command: dbgpt start worker --model_name vicuna-13b-v1.5 --model_path /app/models/vicuna-13b-v1.5 --port 8001 --controller_addr http://controller:8000 environment: @@ -17,6 +18,27 @@ services: - /data:/data # Please modify it to your own model directory - /data/models:/app/models + restart: unless-stopped + networks: + - dbgptnet + deploy: + resources: + reservations: + devices: + - driver: nvidia + capabilities: [gpu] + embedding-worker: + image: eosphorosai/dbgpt:latest + command: dbgpt start worker --model_name text2vec --worker_type text2vec --model_path /app/models/text2vec-large-chinese --port 8002 --controller_addr http://controller:8000 + environment: + - DBGPT_LOG_LEVEL=DEBUG + depends_on: + - controller + volumes: + - /data:/data + # Please modify it to your own model directory + - /data/models:/app/models + restart: unless-stopped networks: - dbgptnet deploy: @@ -37,7 +59,8 @@ services: - MODEL_SERVER=http://controller:8000 depends_on: - controller - - worker + - llm-worker + - embedding-worker volumes: - /data:/data # Please modify it to your own model directory diff --git a/docs/_static/img/muti-model-cluster-overview.png b/docs/_static/img/muti-model-cluster-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..e087a0034f29ae7dbfcee7d85699efb97cbd2250 GIT binary patch literal 369499 zcmZ^}WmFtd*EI+<(s<(zjRbdsySo!4IKkcB-Ccug2oT)e-6cSf;GW=a(|Ko}nP=wv z=0~qpUAL~BTSxZZx1v;(q*0Lwk)WWUP-SH#)S#f?f}x-Qi$EC2oqWV!`A|?u`BviM zDzf6@U=?Qvb1PdjC@7hzv~&aw^;O*PnXY5qdCP6$j<5E}wVM1KyC+n3d{>2vz0XEr`Cm{FD6#47$Q)h0w`4Qh=~OfeqSFnR9)NS`P~~DX3UDB zx>I#Pz`LPh{J@kc01A$hcxKG>8@Vqw!ORMbF)mcO++a;g$_LOjVkl0iOc2lz&t->E z7|Z2_F(4-j5&aelN)ZN1*`zKs3Mw%bB+QhZ8@We5hta&{;^`Zj0&4gE zamym)?≪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 f1g9tqzQq7_xwG=KZ(TOY;73QpQ2nl|b@2ZI%`b + + +* On :ref:`Deploying on local machine `. Local cluster deployment. + +.. toctree:: + :maxdepth: 2 + :caption: Cluster deployment + :name: cluster_deploy + :hidden: + + ./vms/index.md diff --git a/docs/getting_started/install/cluster/kubernetes/index.md b/docs/getting_started/install/cluster/kubernetes/index.md new file mode 100644 index 000000000..385a8b054 --- /dev/null +++ b/docs/getting_started/install/cluster/kubernetes/index.md @@ -0,0 +1,3 @@ +Kubernetes cluster deployment +================================== +(kubernetes-cluster-index)= \ No newline at end of file diff --git a/docs/getting_started/install/llm/cluster/model_cluster.md b/docs/getting_started/install/cluster/vms/index.md similarity index 76% rename from docs/getting_started/install/llm/cluster/model_cluster.md rename to docs/getting_started/install/cluster/vms/index.md index 5576dfc1e..03b5b0293 100644 --- a/docs/getting_started/install/llm/cluster/model_cluster.md +++ b/docs/getting_started/install/cluster/vms/index.md @@ -1,6 +1,6 @@ -Cluster deployment +Local cluster deployment ================================== - +(local-cluster-index)= ## Model cluster deployment @@ -17,7 +17,7 @@ dbgpt start controller By default, the Model Controller starts on port 8000. -### Launch Model Worker +### Launch LLM Model Worker If you are starting `chatglm2-6b`: @@ -39,6 +39,18 @@ dbgpt start worker --model_name vicuna-13b-v1.5 \ Note: Be sure to use your own model name and model path. +### Launch Embedding Model Worker + +```bash + +dbgpt start worker --model_name text2vec \ +--model_path /app/models/text2vec-large-chinese \ +--worker_type text2vec \ +--port 8003 \ +--controller_addr http://127.0.0.1:8000 +``` + +Note: Be sure to use your own model name and model path. Check your model: @@ -51,8 +63,12 @@ You will see the following output: +-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+ | Model Name | Model Type | Host | Port | Healthy | Enabled | Prompt Template | Last Heartbeat | +-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+ -| chatglm2-6b | llm | 172.17.0.6 | 8001 | True | True | None | 2023-08-31T04:48:45.252939 | -| vicuna-13b-v1.5 | llm | 172.17.0.6 | 8002 | True | True | None | 2023-08-31T04:48:55.136676 | +| chatglm2-6b | llm | 172.17.0.2 | 8001 | True | True | | 2023-09-12T23:04:31.287654 | +| WorkerManager | service | 172.17.0.2 | 8001 | True | True | | 2023-09-12T23:04:31.286668 | +| WorkerManager | service | 172.17.0.2 | 8003 | True | True | | 2023-09-12T23:04:29.845617 | +| WorkerManager | service | 172.17.0.2 | 8002 | True | True | | 2023-09-12T23:04:24.598439 | +| text2vec | text2vec | 172.17.0.2 | 8003 | True | True | | 2023-09-12T23:04:29.844796 | +| vicuna-13b-v1.5 | llm | 172.17.0.2 | 8002 | True | True | | 2023-09-12T23:04:24.597775 | +-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+ ``` @@ -69,7 +85,7 @@ MODEL_SERVER=http://127.0.0.1:8000 #### Start the webserver ```bash -python pilot/server/dbgpt_server.py --light +dbgpt start webserver --light ``` `--light` indicates not to start the embedded model service. @@ -77,7 +93,7 @@ python pilot/server/dbgpt_server.py --light Alternatively, you can prepend the command with `LLM_MODEL=chatglm2-6b` to start: ```bash -LLM_MODEL=chatglm2-6b python pilot/server/dbgpt_server.py --light +LLM_MODEL=chatglm2-6b dbgpt start webserver --light ``` @@ -101,9 +117,11 @@ Options: --help Show this message and exit. Commands: - model Clients that manage model serving - start Start specific server. - stop Start specific server. + install Install dependencies, plugins, etc. + knowledge Knowledge command line tool + model Clients that manage model serving + start Start specific server. + stop Start specific server. ``` **View the `dbgpt start` help** @@ -146,10 +164,11 @@ Options: --model_name TEXT Model name [required] --model_path TEXT Model path [required] --worker_type TEXT Worker type - --worker_class TEXT Model worker class, pilot.model.worker.defau - lt_worker.DefaultModelWorker + --worker_class TEXT Model worker class, + pilot.model.cluster.DefaultModelWorker --host TEXT Model worker deploy host [default: 0.0.0.0] - --port INTEGER Model worker deploy port [default: 8000] + --port INTEGER Model worker deploy port [default: 8001] + --daemon Run Model Worker in background --limit_model_concurrency INTEGER Model concurrency limit [default: 5] --standalone Standalone mode. If True, embedded Run @@ -166,7 +185,7 @@ Options: (seconds) [default: 20] --device TEXT Device to run model. If None, the device is automatically determined - --model_type TEXT Model type, huggingface or llama.cpp + --model_type TEXT Model type, huggingface, llama.cpp and proxy [default: huggingface] --prompt_template TEXT Prompt template. If None, the prompt template is automatically determined from @@ -190,7 +209,7 @@ Options: --compute_dtype TEXT Model compute type --trust_remote_code Trust remote code [default: True] --verbose Show verbose output. - --help Show this message and exit. + --help Show this message and exit. ``` **View the `dbgpt model`help** @@ -208,10 +227,13 @@ Usage: dbgpt model [OPTIONS] COMMAND [ARGS]... Options: --address TEXT Address of the Model Controller to connect to. Just support - light deploy model [default: http://127.0.0.1:8000] + light deploy model, If the environment variable + CONTROLLER_ADDRESS is configured, read from the environment + variable --help Show this message and exit. Commands: + chat Interact with your bot from the command line list List model instances restart Restart model instances start Start model instances diff --git a/docs/getting_started/install/llm/llm.rst b/docs/getting_started/install/llm/llm.rst index accde0250..a678c3e2a 100644 --- a/docs/getting_started/install/llm/llm.rst +++ b/docs/getting_started/install/llm/llm.rst @@ -6,6 +6,7 @@ DB-GPT provides a management and deployment solution for multiple models. This c Multi LLMs Support, Supports multiple large language models, currently supporting + - 🔥 Baichuan2(7b,13b) - 🔥 Vicuna-v1.5(7b,13b) - 🔥 llama-2(7b,13b,70b) - WizardLM-v1.2(13b) @@ -19,7 +20,6 @@ Multi LLMs Support, Supports multiple large language models, currently supportin - llama_cpp - quantization -- cluster deployment .. toctree:: :maxdepth: 2 @@ -29,4 +29,3 @@ Multi LLMs Support, Supports multiple large language models, currently supportin ./llama/llama_cpp.md ./quantization/quantization.md - ./cluster/model_cluster.md diff --git a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install.po b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install.po index 9e31b74e5..a4cfc8e66 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install.po +++ b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: DB-GPT 👏👏 0.3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-16 18:31+0800\n" +"POT-Creation-Date: 2023-09-13 09:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -19,34 +19,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" -#: ../../getting_started/install.rst:2 ../../getting_started/install.rst:14 -#: 2861085e63144eaca1bb825e5f05d089 +#: ../../getting_started/install.rst:2 ../../getting_started/install.rst:15 +#: e2c13385046b4da6b6838db6ba2ea59c msgid "Install" msgstr "Install" -#: ../../getting_started/install.rst:3 01a6603d91fa4520b0f839379d4eda23 +#: ../../getting_started/install.rst:3 3cb6cd251ed440dabe5d4f556435f405 msgid "" "DB-GPT product is a Web application that you can chat database, chat " "knowledge, text2dashboard." msgstr "DB-GPT 可以生成sql,智能报表, 知识库问答的产品" -#: ../../getting_started/install.rst:8 beca85cddc9b4406aecf83d5dfcce1f7 +#: ../../getting_started/install.rst:8 6fe8104b70d24f5fbfe2ad9ebf3bc3ba msgid "deploy" msgstr "部署" -#: ../../getting_started/install.rst:9 601e9b9eb91f445fb07d2f1c807f0370 +#: ../../getting_started/install.rst:9 e67974b3672346809febf99a3b9a55d3 msgid "docker" msgstr "docker" -#: ../../getting_started/install.rst:10 6d1e094ac9284458a32a3e7fa6241c81 +#: ../../getting_started/install.rst:10 64de16a047c74598966e19a656bf6c4f msgid "docker_compose" msgstr "docker_compose" -#: ../../getting_started/install.rst:11 ff1d1c60bbdc4e8ca82b7a9f303dd167 +#: ../../getting_started/install.rst:11 9f87d65e8675435b87cb9376a5bfd85c msgid "environment" msgstr "environment" -#: ../../getting_started/install.rst:12 33bfbe8defd74244bfc24e8fbfd640f6 +#: ../../getting_started/install.rst:12 e60fa13bb24544ed9d4f902337093ebc +msgid "cluster deployment" +msgstr "集群部署" + +#: ../../getting_started/install.rst:13 7451712679c2412e858e7d3e2af6b174 msgid "deploy_faq" msgstr "deploy_faq" diff --git a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/cluster.po b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/cluster.po new file mode 100644 index 000000000..577f15089 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/cluster.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023, csunny +# This file is distributed under the same license as the DB-GPT package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DB-GPT 👏👏 0.3.6\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 10:11+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../getting_started/install/cluster/cluster.rst:2 +#: ../../getting_started/install/cluster/cluster.rst:13 +#: 69804208b580447798d6946150da7bdf +msgid "Cluster deployment" +msgstr "集群部署" + +#: ../../getting_started/install/cluster/cluster.rst:4 +#: fa3e4e0ae60a45eb836bcd256baa9d91 +msgid "" +"In order to deploy DB-GPT to multiple nodes, you can deploy a cluster. " +"The cluster architecture diagram is as follows:" +msgstr "为了能将 DB-GPT 部署到多个节点上,你可以部署一个集群,集群的架构图如下:" + +#: ../../getting_started/install/cluster/cluster.rst:11 +#: e739449099ca43cabe9883233ca7e572 +#, fuzzy +msgid "" +"On :ref:`Deploying on local machine `. Local cluster" +" deployment." +msgstr "关于 :ref:`在本地机器上部署 `。本地集群部署。" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/kubernetes/index.po b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/kubernetes/index.po new file mode 100644 index 000000000..b785f94f4 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/kubernetes/index.po @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023, csunny +# This file is distributed under the same license as the DB-GPT package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DB-GPT 👏👏 0.3.6\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 09:06+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../getting_started/install/cluster/kubernetes/index.md:1 +#: 48e6f08f27c74f31a8b12758fe33dc24 +msgid "Kubernetes cluster deployment" +msgstr "Kubernetes 集群部署" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/vms/index.po b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/vms/index.po new file mode 100644 index 000000000..af535d519 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/cluster/vms/index.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023, csunny +# This file is distributed under the same license as the DB-GPT package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: DB-GPT 👏👏 0.3.6\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 09:06+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../getting_started/install/cluster/vms/index.md:1 +#: 2d2e04ba49364eae9b8493bb274765a6 +msgid "Local cluster deployment" +msgstr "本地集群部署" + +#: ../../getting_started/install/cluster/vms/index.md:4 +#: e405d0e7ad8c4b2da4b4ca27c77f5fea +msgid "Model cluster deployment" +msgstr "模型集群部署" + +#: ../../getting_started/install/cluster/vms/index.md:7 +#: bba397ddac754a2bab8edca163875b65 +msgid "**Installing Command-Line Tool**" +msgstr "**安装命令行工具**" + +#: ../../getting_started/install/cluster/vms/index.md:9 +#: bc45851124354522af8c9bb9748ff1fa +msgid "" +"All operations below are performed using the `dbgpt` command. To use the " +"`dbgpt` command, you need to install the DB-GPT project with `pip install" +" -e .`. Alternatively, you can use `python pilot/scripts/cli_scripts.py` " +"as a substitute for the `dbgpt` command." +msgstr "" +"以下所有操作都使用 `dbgpt` 命令完成。要使用 `dbgpt` 命令,您需要安装DB-GPT项目,方法是使用`pip install -e .`。或者,您可以使用 `python pilot/scripts/cli_scripts.py` 作为 `dbgpt` 命令的替代。" + +#: ../../getting_started/install/cluster/vms/index.md:11 +#: 9d11f7807fd140c8949b634700adc966 +msgid "Launch Model Controller" +msgstr "启动 Model Controller" + +#: ../../getting_started/install/cluster/vms/index.md:17 +#: 97716be92ba64ce9a215433bddf77add +msgid "By default, the Model Controller starts on port 8000." +msgstr "默认情况下,Model Controller 启动在 8000 端口。" + +#: ../../getting_started/install/cluster/vms/index.md:20 +#: 3f65e6a1e59248a59c033891d1ab7ba8 +msgid "Launch LLM Model Worker" +msgstr "启动 LLM Model Worker" + +#: ../../getting_started/install/cluster/vms/index.md:22 +#: 60241d97573e4265b7fb150c378c4a08 +msgid "If you are starting `chatglm2-6b`:" +msgstr "如果您启动的是 `chatglm2-6b`:" + +#: ../../getting_started/install/cluster/vms/index.md:31 +#: 18bbeb1de110438fa96dd5c736b9a7b1 +msgid "If you are starting `vicuna-13b-v1.5`:" +msgstr "如果您启动的是 `vicuna-13b-v1.5`:" + +#: ../../getting_started/install/cluster/vms/index.md:40 +#: ../../getting_started/install/cluster/vms/index.md:53 +#: 24b1a27313c64224aaeab6cbfad1fe19 fc94a698a7904c6893eef7e7a6e52972 +msgid "Note: Be sure to use your own model name and model path." +msgstr "注意:确保使用您自己的模型名称和模型路径。" + +#: ../../getting_started/install/cluster/vms/index.md:42 +#: 19746195e85f4784bf66a9e67378c04b +msgid "Launch Embedding Model Worker" +msgstr "启动 Embedding Model Worker" + +#: ../../getting_started/install/cluster/vms/index.md:55 +#: e93ce68091f64d0294b3f912a66cc18b +msgid "Check your model:" +msgstr "检查您的模型:" + +#: ../../getting_started/install/cluster/vms/index.md:61 +#: fa0b8f3a18fe4bab88fbf002bf26d32e +msgid "You will see the following output:" +msgstr "您将看到以下输出:" + +#: ../../getting_started/install/cluster/vms/index.md:75 +#: 695262fb4f224101902bc7865ac7871f +msgid "Connect to the model service in the webserver (dbgpt_server)" +msgstr "在 webserver (dbgpt_server) 中连接到模型服务 (dbgpt_server)" + +#: ../../getting_started/install/cluster/vms/index.md:77 +#: 73bf4c2ae5c64d938e3b7e77c06fa21e +msgid "" +"**First, modify the `.env` file to change the model name and the Model " +"Controller connection address.**" +msgstr "" +"**首先,修改 `.env` 文件以更改模型名称和模型控制器连接地址。**" + +#: ../../getting_started/install/cluster/vms/index.md:85 +#: 8ab126fd72ed4368a79b821ba50e62c8 +msgid "Start the webserver" +msgstr "启动 webserver" + +#: ../../getting_started/install/cluster/vms/index.md:91 +#: 5a7e25c84ca2412bb64310bfad9e2403 +msgid "`--light` indicates not to start the embedded model service." +msgstr "`--light` 表示不启动嵌入式模型服务。" + +#: ../../getting_started/install/cluster/vms/index.md:93 +#: 8cd9ec4fa9cb4c0fa8ff05c05a85ea7f +msgid "" +"Alternatively, you can prepend the command with `LLM_MODEL=chatglm2-6b` " +"to start:" +msgstr "" +"或者,您可以在命令前加上 `LLM_MODEL=chatglm2-6b` 来启动:" + +#: ../../getting_started/install/cluster/vms/index.md:100 +#: 13ed16758a104860b5fc982d36638b17 +msgid "More Command-Line Usages" +msgstr "更多命令行用法" + +#: ../../getting_started/install/cluster/vms/index.md:102 +#: 175f614d547a4391bab9a77762f9174e +msgid "You can view more command-line usages through the help command." +msgstr "您可以通过帮助命令查看更多命令行用法。" + +#: ../../getting_started/install/cluster/vms/index.md:104 +#: 6a4475d271c347fbbb35f2936a86823f +msgid "**View the `dbgpt` help**" +msgstr "**查看 `dbgpt` 帮助**" + +#: ../../getting_started/install/cluster/vms/index.md:109 +#: 3eb11234cf504cc9ac369d8462daa14b +msgid "You will see the basic command parameters and usage:" +msgstr "您将看到基本的命令参数和用法:" + +#: ../../getting_started/install/cluster/vms/index.md:127 +#: 6eb47aecceec414e8510fe022b6fddbd +msgid "**View the `dbgpt start` help**" +msgstr "**查看 `dbgpt start` 帮助**" + +#: ../../getting_started/install/cluster/vms/index.md:133 +#: 1f4c0a4ce0704ca8ac33178bd13c69ad +msgid "Here you can see the related commands and usage for start:" +msgstr "在这里,您可以看到启动的相关命令和用法:" + +#: ../../getting_started/install/cluster/vms/index.md:150 +#: 22e8e67bc55244e79764d091f334560b +msgid "**View the `dbgpt start worker`help**" +msgstr "**查看 `dbgpt start worker` 帮助**" + +#: ../../getting_started/install/cluster/vms/index.md:156 +#: 5631b83fda714780855e99e90d4eb542 +msgid "Here you can see the parameters to start Model Worker:" +msgstr "在这里,您可以看到启动 Model Worker 的参数:" + +#: ../../getting_started/install/cluster/vms/index.md:215 +#: cf4a31fd3368481cba1b3ab382615f53 +msgid "**View the `dbgpt model`help**" +msgstr "**查看 `dbgpt model` 帮助**" + +#: ../../getting_started/install/cluster/vms/index.md:221 +#: 3740774ec4b240f2882b5b59da224d55 +msgid "" +"The `dbgpt model ` command can connect to the Model Controller via the " +"Model Controller address and then manage a remote model:" +msgstr "" +"`dbgpt model` 命令可以通过 Model Controller 地址连接到 Model Controller,然后管理远程模型:" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/llm/llm.po b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/llm/llm.po index b5531e9f5..5041134b7 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/llm/llm.po +++ b/docs/locales/zh_CN/LC_MESSAGES/getting_started/install/llm/llm.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: DB-GPT 👏👏 0.3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-31 16:38+0800\n" +"POT-Creation-Date: 2023-09-13 10:46+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -21,84 +21,88 @@ msgstr "" #: ../../getting_started/install/llm/llm.rst:2 #: ../../getting_started/install/llm/llm.rst:24 -#: b348d4df8ca44dd78b42157a8ff6d33d +#: e693a8d3769b4d9e99c4442ca77dc43c msgid "LLM Usage" msgstr "LLM使用" -#: ../../getting_started/install/llm/llm.rst:3 7f5960a7e5634254b330da27be87594b +#: ../../getting_started/install/llm/llm.rst:3 0a73562d18ba455bab04277b715c3840 msgid "" "DB-GPT provides a management and deployment solution for multiple models." " This chapter mainly discusses how to deploy different models." msgstr "DB-GPT提供了多模型的管理和部署方案,本章主要讲解针对不同的模型该怎么部署" -#: ../../getting_started/install/llm/llm.rst:18 -#: b844ab204ec740ec9d7d191bb841f09e +#: ../../getting_started/install/llm/llm.rst:19 +#: d7e4de2a7e004888897204ec76b6030b msgid "" "Multi LLMs Support, Supports multiple large language models, currently " "supporting" msgstr "目前DB-GPT已适配如下模型" -#: ../../getting_started/install/llm/llm.rst:9 c141437ddaf84c079360008343041b2f +#: ../../getting_started/install/llm/llm.rst:9 4616886b8b2244bd93355e871356d89e +#, fuzzy +msgid "🔥 Baichuan2(7b,13b)" +msgstr "Baichuan(7b,13b)" + +#: ../../getting_started/install/llm/llm.rst:10 +#: ad0e4793d4e744c1bdf59f5a3d9c84be msgid "🔥 Vicuna-v1.5(7b,13b)" msgstr "🔥 Vicuna-v1.5(7b,13b)" -#: ../../getting_started/install/llm/llm.rst:10 -#: d32b1e3f114c4eab8782b497097c1b37 +#: ../../getting_started/install/llm/llm.rst:11 +#: d291e58001ae487bbbf2a1f9f889f5fd msgid "🔥 llama-2(7b,13b,70b)" msgstr "🔥 llama-2(7b,13b,70b)" -#: ../../getting_started/install/llm/llm.rst:11 -#: 0a417ee4d008421da07fff7add5d05eb +#: ../../getting_started/install/llm/llm.rst:12 +#: 1e49702ee40b4655945a2a13efaad536 msgid "WizardLM-v1.2(13b)" msgstr "WizardLM-v1.2(13b)" -#: ../../getting_started/install/llm/llm.rst:12 -#: 199e1a9fe3324dc8a1bcd9cd0b1ef047 +#: ../../getting_started/install/llm/llm.rst:13 +#: 4ef5913ddfe840d7a12289e6e1d4cb60 msgid "Vicuna (7b,13b)" msgstr "Vicuna (7b,13b)" -#: ../../getting_started/install/llm/llm.rst:13 -#: a9e4c5100534450db3a583fa5850e4be +#: ../../getting_started/install/llm/llm.rst:14 +#: ea46c2211257459285fa48083cb59561 msgid "ChatGLM-6b (int4,int8)" msgstr "ChatGLM-6b (int4,int8)" -#: ../../getting_started/install/llm/llm.rst:14 -#: 943324289eb94042b52fd824189cd93f +#: ../../getting_started/install/llm/llm.rst:15 +#: 90688302bae4452a84f14e8ecb7f1a21 msgid "ChatGLM2-6b (int4,int8)" msgstr "ChatGLM2-6b (int4,int8)" -#: ../../getting_started/install/llm/llm.rst:15 -#: f1226fdfac3b4e9d88642ffa69d75682 +#: ../../getting_started/install/llm/llm.rst:16 +#: ee1469545a314696a36e7296c7b71960 msgid "guanaco(7b,13b,33b)" msgstr "guanaco(7b,13b,33b)" -#: ../../getting_started/install/llm/llm.rst:16 -#: 3f2457f56eb341b6bc431c9beca8f4df +#: ../../getting_started/install/llm/llm.rst:17 +#: 25abad241f4d4eee970d5938bf71311f msgid "Gorilla(7b,13b)" msgstr "Gorilla(7b,13b)" -#: ../../getting_started/install/llm/llm.rst:17 -#: 86c8ce37be1c4a7ea3fc382100d77a9c +#: ../../getting_started/install/llm/llm.rst:18 +#: 8e3d0399431a4c6a9065a8ae0ad3c8ac msgid "Baichuan(7b,13b)" msgstr "Baichuan(7b,13b)" -#: ../../getting_started/install/llm/llm.rst:18 -#: 538111af95ad414cb2e631a89f9af379 +#: ../../getting_started/install/llm/llm.rst:19 +#: c285fa7c9c6c4e3e9840761a09955348 msgid "OpenAI" msgstr "OpenAI" -#: ../../getting_started/install/llm/llm.rst:20 -#: a203325b7ec248f7bff61ae89226a000 +#: ../../getting_started/install/llm/llm.rst:21 +#: 4ac13a21f323455982750bd2e0243b72 msgid "llama_cpp" msgstr "llama_cpp" -#: ../../getting_started/install/llm/llm.rst:21 -#: 21a50634198047228bc51a03d2c31292 +#: ../../getting_started/install/llm/llm.rst:22 +#: 7231edceef584724a6f569c6b363e083 msgid "quantization" msgstr "quantization" -#: ../../getting_started/install/llm/llm.rst:22 -#: dfaec4b04e6e45ff9c884b41534b1a79 -msgid "cluster deployment" -msgstr "" +#~ msgid "cluster deployment" +#~ msgstr "" diff --git a/docs/requirements.txt b/docs/requirements.txt index 1b7f62282..7d712119a 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,4 @@ -autodoc_pydantic==1.8.0 +autodoc_pydantic myst_parser nbsphinx==0.8.9 sphinx==4.5.0 diff --git a/pilot/componet.py b/pilot/componet.py new file mode 100644 index 000000000..705eb1193 --- /dev/null +++ b/pilot/componet.py @@ -0,0 +1,143 @@ +from __future__ import annotations + +from abc import ABC, abstractmethod +from typing import Type, Dict, TypeVar, Optional, TYPE_CHECKING +import asyncio + +# Checking for type hints during runtime +if TYPE_CHECKING: + from fastapi import FastAPI + + +class LifeCycle: + """This class defines hooks for lifecycle events of a component.""" + + def before_start(self): + """Called before the component starts.""" + pass + + async def async_before_start(self): + """Asynchronous version of before_start.""" + pass + + def after_start(self): + """Called after the component has started.""" + pass + + async def async_after_start(self): + """Asynchronous version of after_start.""" + pass + + def before_stop(self): + """Called before the component stops.""" + pass + + async def async_before_stop(self): + """Asynchronous version of before_stop.""" + pass + + +class BaseComponet(LifeCycle, ABC): + """Abstract Base Component class. All custom components should extend this.""" + + name = "base_dbgpt_componet" + + def __init__(self, system_app: Optional[SystemApp] = None): + if system_app is not None: + self.init_app(system_app) + + @abstractmethod + def init_app(self, system_app: SystemApp): + """Initialize the component with the main application. + + This method needs to be implemented by every component to define how it integrates + with the main system app. + """ + pass + + +T = TypeVar("T", bound=BaseComponet) + + +class SystemApp(LifeCycle): + """Main System Application class that manages the lifecycle and registration of components.""" + + def __init__(self, asgi_app: Optional["FastAPI"] = None) -> None: + self.componets: Dict[ + str, BaseComponet + ] = {} # Dictionary to store registered components. + self._asgi_app = asgi_app + + @property + def app(self) -> Optional["FastAPI"]: + """Returns the internal ASGI app.""" + return self._asgi_app + + def register(self, componet: Type[BaseComponet], *args, **kwargs): + """Register a new component by its type.""" + instance = componet(self, *args, **kwargs) + self.register_instance(instance) + + def register_instance(self, instance: T): + """Register an already initialized component.""" + self.componets[instance.name] = instance + instance.init_app(self) + + def get_componet(self, name: str, componet_type: Type[T]) -> T: + """Retrieve a registered component by its name and type.""" + component = self.componets.get(name) + if not component: + raise ValueError(f"No component found with name {name}") + if not isinstance(component, componet_type): + raise TypeError(f"Component {name} is not of type {componet_type}") + return component + + def before_start(self): + """Invoke the before_start hooks for all registered components.""" + for _, v in self.componets.items(): + v.before_start() + + async def async_before_start(self): + """Asynchronously invoke the before_start hooks for all registered components.""" + tasks = [v.async_before_start() for _, v in self.componets.items()] + await asyncio.gather(*tasks) + + def after_start(self): + """Invoke the after_start hooks for all registered components.""" + for _, v in self.componets.items(): + v.after_start() + + async def async_after_start(self): + """Asynchronously invoke the after_start hooks for all registered components.""" + tasks = [v.async_after_start() for _, v in self.componets.items()] + await asyncio.gather(*tasks) + + def before_stop(self): + """Invoke the before_stop hooks for all registered components.""" + for _, v in self.componets.items(): + try: + v.before_stop() + except Exception as e: + pass + + async def async_before_stop(self): + """Asynchronously invoke the before_stop hooks for all registered components.""" + tasks = [v.async_before_stop() for _, v in self.componets.items()] + await asyncio.gather(*tasks) + + def _build(self): + """Integrate lifecycle events with the internal ASGI app if available.""" + if not self.app: + return + + @self.app.on_event("startup") + async def startup_event(): + """ASGI app startup event handler.""" + asyncio.create_task(self.async_after_start()) + self.after_start() + + @self.app.on_event("shutdown") + async def shutdown_event(): + """ASGI app shutdown event handler.""" + await self.async_before_stop() + self.before_stop() diff --git a/pilot/configs/config.py b/pilot/configs/config.py index 8bfaed757..0276c2a17 100644 --- a/pilot/configs/config.py +++ b/pilot/configs/config.py @@ -189,6 +189,10 @@ def __init__(self) -> None: ### Log level self.DBGPT_LOG_LEVEL = os.getenv("DBGPT_LOG_LEVEL", "INFO") + from pilot.componet import SystemApp + + self.SYSTEM_APP: SystemApp = None + def set_debug_mode(self, value: bool) -> None: """Set the debug mode value""" self.debug_mode = value diff --git a/pilot/connections/manages/connection_manager.py b/pilot/connections/manages/connection_manager.py index a933205c2..b5cfbbfdd 100644 --- a/pilot/connections/manages/connection_manager.py +++ b/pilot/connections/manages/connection_manager.py @@ -4,6 +4,7 @@ from pilot.configs.config import Config from pilot.connections.manages.connect_storage_duckdb import DuckdbConnectConfig from pilot.common.schema import DBType +from pilot.componet import SystemApp from pilot.connections.rdbms.conn_mysql import MySQLConnect from pilot.connections.base import BaseConnect @@ -46,9 +47,9 @@ def get_cls_by_dbtype(self, db_type): raise ValueError("Unsupport Db Type!" + db_type) return result - def __init__(self): + def __init__(self, system_app: SystemApp): self.storage = DuckdbConnectConfig() - self.db_summary_client = DBSummaryClient() + self.db_summary_client = DBSummaryClient(system_app) self.__load_config_db() def __load_config_db(self): diff --git a/pilot/connections/rdbms/tests/mange_t.py b/pilot/connections/rdbms/tests/mange_t.py index 5140341d6..282bb8042 100644 --- a/pilot/connections/rdbms/tests/mange_t.py +++ b/pilot/connections/rdbms/tests/mange_t.py @@ -2,6 +2,6 @@ from pilot.connections.manages.connection_manager import ConnectManager if __name__ == "__main__": - mange = ConnectManager() + mange = ConnectManager(system_app=None) types = mange.get_all_completed_types() print(str(types)) diff --git a/pilot/embedding_engine/embedding_engine.py b/pilot/embedding_engine/embedding_engine.py index f3b09ae5d..27f94eeee 100644 --- a/pilot/embedding_engine/embedding_engine.py +++ b/pilot/embedding_engine/embedding_engine.py @@ -1,9 +1,12 @@ from typing import Optional from chromadb.errors import NotEnoughElementsException -from langchain.embeddings import HuggingFaceEmbeddings from langchain.text_splitter import TextSplitter +from pilot.embedding_engine.embedding_factory import ( + EmbeddingFactory, + DefaultEmbeddingFactory, +) from pilot.embedding_engine.knowledge_type import get_knowledge_embedding, KnowledgeType from pilot.vector_store.connector import VectorStoreConnector @@ -24,13 +27,16 @@ def __init__( knowledge_source: Optional[str] = None, source_reader: Optional = None, text_splitter: Optional[TextSplitter] = None, + embedding_factory: EmbeddingFactory = None, ): """Initialize with knowledge embedding client, model_name, vector_store_config, knowledge_type, knowledge_source""" self.knowledge_source = knowledge_source self.model_name = model_name self.vector_store_config = vector_store_config self.knowledge_type = knowledge_type - self.embeddings = HuggingFaceEmbeddings(model_name=self.model_name) + if not embedding_factory: + embedding_factory = DefaultEmbeddingFactory() + self.embeddings = embedding_factory.create(model_name=self.model_name) self.vector_store_config["embeddings"] = self.embeddings self.source_reader = source_reader self.text_splitter = text_splitter diff --git a/pilot/embedding_engine/embedding_factory.py b/pilot/embedding_engine/embedding_factory.py new file mode 100644 index 000000000..e7345d952 --- /dev/null +++ b/pilot/embedding_engine/embedding_factory.py @@ -0,0 +1,39 @@ +from abc import ABC, abstractmethod +from typing import Any, Type, TYPE_CHECKING + +from pilot.componet import BaseComponet + +if TYPE_CHECKING: + from langchain.embeddings.base import Embeddings + + +class EmbeddingFactory(BaseComponet, ABC): + name = "embedding_factory" + + @abstractmethod + def create( + self, model_name: str = None, embedding_cls: Type = None + ) -> "Embeddings": + """Create embedding""" + + +class DefaultEmbeddingFactory(EmbeddingFactory): + def __init__(self, system_app=None, model_name: str = None, **kwargs: Any) -> None: + super().__init__(system_app=system_app) + self._default_model_name = model_name + self.kwargs = kwargs + + def init_app(self, system_app): + pass + + def create( + self, model_name: str = None, embedding_cls: Type = None + ) -> "Embeddings": + if not model_name: + model_name = self._default_model_name + if embedding_cls: + return embedding_cls(model_name=model_name, **self.kwargs) + else: + from langchain.embeddings import HuggingFaceEmbeddings + + return HuggingFaceEmbeddings(model_name=model_name, **self.kwargs) diff --git a/pilot/model/adapter.py b/pilot/model/adapter.py index 5d3acf505..0b93faa40 100644 --- a/pilot/model/adapter.py +++ b/pilot/model/adapter.py @@ -96,13 +96,18 @@ def get_llm_model_adapter(model_name: str, model_path: str) -> BaseLLMAdaper: def _dynamic_model_parser() -> Callable[[None], List[Type]]: from pilot.utils.parameter_utils import _SimpleArgParser + from pilot.model.parameter import EmbeddingModelParameters, WorkerType - pre_args = _SimpleArgParser("model_name", "model_path") + pre_args = _SimpleArgParser("model_name", "model_path", "worker_type") pre_args.parse() model_name = pre_args.get("model_name") model_path = pre_args.get("model_path") + worker_type = pre_args.get("worker_type") if model_name is None: return None + if worker_type == WorkerType.TEXT2VEC: + return [EmbeddingModelParameters] + llm_adapter = get_llm_model_adapter(model_name, model_path) param_class = llm_adapter.model_param_class() return [param_class] diff --git a/pilot/model/cli.py b/pilot/model/cli.py index 2406f6920..3e94c7045 100644 --- a/pilot/model/cli.py +++ b/pilot/model/cli.py @@ -167,7 +167,6 @@ def stop(model_name: str, model_type: str, host: str, port: int): def _remote_model_dynamic_factory() -> Callable[[None], List[Type]]: - from pilot.model.adapter import _dynamic_model_parser from pilot.utils.parameter_utils import _SimpleArgParser from pilot.model.cluster import RemoteWorkerManager from pilot.model.parameter import WorkerType diff --git a/pilot/model/cluster/__init__.py b/pilot/model/cluster/__init__.py index b518a756b..b73fd7873 100644 --- a/pilot/model/cluster/__init__.py +++ b/pilot/model/cluster/__init__.py @@ -5,6 +5,9 @@ WorkerParameterRequest, WorkerStartupRequest, ) +from pilot.model.cluster.worker_base import ModelWorker +from pilot.model.cluster.worker.default_worker import DefaultModelWorker + from pilot.model.cluster.worker.manager import ( initialize_worker_manager_in_client, run_worker_manager, @@ -23,11 +26,15 @@ "EmbeddingsRequest", "PromptRequest", "WorkerApplyRequest", - "WorkerParameterRequest" - "WorkerStartupRequest" - "worker_manager" + "WorkerParameterRequest", + "WorkerStartupRequest", + "ModelWorker", + "DefaultModelWorker", + "worker_manager", "run_worker_manager", "initialize_worker_manager_in_client", "ModelRegistry", - "ModelRegistryClient" "RemoteWorkerManager" "run_model_controller", + "ModelRegistryClient", + "RemoteWorkerManager", + "run_model_controller", ] diff --git a/pilot/model/cluster/controller/controller.py b/pilot/model/cluster/controller/controller.py index d48e1362f..e1d55eab7 100644 --- a/pilot/model/cluster/controller/controller.py +++ b/pilot/model/cluster/controller/controller.py @@ -8,7 +8,10 @@ from pilot.model.parameter import ModelControllerParameters from pilot.model.cluster.registry import EmbeddedModelRegistry, ModelRegistry from pilot.utils.parameter_utils import EnvArgumentParser -from pilot.utils.api_utils import _api_remote as api_remote +from pilot.utils.api_utils import ( + _api_remote as api_remote, + _sync_api_remote as sync_api_remote, +) class BaseModelController(ABC): @@ -89,6 +92,12 @@ class ModelRegistryClient(_RemoteModelController, ModelRegistry): async def get_all_model_instances(self) -> List[ModelInstance]: return await self.get_all_instances() + @sync_api_remote(path="/api/controller/models") + def sync_get_all_instances( + self, model_name: str, healthy_only: bool = False + ) -> List[ModelInstance]: + pass + class ModelControllerAdapter(BaseModelController): def __init__(self, backend: BaseModelController = None) -> None: diff --git a/pilot/model/cluster/embedding/__init__.py b/pilot/model/cluster/embedding/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pilot/model/cluster/embedding/remote_embedding.py b/pilot/model/cluster/embedding/remote_embedding.py new file mode 100644 index 000000000..98fb8af16 --- /dev/null +++ b/pilot/model/cluster/embedding/remote_embedding.py @@ -0,0 +1,28 @@ +from typing import List +from langchain.embeddings.base import Embeddings + +from pilot.model.cluster.manager_base import WorkerManager + + +class RemoteEmbeddings(Embeddings): + def __init__(self, model_name: str, worker_manager: WorkerManager) -> None: + self.model_name = model_name + self.worker_manager = worker_manager + + def embed_documents(self, texts: List[str]) -> List[List[float]]: + """Embed search docs.""" + params = {"model": self.model_name, "input": texts} + return self.worker_manager.sync_embeddings(params) + + def embed_query(self, text: str) -> List[float]: + """Embed query text.""" + return self.embed_documents([text])[0] + + async def aembed_documents(self, texts: List[str]) -> List[List[float]]: + """Asynchronous Embed search docs.""" + params = {"model": self.model_name, "input": texts} + return await self.worker_manager.embeddings(params) + + async def aembed_query(self, text: str) -> List[float]: + """Asynchronous Embed query text.""" + return await self.aembed_documents([text])[0] diff --git a/pilot/model/cluster/manager_base.py b/pilot/model/cluster/manager_base.py index 4f3fd27e3..d66991cae 100644 --- a/pilot/model/cluster/manager_base.py +++ b/pilot/model/cluster/manager_base.py @@ -1,6 +1,6 @@ import asyncio from dataclasses import dataclass -from typing import List, Optional, Dict, Iterator +from typing import List, Optional, Dict, Iterator, Callable from abc import ABC, abstractmethod from datetime import datetime from concurrent.futures import Future @@ -35,15 +35,31 @@ async def start(self): async def stop(self): """Stop worker manager""" + @abstractmethod + def after_start(self, listener: Callable[["WorkerManager"], None]): + """Add a listener after WorkerManager startup""" + @abstractmethod async def get_model_instances( self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> List[WorkerRunData]: + """Asynchronous get model instances by worker type and model name""" + + @abstractmethod + def sync_get_model_instances( + self, worker_type: str, model_name: str, healthy_only: bool = True ) -> List[WorkerRunData]: """Get model instances by worker type and model name""" @abstractmethod async def select_one_instance( self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> WorkerRunData: + """Asynchronous select one instance""" + + @abstractmethod + def sync_select_one_instance( + self, worker_type: str, model_name: str, healthy_only: bool = True ) -> WorkerRunData: """Select one instance""" @@ -69,7 +85,15 @@ async def generate(self, params: Dict) -> ModelOutput: @abstractmethod async def embeddings(self, params: Dict) -> List[List[float]]: - """Embed input""" + """Asynchronous embed input""" + + @abstractmethod + def sync_embeddings(self, params: Dict) -> List[List[float]]: + """Embed input + + This function may be passed to a third-party system call for synchronous calls. + We must provide a synchronous version. + """ @abstractmethod async def worker_apply(self, apply_req: WorkerApplyRequest) -> WorkerApplyOutput: diff --git a/pilot/model/cluster/registry.py b/pilot/model/cluster/registry.py index e5e9b0618..398882eb9 100644 --- a/pilot/model/cluster/registry.py +++ b/pilot/model/cluster/registry.py @@ -58,6 +58,12 @@ async def get_all_instances( - List[ModelInstance]: A list of instances for the given model. """ + @abstractmethod + def sync_get_all_instances( + self, model_name: str, healthy_only: bool = False + ) -> List[ModelInstance]: + """Fetch all instances of a given model. Optionally, fetch only the healthy instances.""" + @abstractmethod async def get_all_model_instances(self) -> List[ModelInstance]: """ @@ -163,6 +169,11 @@ async def deregister_instance(self, instance: ModelInstance) -> bool: async def get_all_instances( self, model_name: str, healthy_only: bool = False + ) -> List[ModelInstance]: + return self.sync_get_all_instances(model_name, healthy_only) + + def sync_get_all_instances( + self, model_name: str, healthy_only: bool = False ) -> List[ModelInstance]: instances = self.registry[model_name] if healthy_only: @@ -179,7 +190,7 @@ async def send_heartbeat(self, instance: ModelInstance) -> bool: ) if not exist_ins: # register new install from heartbeat - self.register_instance(instance) + await self.register_instance(instance) return True ins = exist_ins[0] diff --git a/pilot/model/cluster/worker/embedding_worker.py b/pilot/model/cluster/worker/embedding_worker.py index a8824f228..80f06b145 100644 --- a/pilot/model/cluster/worker/embedding_worker.py +++ b/pilot/model/cluster/worker/embedding_worker.py @@ -24,7 +24,7 @@ def __init__(self) -> None: "Could not import langchain.embeddings.HuggingFaceEmbeddings python package. " "Please install it with `pip install langchain`." ) from exc - self.embeddings: Embeddings = None + self._embeddings_impl: Embeddings = None self._model_params = None def load_worker(self, model_name: str, model_path: str, **kwargs) -> None: @@ -75,16 +75,16 @@ def start( kwargs = model_params.build_kwargs(model_name=model_params.model_path) logger.info(f"Start HuggingFaceEmbeddings with kwargs: {kwargs}") - self.embeddings = HuggingFaceEmbeddings(**kwargs) + self._embeddings_impl = HuggingFaceEmbeddings(**kwargs) def __del__(self): self.stop() def stop(self) -> None: - if not self.embeddings: + if not self._embeddings_impl: return - del self.embeddings - self.embeddings = None + del self._embeddings_impl + self._embeddings_impl = None _clear_torch_cache(self._model_params.device) def generate_stream(self, params: Dict): @@ -96,5 +96,7 @@ def generate(self, params: Dict): raise NotImplementedError("Not supported generate for embeddings model") def embeddings(self, params: Dict) -> List[List[float]]: + model = params.get("model") + logger.info(f"Receive embeddings request, model: {model}") input: List[str] = params["input"] - return self.embeddings.embed_documents(input) + return self._embeddings_impl.embed_documents(input) diff --git a/pilot/model/cluster/worker/manager.py b/pilot/model/cluster/worker/manager.py index 7e4852527..93f2a373a 100644 --- a/pilot/model/cluster/worker/manager.py +++ b/pilot/model/cluster/worker/manager.py @@ -72,6 +72,7 @@ def __init__( self.model_registry = model_registry self.host = host self.port = port + self.start_listeners = [] self.run_data = WorkerRunData( host=self.host, @@ -105,6 +106,8 @@ async def start(self): asyncio.create_task( _async_heartbeat_sender(self.run_data, 20, self.send_heartbeat_func) ) + for listener in self.start_listeners: + listener(self) async def stop(self): if not self.run_data.stop_event.is_set(): @@ -116,6 +119,9 @@ async def stop(self): stop_tasks.append(self.deregister_func(self.run_data)) await asyncio.gather(*stop_tasks) + def after_start(self, listener: Callable[["WorkerManager"], None]): + self.start_listeners.append(listener) + def add_worker( self, worker: ModelWorker, @@ -137,14 +143,7 @@ def add_worker( worker_key = self._worker_key( worker_params.worker_type, worker_params.model_name ) - host = worker_params.host - port = worker_params.port - instances = self.workers.get(worker_key) - if not instances: - instances = [] - self.workers[worker_key] = instances - logger.info(f"Init empty instances list for {worker_key}") # Load model params from persist storage model_params = worker.parse_parameters(command_args=command_args) @@ -159,14 +158,15 @@ def add_worker( semaphore=asyncio.Semaphore(worker_params.limit_model_concurrency), command_args=command_args, ) - exist_instances = [ - ins for ins in instances if ins.host == host and ins.port == port - ] - if not exist_instances: - instances.append(worker_run_data) + instances = self.workers.get(worker_key) + if not instances: + instances = [worker_run_data] + self.workers[worker_key] = instances + logger.info(f"Init empty instances list for {worker_key}") return True else: # TODO Update worker + logger.warn(f"Instance {worker_key} exist") return False async def model_startup(self, startup_req: WorkerStartupRequest) -> bool: @@ -222,16 +222,18 @@ async def supported_models(self) -> List[WorkerSupportedModel]: async def get_model_instances( self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> List[WorkerRunData]: + return self.sync_get_model_instances(worker_type, model_name, healthy_only) + + def sync_get_model_instances( + self, worker_type: str, model_name: str, healthy_only: bool = True ) -> List[WorkerRunData]: worker_key = self._worker_key(worker_type, model_name) return self.workers.get(worker_key) - async def select_one_instance( - self, worker_type: str, model_name: str, healthy_only: bool = True + def _simple_select( + self, worker_type: str, model_name: str, worker_instances: List[WorkerRunData] ) -> WorkerRunData: - worker_instances = await self.get_model_instances( - worker_type, model_name, healthy_only - ) if not worker_instances: raise Exception( f"Cound not found worker instances for model name {model_name} and worker type {worker_type}" @@ -239,12 +241,34 @@ async def select_one_instance( worker_run_data = random.choice(worker_instances) return worker_run_data + async def select_one_instance( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> WorkerRunData: + worker_instances = await self.get_model_instances( + worker_type, model_name, healthy_only + ) + return self._simple_select(worker_type, model_name, worker_instances) + + def sync_select_one_instance( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> WorkerRunData: + worker_instances = self.sync_get_model_instances( + worker_type, model_name, healthy_only + ) + return self._simple_select(worker_type, model_name, worker_instances) + async def _get_model(self, params: Dict, worker_type: str = "llm") -> WorkerRunData: model = params.get("model") if not model: raise Exception("Model name count not be empty") return await self.select_one_instance(worker_type, model, healthy_only=True) + def _sync_get_model(self, params: Dict, worker_type: str = "llm") -> WorkerRunData: + model = params.get("model") + if not model: + raise Exception("Model name count not be empty") + return self.sync_select_one_instance(worker_type, model, healthy_only=True) + async def generate_stream( self, params: Dict, async_wrapper=None, **kwargs ) -> Iterator[ModelOutput]: @@ -304,6 +328,10 @@ async def embeddings(self, params: Dict) -> List[List[float]]: worker_run_data.worker.embeddings, params ) + def sync_embeddings(self, params: Dict) -> List[List[float]]: + worker_run_data = self._sync_get_model(params, worker_type="text2vec") + return worker_run_data.worker.embeddings(params) + async def worker_apply(self, apply_req: WorkerApplyRequest) -> WorkerApplyOutput: apply_func: Callable[[WorkerApplyRequest], Awaitable[str]] = None if apply_req.apply_type == WorkerApplyType.START: @@ -458,6 +486,10 @@ async def start(self): async def stop(self): return await self.worker_manager.stop() + def after_start(self, listener: Callable[["WorkerManager"], None]): + if listener is not None: + self.worker_manager.after_start(listener) + async def supported_models(self) -> List[WorkerSupportedModel]: return await self.worker_manager.supported_models() @@ -474,6 +506,13 @@ async def get_model_instances( worker_type, model_name, healthy_only ) + def sync_get_model_instances( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> List[WorkerRunData]: + return self.worker_manager.sync_get_model_instances( + worker_type, model_name, healthy_only + ) + async def select_one_instance( self, worker_type: str, model_name: str, healthy_only: bool = True ) -> WorkerRunData: @@ -481,6 +520,13 @@ async def select_one_instance( worker_type, model_name, healthy_only ) + def sync_select_one_instance( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> WorkerRunData: + return self.worker_manager.sync_select_one_instance( + worker_type, model_name, healthy_only + ) + async def generate_stream(self, params: Dict, **kwargs) -> Iterator[ModelOutput]: async for output in self.worker_manager.generate_stream(params, **kwargs): yield output @@ -491,6 +537,9 @@ async def generate(self, params: Dict) -> ModelOutput: async def embeddings(self, params: Dict) -> List[List[float]]: return await self.worker_manager.embeddings(params) + def sync_embeddings(self, params: Dict) -> List[List[float]]: + return self.worker_manager.sync_embeddings(params) + async def worker_apply(self, apply_req: WorkerApplyRequest) -> WorkerApplyOutput: return await self.worker_manager.worker_apply(apply_req) @@ -586,11 +635,11 @@ def _setup_fastapi(worker_params: ModelWorkerParameters, app=None): @app.on_event("startup") async def startup_event(): - asyncio.create_task(worker_manager.worker_manager.start()) + asyncio.create_task(worker_manager.start()) @app.on_event("shutdown") async def startup_event(): - await worker_manager.worker_manager.stop() + await worker_manager.stop() return app @@ -666,29 +715,60 @@ async def send_heartbeat_func(worker_run_data: WorkerRunData): def _build_worker(worker_params: ModelWorkerParameters): - if worker_params.worker_class: + worker_class = worker_params.worker_class + if worker_class: from pilot.utils.module_utils import import_from_checked_string - worker_cls = import_from_checked_string(worker_params.worker_class, ModelWorker) - logger.info( - f"Import worker class from {worker_params.worker_class} successfully" - ) - worker: ModelWorker = worker_cls() + worker_cls = import_from_checked_string(worker_class, ModelWorker) + logger.info(f"Import worker class from {worker_class} successfully") else: - from pilot.model.cluster.worker.default_worker import DefaultModelWorker + if ( + worker_params.worker_type is None + or worker_params.worker_type == WorkerType.LLM + ): + from pilot.model.cluster.worker.default_worker import DefaultModelWorker + + worker_cls = DefaultModelWorker + elif worker_params.worker_type == WorkerType.TEXT2VEC: + from pilot.model.cluster.worker.embedding_worker import ( + EmbeddingsModelWorker, + ) - worker = DefaultModelWorker() - return worker + worker_cls = EmbeddingsModelWorker + else: + raise Exception("Unsupported worker type: {worker_params.worker_type}") + + return worker_cls() def _start_local_worker( worker_manager: WorkerManagerAdapter, worker_params: ModelWorkerParameters ): worker = _build_worker(worker_params) - worker_manager.worker_manager = _create_local_model_manager(worker_params) + if not worker_manager.worker_manager: + worker_manager.worker_manager = _create_local_model_manager(worker_params) worker_manager.worker_manager.add_worker(worker, worker_params) +def _start_local_embedding_worker( + worker_manager: WorkerManagerAdapter, + embedding_model_name: str = None, + embedding_model_path: str = None, +): + if not embedding_model_name or not embedding_model_path: + return + embedding_worker_params = ModelWorkerParameters( + model_name=embedding_model_name, + model_path=embedding_model_path, + worker_type=WorkerType.TEXT2VEC, + worker_class="pilot.model.cluster.worker.embedding_worker.EmbeddingsModelWorker", + ) + logger.info( + f"Start local embedding worker with embedding parameters\n{embedding_worker_params}" + ) + _start_local_worker(worker_manager, embedding_worker_params) + + def initialize_worker_manager_in_client( app=None, include_router: bool = True, @@ -697,6 +777,9 @@ def initialize_worker_manager_in_client( run_locally: bool = True, controller_addr: str = None, local_port: int = 5000, + embedding_model_name: str = None, + embedding_model_path: str = None, + start_listener: Callable[["WorkerManager"], None] = None, ): """Initialize WorkerManager in client. If run_locally is True: @@ -728,6 +811,10 @@ def initialize_worker_manager_in_client( logger.info(f"Worker params: {worker_params}") _setup_fastapi(worker_params, app) _start_local_worker(worker_manager, worker_params) + worker_manager.after_start(start_listener) + _start_local_embedding_worker( + worker_manager, embedding_model_name, embedding_model_path + ) else: from pilot.model.cluster.controller.controller import ( ModelRegistryClient, @@ -741,9 +828,12 @@ def initialize_worker_manager_in_client( logger.info(f"Worker params: {worker_params}") client = ModelRegistryClient(worker_params.controller_addr) worker_manager.worker_manager = RemoteWorkerManager(client) + worker_manager.after_start(start_listener) initialize_controller( app=app, remote_controller_addr=worker_params.controller_addr ) + loop = asyncio.get_event_loop() + loop.run_until_complete(worker_manager.start()) if include_router and app: # mount WorkerManager router @@ -757,6 +847,8 @@ def run_worker_manager( model_path: str = None, standalone: bool = False, port: int = None, + embedding_model_name: str = None, + embedding_model_path: str = None, ): global worker_manager @@ -765,15 +857,22 @@ def run_worker_manager( ) embedded_mod = True + logger.info(f"Worker params: {worker_params}") if not app: # Run worker manager independently embedded_mod = False app = _setup_fastapi(worker_params) _start_local_worker(worker_manager, worker_params) + _start_local_embedding_worker( + worker_manager, embedding_model_name, embedding_model_path + ) else: _start_local_worker(worker_manager, worker_params) + _start_local_embedding_worker( + worker_manager, embedding_model_name, embedding_model_path + ) loop = asyncio.get_event_loop() - loop.run_until_complete(worker_manager.worker_manager.start()) + loop.run_until_complete(worker_manager.start()) if include_router: app.include_router(router, prefix="/api") diff --git a/pilot/model/cluster/worker/remote_manager.py b/pilot/model/cluster/worker/remote_manager.py index afdf10774..7f9de4d62 100644 --- a/pilot/model/cluster/worker/remote_manager.py +++ b/pilot/model/cluster/worker/remote_manager.py @@ -1,14 +1,12 @@ -from typing import Callable, Any -import httpx import asyncio +from typing import Any, Callable + +import httpx +from pilot.model.base import ModelInstance, WorkerApplyOutput, WorkerSupportedModel +from pilot.model.cluster.base import * from pilot.model.cluster.registry import ModelRegistry from pilot.model.cluster.worker.manager import LocalWorkerManager, WorkerRunData, logger -from pilot.model.cluster.base import * -from pilot.model.base import ( - ModelInstance, - WorkerApplyOutput, - WorkerSupportedModel, -) +from pilot.model.cluster.worker.remote_worker import RemoteModelWorker class RemoteWorkerManager(LocalWorkerManager): @@ -16,7 +14,8 @@ def __init__(self, model_registry: ModelRegistry = None) -> None: super().__init__(model_registry=model_registry) async def start(self): - pass + for listener in self.start_listeners: + listener(self) async def stop(self): pass @@ -125,15 +124,9 @@ async def model_shutdown(self, shutdown_req: WorkerStartupRequest) -> bool: success_handler=lambda x: True, ) - async def get_model_instances( - self, worker_type: str, model_name: str, healthy_only: bool = True + def _build_worker_instances( + self, model_name: str, instances: List[ModelInstance] ) -> List[WorkerRunData]: - from pilot.model.cluster.worker.remote_worker import RemoteModelWorker - - worker_key = self._worker_key(worker_type, model_name) - instances: List[ModelInstance] = await self.model_registry.get_all_instances( - worker_key, healthy_only - ) worker_instances = [] for ins in instances: worker = RemoteModelWorker() @@ -151,6 +144,24 @@ async def get_model_instances( worker_instances.append(wr) return worker_instances + async def get_model_instances( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> List[WorkerRunData]: + worker_key = self._worker_key(worker_type, model_name) + instances: List[ModelInstance] = await self.model_registry.get_all_instances( + worker_key, healthy_only + ) + return self._build_worker_instances(model_name, instances) + + def sync_get_model_instances( + self, worker_type: str, model_name: str, healthy_only: bool = True + ) -> List[WorkerRunData]: + worker_key = self._worker_key(worker_type, model_name) + instances: List[ModelInstance] = self.model_registry.sync_get_all_instances( + worker_key, healthy_only + ) + return self._build_worker_instances(model_name, instances) + async def worker_apply(self, apply_req: WorkerApplyRequest) -> WorkerApplyOutput: async def _remote_apply_func(worker_run_data: WorkerRunData): return await self._fetch_from_worker( diff --git a/pilot/model/cluster/worker/remote_worker.py b/pilot/model/cluster/worker/remote_worker.py index b123f1aa7..a0c306bbf 100644 --- a/pilot/model/cluster/worker/remote_worker.py +++ b/pilot/model/cluster/worker/remote_worker.py @@ -87,7 +87,15 @@ async def async_generate(self, params: Dict) -> ModelOutput: def embeddings(self, params: Dict) -> List[List[float]]: """Get embeddings for input""" - raise NotImplementedError + import requests + + response = requests.post( + self.worker_addr + "/embeddings", + headers=self.headers, + json=params, + timeout=self.timeout, + ) + return response.json() async def async_embeddings(self, params: Dict) -> List[List[float]]: """Asynchronous get embeddings for input""" diff --git a/pilot/model/parameter.py b/pilot/model/parameter.py index f8bc91a7c..400ba0396 100644 --- a/pilot/model/parameter.py +++ b/pilot/model/parameter.py @@ -46,9 +46,7 @@ class ModelWorkerParameters(BaseModelParameters): ) worker_class: Optional[str] = field( default=None, - metadata={ - "help": "Model worker class, pilot.model.worker.default_worker.DefaultModelWorker" - }, + metadata={"help": "Model worker class, pilot.model.cluster.DefaultModelWorker"}, ) host: Optional[str] = field( default="0.0.0.0", metadata={"help": "Model worker deploy host"} diff --git a/pilot/openapi/api_v1/api_v1.py b/pilot/openapi/api_v1/api_v1.py index fdbfcf2b1..f45a6af95 100644 --- a/pilot/openapi/api_v1/api_v1.py +++ b/pilot/openapi/api_v1/api_v1.py @@ -111,7 +111,7 @@ async def db_connect_delete(db_name: str = None): async def async_db_summary_embedding(db_name, db_type): # 在这里执行需要异步运行的代码 - db_summary_client = DBSummaryClient() + db_summary_client = DBSummaryClient(system_app=CFG.SYSTEM_APP) db_summary_client.db_summary_embedding(db_name, db_type) diff --git a/pilot/scene/chat_dashboard/chat.py b/pilot/scene/chat_dashboard/chat.py index a40ae768f..1aeca8406 100644 --- a/pilot/scene/chat_dashboard/chat.py +++ b/pilot/scene/chat_dashboard/chat.py @@ -61,7 +61,7 @@ def generate_input_values(self): except ImportError: raise ValueError("Could not import DBSummaryClient. ") - client = DBSummaryClient() + client = DBSummaryClient(system_app=CFG.SYSTEM_APP) try: table_infos = client.get_similar_tables( dbname=self.db_name, query=self.current_user_input, topk=self.top_k diff --git a/pilot/scene/chat_db/auto_execute/chat.py b/pilot/scene/chat_db/auto_execute/chat.py index 785881746..689222c0a 100644 --- a/pilot/scene/chat_db/auto_execute/chat.py +++ b/pilot/scene/chat_db/auto_execute/chat.py @@ -35,7 +35,7 @@ def generate_input_values(self): from pilot.summary.db_summary_client import DBSummaryClient except ImportError: raise ValueError("Could not import DBSummaryClient. ") - client = DBSummaryClient() + client = DBSummaryClient(system_app=CFG.SYSTEM_APP) try: table_infos = client.get_db_summary( dbname=self.db_name, diff --git a/pilot/scene/chat_db/professional_qa/chat.py b/pilot/scene/chat_db/professional_qa/chat.py index 1c246700c..374131bfe 100644 --- a/pilot/scene/chat_db/professional_qa/chat.py +++ b/pilot/scene/chat_db/professional_qa/chat.py @@ -41,7 +41,7 @@ def generate_input_values(self): except ImportError: raise ValueError("Could not import DBSummaryClient. ") if self.db_name: - client = DBSummaryClient() + client = DBSummaryClient(system_app=CFG.SYSTEM_APP) try: table_infos = client.get_db_summary( dbname=self.db_name, query=self.current_user_input, topk=self.top_k diff --git a/pilot/scene/chat_knowledge/v1/chat.py b/pilot/scene/chat_knowledge/v1/chat.py index 65402b4e3..c41345f1d 100644 --- a/pilot/scene/chat_knowledge/v1/chat.py +++ b/pilot/scene/chat_knowledge/v1/chat.py @@ -23,6 +23,7 @@ class ChatKnowledge(BaseChat): def __init__(self, chat_session_id, user_input, select_param: str = None): """ """ from pilot.embedding_engine.embedding_engine import EmbeddingEngine + from pilot.embedding_engine.embedding_factory import EmbeddingFactory self.knowledge_space = select_param super().__init__( @@ -47,9 +48,13 @@ def __init__(self, chat_session_id, user_input, select_param: str = None): "vector_store_type": CFG.VECTOR_STORE_TYPE, "chroma_persist_path": KNOWLEDGE_UPLOAD_ROOT_PATH, } + embedding_factory = CFG.SYSTEM_APP.get_componet( + "embedding_factory", EmbeddingFactory + ) self.knowledge_embedding_client = EmbeddingEngine( model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], vector_store_config=vector_store_config, + embedding_factory=embedding_factory, ) def generate_input_values(self): diff --git a/pilot/server/base.py b/pilot/server/base.py index 6b44e8472..59116e09c 100644 --- a/pilot/server/base.py +++ b/pilot/server/base.py @@ -2,10 +2,11 @@ import os import threading import sys -from typing import Optional +from typing import Optional, Any from dataclasses import dataclass, field from pilot.configs.config import Config +from pilot.componet import SystemApp from pilot.utils.parameter_utils import BaseParameters @@ -18,30 +19,28 @@ def signal_handler(sig, frame): os._exit(0) -def async_db_summery(): +def async_db_summery(system_app: SystemApp): from pilot.summary.db_summary_client import DBSummaryClient - client = DBSummaryClient() + client = DBSummaryClient(system_app=system_app) thread = threading.Thread(target=client.init_db_summary) thread.start() -def server_init(args): +def server_init(args, system_app: SystemApp): from pilot.commands.command_mange import CommandRegistry - from pilot.connections.manages.connection_manager import ConnectManager + from pilot.common.plugins import scan_plugins # logger.info(f"args: {args}") # init config cfg = Config() - # init connect manage - conn_manage = ConnectManager() - cfg.LOCAL_DB_MANAGE = conn_manage + cfg.SYSTEM_APP = system_app # load_native_plugins(cfg) signal.signal(signal.SIGINT, signal_handler) - async_db_summery() + cfg.set_plugins(scan_plugins(cfg, cfg.debug_mode)) # Loader plugins and commands @@ -70,6 +69,22 @@ def server_init(args): cfg.command_disply = command_disply_registry +def _create_model_start_listener(system_app: SystemApp): + from pilot.connections.manages.connection_manager import ConnectManager + from pilot.model.cluster import worker_manager + + cfg = Config() + + def startup_event(wh): + # init connect manage + print("begin run _add_app_startup_event") + conn_manage = ConnectManager(system_app) + cfg.LOCAL_DB_MANAGE = conn_manage + async_db_summery(system_app) + + return startup_event + + @dataclass class WebWerverParameters(BaseParameters): host: Optional[str] = field( diff --git a/pilot/server/componet_configs.py b/pilot/server/componet_configs.py new file mode 100644 index 000000000..745937068 --- /dev/null +++ b/pilot/server/componet_configs.py @@ -0,0 +1,38 @@ +from typing import Any, Type, TYPE_CHECKING + +from pilot.componet import SystemApp +from pilot.embedding_engine.embedding_factory import EmbeddingFactory + +if TYPE_CHECKING: + from langchain.embeddings.base import Embeddings + + +def initialize_componets(system_app: SystemApp, embedding_model_name: str): + from pilot.model.cluster import worker_manager + + system_app.register( + RemoteEmbeddingFactory, worker_manager, model_name=embedding_model_name + ) + + +class RemoteEmbeddingFactory(EmbeddingFactory): + def __init__( + self, system_app, worker_manager, model_name: str = None, **kwargs: Any + ) -> None: + super().__init__(system_app=system_app) + self._worker_manager = worker_manager + self._default_model_name = model_name + self.kwargs = kwargs + + def init_app(self, system_app): + pass + + def create( + self, model_name: str = None, embedding_cls: Type = None + ) -> "Embeddings": + from pilot.model.cluster.embedding.remote_embedding import RemoteEmbeddings + + if embedding_cls: + raise NotImplementedError + # Ignore model_name args + return RemoteEmbeddings(self._default_model_name, self._worker_manager) diff --git a/pilot/server/dbgpt_server.py b/pilot/server/dbgpt_server.py index 011b1146a..3019f067f 100644 --- a/pilot/server/dbgpt_server.py +++ b/pilot/server/dbgpt_server.py @@ -7,9 +7,15 @@ sys.path.append(ROOT_PATH) import signal from pilot.configs.config import Config -from pilot.configs.model_config import LLM_MODEL_CONFIG +from pilot.configs.model_config import LLM_MODEL_CONFIG, EMBEDDING_MODEL_CONFIG +from pilot.componet import SystemApp -from pilot.server.base import server_init, WebWerverParameters +from pilot.server.base import ( + server_init, + WebWerverParameters, + _create_model_start_listener, +) +from pilot.server.componet_configs import initialize_componets from fastapi.staticfiles import StaticFiles from fastapi import FastAPI, applications @@ -48,6 +54,8 @@ def swagger_monkey_patch(*args, **kwargs): applications.get_swagger_ui_html = swagger_monkey_patch app = FastAPI() +system_app = SystemApp(app) + origins = ["*"] # 添加跨域中间件 @@ -98,7 +106,12 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): param = WebWerverParameters(**vars(parser.parse_args(args=args))) setup_logging(logging_level=param.log_level) - server_init(param) + # Before start + system_app.before_start() + + server_init(param, system_app) + model_start_listener = _create_model_start_listener(system_app) + initialize_componets(system_app, CFG.EMBEDDING_MODEL) model_path = LLM_MODEL_CONFIG[CFG.LLM_MODEL] if not param.light: @@ -108,6 +121,9 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): model_name=CFG.LLM_MODEL, model_path=model_path, local_port=param.port, + embedding_model_name=CFG.EMBEDDING_MODEL, + embedding_model_path=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], + start_listener=model_start_listener, ) CFG.NEW_SERVER_MODE = True @@ -120,6 +136,7 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): run_locally=False, controller_addr=CFG.MODEL_SERVER, local_port=param.port, + start_listener=model_start_listener, ) CFG.SERVER_LIGHT_MODE = True diff --git a/pilot/server/knowledge/api.py b/pilot/server/knowledge/api.py index 5d9c7522b..f43333aa1 100644 --- a/pilot/server/knowledge/api.py +++ b/pilot/server/knowledge/api.py @@ -4,8 +4,6 @@ from fastapi import APIRouter, File, UploadFile, Form -from langchain.embeddings import HuggingFaceEmbeddings - from pilot.configs.config import Config from pilot.configs.model_config import ( EMBEDDING_MODEL_CONFIG, @@ -14,6 +12,7 @@ from pilot.openapi.api_view_model import Result from pilot.embedding_engine.embedding_engine import EmbeddingEngine +from pilot.embedding_engine.embedding_factory import EmbeddingFactory from pilot.server.knowledge.service import KnowledgeService from pilot.server.knowledge.request.request import ( @@ -32,10 +31,6 @@ router = APIRouter() -embeddings = HuggingFaceEmbeddings( - model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL] -) - knowledge_space_service = KnowledgeService() @@ -186,8 +181,13 @@ def document_list(space_name: str, query_request: ChunkQueryRequest): @router.post("/knowledge/{vector_name}/query") def similar_query(space_name: str, query_request: KnowledgeQueryRequest): print(f"Received params: {space_name}, {query_request}") + embedding_factory = CFG.SYSTEM_APP.get_componet( + "embedding_factory", EmbeddingFactory + ) client = EmbeddingEngine( - model_name=embeddings, vector_store_config={"vector_store_name": space_name} + model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], + vector_store_config={"vector_store_name": space_name}, + embedding_factory=embedding_factory, ) docs = client.similar_search(query_request.query, query_request.top_k) res = [ diff --git a/pilot/server/knowledge/service.py b/pilot/server/knowledge/service.py index dc95cf9c9..0c04dee3a 100644 --- a/pilot/server/knowledge/service.py +++ b/pilot/server/knowledge/service.py @@ -154,6 +154,7 @@ def get_knowledge_documents(self, space, request: DocumentQueryRequest): def sync_knowledge_document(self, space_name, doc_ids): from pilot.embedding_engine.embedding_engine import EmbeddingEngine + from pilot.embedding_engine.embedding_factory import EmbeddingFactory from langchain.text_splitter import ( RecursiveCharacterTextSplitter, SpacyTextSplitter, @@ -204,6 +205,9 @@ def sync_knowledge_document(self, space_name, doc_ids): chunk_size=chunk_size, chunk_overlap=chunk_overlap, ) + embedding_factory = CFG.SYSTEM_APP.get_componet( + "embedding_factory", EmbeddingFactory + ) client = EmbeddingEngine( knowledge_source=doc.content, knowledge_type=doc.doc_type.upper(), @@ -214,6 +218,7 @@ def sync_knowledge_document(self, space_name, doc_ids): "chroma_persist_path": KNOWLEDGE_UPLOAD_ROOT_PATH, }, text_splitter=text_splitter, + embedding_factory=embedding_factory, ) chunk_docs = client.read() # update document status diff --git a/pilot/server/llmserver.py b/pilot/server/llmserver.py index 2e67b370f..d521a062d 100644 --- a/pilot/server/llmserver.py +++ b/pilot/server/llmserver.py @@ -8,7 +8,7 @@ sys.path.append(ROOT_PATH) from pilot.configs.config import Config -from pilot.configs.model_config import LLM_MODEL_CONFIG +from pilot.configs.model_config import LLM_MODEL_CONFIG, EMBEDDING_MODEL_CONFIG from pilot.model.cluster import run_worker_manager CFG = Config() @@ -21,4 +21,6 @@ model_path=model_path, standalone=True, port=CFG.MODEL_PORT, + embedding_model_name=CFG.EMBEDDING_MODEL, + embedding_model_path=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], ) diff --git a/pilot/summary/db_summary_client.py b/pilot/summary/db_summary_client.py index 1b6cc251f..f41043601 100644 --- a/pilot/summary/db_summary_client.py +++ b/pilot/summary/db_summary_client.py @@ -2,6 +2,7 @@ import uuid from pilot.common.schema import DBType +from pilot.componet import SystemApp from pilot.configs.config import Config from pilot.configs.model_config import ( KNOWLEDGE_UPLOAD_ROOT_PATH, @@ -26,16 +27,19 @@ class DBSummaryClient: , get_similar_tables method(get user query related tables info) """ - def __init__(self): - pass + def __init__(self, system_app: SystemApp): + self.system_app = system_app def db_summary_embedding(self, dbname, db_type): """put db profile and table profile summary into vector store""" - from langchain.embeddings import HuggingFaceEmbeddings from pilot.embedding_engine.string_embedding import StringEmbedding + from pilot.embedding_engine.embedding_factory import EmbeddingFactory db_summary_client = RdbmsSummary(dbname, db_type) - embeddings = HuggingFaceEmbeddings( + embedding_factory = self.system_app.get_componet( + "embedding_factory", EmbeddingFactory + ) + embeddings = embedding_factory.create( model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL] ) vector_store_config = { @@ -83,15 +87,20 @@ def db_summary_embedding(self, dbname, db_type): def get_db_summary(self, dbname, query, topk): from pilot.embedding_engine.embedding_engine import EmbeddingEngine + from pilot.embedding_engine.embedding_factory import EmbeddingFactory vector_store_config = { "vector_store_name": dbname + "_profile", "vector_store_type": CFG.VECTOR_STORE_TYPE, "chroma_persist_path": KNOWLEDGE_UPLOAD_ROOT_PATH, } + embedding_factory = CFG.SYSTEM_APP.get_componet( + "embedding_factory", EmbeddingFactory + ) knowledge_embedding_client = EmbeddingEngine( model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], vector_store_config=vector_store_config, + embedding_factory=embedding_factory, ) table_docs = knowledge_embedding_client.similar_search(query, topk) ans = [d.page_content for d in table_docs] @@ -100,6 +109,7 @@ def get_db_summary(self, dbname, query, topk): def get_similar_tables(self, dbname, query, topk): """get user query related tables info""" from pilot.embedding_engine.embedding_engine import EmbeddingEngine + from pilot.embedding_engine.embedding_factory import EmbeddingFactory vector_store_config = { "vector_store_name": dbname + "_summary", @@ -107,9 +117,13 @@ def get_similar_tables(self, dbname, query, topk): "vector_store_type": CFG.VECTOR_STORE_TYPE, "chroma_persist_path": KNOWLEDGE_UPLOAD_ROOT_PATH, } + embedding_factory = CFG.SYSTEM_APP.get_componet( + "embedding_factory", EmbeddingFactory + ) knowledge_embedding_client = EmbeddingEngine( model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], vector_store_config=vector_store_config, + embedding_factory=embedding_factory, ) if CFG.SUMMARY_CONFIG == "FAST": table_docs = knowledge_embedding_client.similar_search(query, topk) @@ -136,6 +150,7 @@ def get_similar_tables(self, dbname, query, topk): knowledge_embedding_client = EmbeddingEngine( model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL], vector_store_config=vector_store_config, + embedding_factory=embedding_factory, ) table_summery = knowledge_embedding_client.similar_search(query, 1) related_table_summaries.append(table_summery[0].page_content) diff --git a/pilot/utils/api_utils.py b/pilot/utils/api_utils.py index 58dbd1a9c..93b280188 100644 --- a/pilot/utils/api_utils.py +++ b/pilot/utils/api_utils.py @@ -15,60 +15,60 @@ def _extract_dataclass_from_generic(type_hint: Type[T]) -> Union[Type[T], None]: return None -def _api_remote(path, method="GET"): - def decorator(func): - return_type = get_type_hints(func).get("return") - if return_type is None: - raise TypeError("Return type must be annotated in the decorated function.") - - actual_dataclass = _extract_dataclass_from_generic(return_type) - logging.debug( - f"return_type: {return_type}, actual_dataclass: {actual_dataclass}" - ) - if not actual_dataclass: - actual_dataclass = return_type - sig = signature(func) - - async def wrapper(self, *args, **kwargs): - import httpx - - base_url = self.base_url # Get base_url from class instance - - bound = sig.bind(self, *args, **kwargs) - bound.apply_defaults() - - formatted_url = base_url + path.format(**bound.arguments) +def _build_request(self, func, path, method, *args, **kwargs): + return_type = get_type_hints(func).get("return") + if return_type is None: + raise TypeError("Return type must be annotated in the decorated function.") + + actual_dataclass = _extract_dataclass_from_generic(return_type) + logging.debug(f"return_type: {return_type}, actual_dataclass: {actual_dataclass}") + if not actual_dataclass: + actual_dataclass = return_type + sig = signature(func) + base_url = self.base_url # Get base_url from class instance + + bound = sig.bind(self, *args, **kwargs) + bound.apply_defaults() + + formatted_url = base_url + path.format(**bound.arguments) + + # Extract args names from signature, except "self" + arg_names = list(sig.parameters.keys())[1:] + + # Combine args and kwargs into a single dictionary + combined_args = dict(zip(arg_names, args)) + combined_args.update(kwargs) + + request_data = {} + for key, value in combined_args.items(): + if is_dataclass(value): + # Here, instead of adding it as a nested dictionary, + # we set request_data directly to its dictionary representation. + request_data = asdict(value) + else: + request_data[key] = value - # Extract args names from signature, except "self" - arg_names = list(sig.parameters.keys())[1:] + request_params = {"method": method, "url": formatted_url} - # Combine args and kwargs into a single dictionary - combined_args = dict(zip(arg_names, args)) - combined_args.update(kwargs) + if method in ["POST", "PUT", "PATCH"]: + request_params["json"] = request_data + else: # For GET, DELETE, etc. + request_params["params"] = request_data - request_data = {} - for key, value in combined_args.items(): - if is_dataclass(value): - # Here, instead of adding it as a nested dictionary, - # we set request_data directly to its dictionary representation. - request_data = asdict(value) - else: - request_data[key] = value + logging.debug(f"request_params: {request_params}, args: {args}, kwargs: {kwargs}") + return return_type, actual_dataclass, request_params - request_params = {"method": method, "url": formatted_url} - if method in ["POST", "PUT", "PATCH"]: - request_params["json"] = request_data - else: # For GET, DELETE, etc. - request_params["params"] = request_data +def _api_remote(path, method="GET"): + def decorator(func): + async def wrapper(self, *args, **kwargs): + import httpx - logging.info( - f"request_params: {request_params}, args: {args}, kwargs: {kwargs}" + return_type, actual_dataclass, request_params = _build_request( + self, func, path, method, *args, **kwargs ) - async with httpx.AsyncClient() as client: response = await client.request(**request_params) - if response.status_code == 200: return _parse_response( response.json(), return_type, actual_dataclass @@ -82,6 +82,28 @@ async def wrapper(self, *args, **kwargs): return decorator +def _sync_api_remote(path, method="GET"): + def decorator(func): + def wrapper(self, *args, **kwargs): + import requests + + return_type, actual_dataclass, request_params = _build_request( + self, func, path, method, *args, **kwargs + ) + + response = requests.request(**request_params) + + if response.status_code == 200: + return _parse_response(response.json(), return_type, actual_dataclass) + else: + error_msg = f"Remote request error, error code: {response.status_code}, error msg: {response.text}" + raise Exception(error_msg) + + return wrapper + + return decorator + + def _parse_response(json_response, return_type, actual_dataclass): # print(f'return_type.__origin__: {return_type.__origin__}, actual_dataclass: {actual_dataclass}, json_response: {json_response}') if is_dataclass(actual_dataclass): diff --git a/pilot/vector_store/extract_tovec.py b/pilot/vector_store/extract_tovec.py index c3cf2577f..b37a48ddd 100644 --- a/pilot/vector_store/extract_tovec.py +++ b/pilot/vector_store/extract_tovec.py @@ -30,8 +30,9 @@ def knownledge_tovec_st(filename): https://github.com/UKPLab/sentence-transformers """ from pilot.configs.model_config import EMBEDDING_MODEL_CONFIG + from pilot.embedding_engine.embedding_factory import DefaultEmbeddingFactory - embeddings = HuggingFaceEmbeddings( + embeddings = DefaultEmbeddingFactory().create( model_name=EMBEDDING_MODEL_CONFIG["sentence-transforms"] ) @@ -58,8 +59,9 @@ def load_knownledge_from_doc(): ) from pilot.configs.model_config import EMBEDDING_MODEL_CONFIG + from pilot.embedding_engine.embedding_factory import DefaultEmbeddingFactory - embeddings = HuggingFaceEmbeddings( + embeddings = DefaultEmbeddingFactory().create( model_name=EMBEDDING_MODEL_CONFIG["sentence-transforms"] ) diff --git a/pilot/vector_store/file_loader.py b/pilot/vector_store/file_loader.py index 76411004d..f01f96867 100644 --- a/pilot/vector_store/file_loader.py +++ b/pilot/vector_store/file_loader.py @@ -44,7 +44,11 @@ class KnownLedge2Vector: def __init__(self, model_name=None) -> None: if not model_name: # use default embedding model - self.embeddings = HuggingFaceEmbeddings(model_name=self.model_name) + from pilot.embedding_engine.embedding_factory import DefaultEmbeddingFactory + + self.embeddings = DefaultEmbeddingFactory().create( + model_name=self.model_name + ) def init_vector_store(self): persist_dir = os.path.join(VECTORE_PATH, ".vectordb")