Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.64 KB

settings.md

File metadata and controls

35 lines (24 loc) · 1.64 KB

项目配置项使用说明

项目所有配置项由 chatchat.settings.Settings 统一管理,代替原来通过 chatchat/configs/*.py 配置的方式。

绝大部分配置项沿用了原来的名字和分组,少数进行了整合。

改进后的优点:

  • 配置项与 py 代码分离,减少代码升级带来的麻烦,更改配置更方便
  • 切换不同的 yaml 文件即可加载不同的配置,方便多环境管理和测试
  • 配置项通过 pydantic 模型定义,加强了数据验证,简化了环境变量的读取,可以使用 yaml/json/toml 不同的文件后端
  • 可以自动生成 yaml 文件模板,添加配置说明
  • 所有配置项进行了缓存减少文件读取,当 .yaml/.env 文件被修改时可以自动刷新缓存

使用方式:

from chatchat.settings import Settings

print(Settings.basic_settings) # 基本配置信息,包括数据目录、服务器配置等
print(Settings.kb_settings) # 知识库相关配置项
print(Settings.model_settings) # 模型相关配置项
print(Settings.tool_settings) # 工具相关配置项
print(Settings.prompt_settings) # prompt 模板

** 注意 **:如果使用 Settings.xx_settings.XX 这种方式,配置项会自动跟踪配置文件的修改而刷新;如果使用 s = Settings.xx_settings; s.XX 这种方式,配置项不会自动刷新。

添加或更改配置项:

第一步:直接在 chatchat/settings.py 对应的 XXSettings 类中添加字段,建议:

  • 每个字段都设定默认值
  • 给字段添加必要的说明

第二步:执行 CHATCHAT_ROOT=/path/to/data chatchat init --gen-config 更新配置模板