加入开发

依赖管理Poetry与env/dependency管理方法

这个项目使用 Poetry 来管理依赖。

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

Install Poetry: documentation on how to install it.

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

本地开发环境安装

  • 选择主项目目录
cd chatchat
  • 安装chatchat依赖(for running chatchat lint\tests):
poetry install --with lint,test

格式化和代码检查

在提交PR之前,请在本地运行以下命令;CI系统也会进行检查。

代码格式化

本项目使用ruff进行代码格式化。

要对某个库进行格式化,请在相应的库目录下运行相同的命令:

cd {model-providers|chatchat|chatchat-server|chatchat-frontend}
make format

此外,你可以使用format_diff命令仅对当前分支中与主分支相比已修改的文件进行格式化:

 
make format_diff

当你对项目的一部分进行了更改,并希望确保更改的部分格式正确,而不影响代码库的其他部分时,这个命令特别有用。

开始使用

环境配置完成后启动步骤为先启动chatchat-server然后启动chatchat-frontend。 chatchat可通过pypi安装一键启动您也可以选择使用源码启动。

pypi安装一键启动

  • 安装chatchat
pip install chatchat
  • 复制配置文件
cd chatchat-server/chatchat
python copy_config_example.py

当项目安装完成,配置这个model_providers.yaml文件,即可完成自定义平台加载

注意: 在您配置平台之前请确认平台依赖完整例如智谱平台您需要安装智谱sdk pip install zhipuai

详细配置请参考README.md

  • 启动服务
cd chatchat-server/
python -m chatchat.startup -a

源码启动chatchat-server

  • 初始化依赖
cd chatchat-server/chatchat
python copy_config_example.py
  • 初始化仓库
cd chatchat-server/chatchat
python init_database.py
  • 启动服务
python chatchat-server/chatchat/startup.py -a