-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
178 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
### chatchat 容器化部署指引 | ||
|
||
> 提示: 此指引为在 Linux 环境下编写完成, 其他环境下暂未测试, 理论上可行. | ||
> | ||
> Langchain-Chatchat docker 镜像已支持多架构, 欢迎大家自行测试. | ||
#### 一. Langchain-Chatchat 体验部署 | ||
|
||
##### 1. 安装 docker-compose | ||
寻找适合你环境的 docker-compose 版本, 请参考 [Docker-Compose](https://github.com/docker/compose). | ||
|
||
举例: Linux X86 环境 可下载 [docker-compose-linux-x86_64](https://github.com/docker/compose/releases/download/v2.27.3/docker-compose-linux-x86_64) 使用. | ||
```shell | ||
which docker-compose | ||
``` | ||
/usr/bin/docker-compose | ||
```shell | ||
docker-compose -v | ||
``` | ||
Docker Compose version v2.27.3 | ||
|
||
##### 2. 安装 NVIDIA Container Toolkit | ||
寻找适合你环境的 NVIDIA Container Toolkit 版本, 请参考: [Installing the NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). | ||
|
||
安装完成后记得按照刚刚文档中`Configuring Docker`章节对 docker 进行初始化. | ||
|
||
##### 3. 创建 xinference 数据缓存路径 | ||
|
||
这一步强烈建议, 因为可以将 xinference 缓存的模型都保存到本地, 长期使用. | ||
```shell | ||
mkdir -p ~/xinference | ||
``` | ||
|
||
##### 4. 下载 chatchat & xinference 启动配置文件(docker-compose.yaml) | ||
```shell | ||
cd ~ | ||
wget https://github.com/chatchat-space/Langchain-Chatchat/blob/master/docker/docker-compose.yaml | ||
``` | ||
|
||
##### 5. 启动 chatchat & xinference 服务 | ||
```shell | ||
docker-compose up -d | ||
``` | ||
出现如下日志即为成功 ( 第一次启动需要下载 docker 镜像, 时间较长, 这里已经提前下载好了 ) | ||
```text | ||
WARN[0000] /root/docker-compose.yaml: `version` is obsolete | ||
[+] Running 2/2 | ||
✔ Container root-chatchat-1 Started 0.2s | ||
✔ Container root-xinference-1 Started 0.3s | ||
``` | ||
|
||
##### 6.检查服务启动情况 | ||
```shell | ||
docker-compose up -d | ||
``` | ||
```text | ||
WARN[0000] /root/docker-compose.yaml: `version` is obsolete | ||
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS | ||
root-chatchat-1 chatimage/chatchat:0.3.0-0622 "chatchat -a" chatchat 3 minutes ago Up 3 minutes | ||
root-xinference-1 xprobe/xinference:v0.12.1 "/opt/nvidia/nvidia_…" xinference 3 minutes ago Up 3 minutes | ||
``` | ||
```shell | ||
ss -anptl | grep -E '(8501|7861|9997)' | ||
``` | ||
```text | ||
LISTEN 0 128 0.0.0.0:9997 0.0.0.0:* users:(("pt_main_thread",pid=1489804,fd=21)) | ||
LISTEN 0 128 0.0.0.0:8501 0.0.0.0:* users:(("python",pid=1490078,fd=10)) | ||
LISTEN 0 128 0.0.0.0:7861 0.0.0.0:* users:(("python",pid=1490014,fd=9)) | ||
``` | ||
如上, 服务均已正常启动, 即可体验使用. | ||
|
||
> 提示: 先登陆 xinference ui `http://<your_ip>:9997` 启动 llm 和 embedding 后, 再登陆 chatchat ui `http://<your_ip>:8501` 进行体验. | ||
> | ||
> 详细文档: | ||
> - Langchain-chatchat 使用请参考: [LangChain-Chatchat](/README.md) | ||
> | ||
> - Xinference 使用请参考: [欢迎来到 Xinference!](https://inference.readthedocs.io/zh-cn/latest/index.html) | ||
#### 二. Langchain-Chatchat 进阶部署 | ||
|
||
##### 1. 按照 `Langchain-Chatchat 体验部署` 内容顺序依次完成 | ||
|
||
##### 2. 创建 chatchat 数据缓存路径 | ||
```shell | ||
cd ~ | ||
mkdir -p ~/chatchat | ||
``` | ||
|
||
##### 3. 修改 `docker-compose.yaml` 文件内容 | ||
|
||
原文件内容: | ||
```yaml | ||
(上文 ...) | ||
chatchat: | ||
image: chatimage/chatchat:0.3.0-0622 | ||
(省略 ...) | ||
# 将本地路径(~/chatchat/data)挂载到容器默认数据路径(/usr/local/lib/python3.11/site-packages/chatchat/data)中 | ||
# volumes: | ||
# - ~/chatchat/data:/usr/local/lib/python3.11/site-packages/chatchat/data | ||
(下文 ...) | ||
``` | ||
将 `volumes` 字段注释打开, 并按照 `YAML` 格式对齐, 如下: | ||
```yaml | ||
(上文 ...) | ||
chatchat: | ||
image: chatimage/chatchat:0.3.0-0622 | ||
(省略 ...) | ||
# 将本地路径(~/chatchat/data)挂载到容器默认数据路径(/usr/local/lib/python3.11/site-packages/chatchat/data)中 | ||
volumes: | ||
- ~/chatchat/data:/usr/local/lib/python3.11/site-packages/chatchat/data | ||
(下文 ...) | ||
``` | ||
|
||
##### 4. 下载数据库初始文件 | ||
|
||
> 提示: 这里的 `data.tar.gz` 文件仅包含初始化后的数据库 `samples` 文件一份及相应目录结构, 用户可将原先数据和目录结构迁移此处. | ||
> > [!WARNING] 请您先备份好您的数据再进行迁移!!! | ||
```shell | ||
cd ~/chatchat | ||
wget https://github.com/chatchat-space/Langchain-Chatchat/blob/master/docker/data.tar.gz | ||
tar -xvf data.tar.gz | ||
``` | ||
```shell | ||
cd data | ||
pwd | ||
``` | ||
/root/chatchat/data | ||
```shell | ||
ls -l | ||
``` | ||
```text | ||
total 20 | ||
drwxr-xr-x 3 root root 4096 Jun 22 10:46 knowledge_base | ||
drwxr-xr-x 18 root root 4096 Jun 22 10:52 logs | ||
drwxr-xr-x 5 root root 4096 Jun 22 10:46 media | ||
drwxr-xr-x 5 root root 4096 Jun 22 10:46 nltk_data | ||
drwxr-xr-x 3 root root 4096 Jun 22 10:46 temp | ||
``` | ||
|
||
##### 5. 重启 chatchat 服务 | ||
|
||
这一步需要到 `docker-compose.yaml` 文件所在路径下执行, 即: | ||
```shell | ||
cd ~ | ||
docker-compose down chatchat | ||
docker-compose up -d | ||
``` | ||
操作及检查结果如下: | ||
```text | ||
[root@VM-2-15-centos ~]# docker-compose down chatchat | ||
WARN[0000] /root/docker-compose.yaml: `version` is obsolete | ||
[+] Running 1/1 | ||
✔ Container root-chatchat-1 Removed 0.5s | ||
[root@VM-2-15-centos ~]# docker-compose up -d | ||
WARN[0000] /root/docker-compose.yaml: `version` is obsolete | ||
[+] Running 2/2 | ||
✔ Container root-xinference-1 Running 0.0s | ||
✔ Container root-chatchat-1 Started 0.2s | ||
[root@VM-2-15-centos ~]# docker-compose ps | ||
WARN[0000] /root/docker-compose.yaml: `version` is obsolete | ||
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS | ||
root-chatchat-1 chatimage/chatchat:0.3.0-0622 "chatchat -a" chatchat 33 seconds ago Up 32 seconds | ||
root-xinference-1 xprobe/xinference:v0.12.1 "/opt/nvidia/nvidia_…" xinference 45 minutes ago Up 45 minutes | ||
[root@VM-2-15-centos ~]# ss -anptl | grep -E '(8501|7861|9997)' | ||
LISTEN 0 128 0.0.0.0:9997 0.0.0.0:* users:(("pt_main_thread",pid=1489804,fd=21)) | ||
LISTEN 0 128 0.0.0.0:8501 0.0.0.0:* users:(("python",pid=1515944,fd=10)) | ||
LISTEN 0 128 0.0.0.0:7861 0.0.0.0:* users:(("python",pid=1515878,fd=9)) | ||
``` |