前置准备
# 源码下载
$ git clone https://github.com/eosphoros-ai/DB-GPT.git
# 进入到源码目录
$ cd DB-GPT
环境安装
# 创建Python环境,注意版本3.10以上
$ conda create -n dbgpt_env python=3.10
# 激活虚拟环境
$ conda activate dbgpt_env
安装依赖
# 安装默认依赖
pip install -e ".[default]"
模型下载
下载语言模型与Embedding模型
:::danger ⚠️ 如果没有GPU资源,建议使用代理模型,如果OpenAI、千文、文心等
:::
$ mkdir models && cd models
# download embedding model, eg: text2vec-large-chinese
$ git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
:::color1 设置代理API,修改.env配置
:::
#set LLM_MODEL TYPE
LLM_MODEL=proxyllm
#set your Proxy Api key and Proxy Server url
PROXY_API_KEY={your-openai-sk}
PROXY_SERVER_URL=https://api.openai.com/v1/chat/completions
:::danger ⚠️ 有GPU资源,可以使用本地模型来部署
:::
$ mkdir models && cd models
# # download embedding model, eg: vicuna-13b-v1.5 or
$ git clone https://huggingface.co/lmsys/vicuna-13b-v1.5
# download embedding model, eg: text2vec-large-chinese
$ git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
$ popd
命令行一键启动
LLM_MODEL=vicuna-13b-v1.5
dbgpt start webserver --port 6006
默认情况下,dbgpt start webserver命令将启动webserver,model controller, model worker通过一个单Python进程。 如上命令中,指定了6006端口。
查看并验证模型服务
:::color2 查看并展示所有的模型服务
:::
dbgpt model list
+-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+
| Model Name | Model Type | Host | Port | Healthy | Enabled | Prompt Template | Last Heartbeat |
+-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+
| vicuna-13b-v1.5 | llm | 172.17.0.9 | 6006 | True | True | | 2023-10-16T19:49:59.201313 |
| WorkerManager | service | 172.17.0.9 | 6006 | True | True | | 2023-10-16T19:49:59.246756 |
+-----------------+------------+------------+------+---------+---------+-----------------+----------------------------+
其中WorkerManager是Model Workers的管理进程
:::color2 检查并验证模型服务
:::
dbgpt model chat --model_name vicuna-13b-v1.5
上述命令将启动一个交互式页面,可以通过终端与模型对话。
Chatbot started with model vicuna-13b-v1.5. Type 'exit' to leave the chat.
You: Hello
Bot: Hello! How can I assist you today?
You: