Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 3.34 KB

README_dev.md

File metadata and controls

96 lines (63 loc) · 3.34 KB

Langchain-Chatchat 源代码部署/开发部署指南

0. 拉取项目代码

如果您是想要使用源码启动的用户,请直接拉取 master 分支代码

git clone https://github.com/chatchat-space/Langchain-Chatchat.git

1. 初始化开发环境

Langchain-Chatchat 自 0.3.0 版本起,为方便支持用户使用 pip 方式安装部署,以及为避免环境中依赖包版本冲突等问题, 在源代码/开发部署中不再继续使用 requirements.txt 管理项目依赖库,转为使用 Poetry 进行环境管理。

1.1 安装 Poetry

在安装 Poetry 之前,如果您使用 Conda,请创建并激活一个新的 Conda 环境,例如使用 conda create -n chatchat python=3.9 创建一个新的 Conda 环境。

安装 Poetry: Poetry 安装文档

Note

如果你没有其它 poetry 进行环境/依赖管理的项目,利用 pipx 或 pip 都可以完成 poetry 的安装,

Note

如果您使用 Conda 或 Pyenv 作为您的环境/包管理器,在安装Poetry之后, 使用如下命令使 Poetry 使用 virtualenv python environment (poetry config virtualenvs.prefer-active-python true)

1.2 安装源代码/开发部署所需依赖库

进入主项目目录,并安装 Langchain-Chatchat 依赖

cd  Langchain-Chatchat/libs/chatchat-server/
poetry install --with lint,test -E xinference

# or use pip to install in editing mode:
pip install -e .

Note

Poetry install 后会在你的虚拟环境中 site-packages 路径下生成一个 chatchat-<version>.dist-info 文件夹带有 direct_url.json 文件,这个文件指向你的开发环境

1.3 更新开发部署环境依赖库

当开发环境中所需的依赖库发生变化时,一般按照更新主项目目录(Langchain-Chatchat/libs/chatchat-server/)下的 pyproject.toml 再进行 poetry update 的顺序执行。

1.4 将更新后的代码打包测试

如果需要对开发环境中代码打包成 Python 库并进行测试,可在主项目目录执行以下命令:

poetry build

命令执行完成后,在主项目目录下会新增 dist 路径,其中存储了打包后的 Python 库。

2. 设置源代码根目录

如果您在开发时所使用的 IDE 需要指定项目源代码根目录,请将主项目目录(Langchain-Chatchat/libs/chatchat-server/)设置为源代码根目录。

执行以下命令之前,请先设置当前目录和项目数据目录:

cd Langchain-Chatchat/libs/chatchat-server/chatchat
export CHATCHAT_ROOT=/parth/to/chatchat_data

3. 关于 chatchat 配置项

0.3.1 版本开始,所有配置项改为 yaml 文件,具体参考 Settings

执行以下命令初始化项目配置文件和数据目录:

cd libs/chatchat-server
python chatchat/cli.py init

4. 初始化知识库

Warning

这个命令会清空数据库、删除已有的配置文件,如果您有重要数据,请备份。

cd libs/chatchat-server
python chatchat/cli.py kb --recreate-vs

如需使用其它 Embedding 模型,或者重建特定的知识库,请查看 python chatchat/cli.py kb --help 了解更多的参数。

5. 启动服务

cd libs/chatchat-server
python chatchat/cli.py start -a

如需调用 API,请参考 API 使用说明