杭州劳保网站制作,十大编程教育培训机构,如何注册公司营业执照,wordpress网站微信登录2024 32kstar 的目前最佳开源RAG框架之一的 Langchain-Chatchat开源项目实践#xff08;一#xff09; 文章目录 2024 32kstar 的目前最佳开源RAG框架之一的 Langchain-Chatchat开源项目实践#xff08;一#xff09;一、前言二、实践步骤1、软硬件要求#xff08;1#…2024 32kstar 的目前最佳开源RAG框架之一的 Langchain-Chatchat开源项目实践一 文章目录 2024 32kstar 的目前最佳开源RAG框架之一的 Langchain-Chatchat开源项目实践一一、前言二、实践步骤1、软硬件要求1 确定模型推理框架和模型 2. 初始化项目配置与数据目录1确定项目根目录2chatchat项目初始化3修改配置文件 3. 初始化知识库4. 启动项目 一、前言
github地址https://github.com/chatchat-space/Langchain-Chatchat 各位未来的开发者请上座随着自然语言处理NLP技术的飞速发展基于大模型的知识库问答系统成为了连接人机交互的重要桥梁。最近部署开源项目Langchain-Chatchat通过一系列的调试与实践成功地让这个系统在我本地的环境中稳定运行。本文将分享我在启动Langchain-Chatchat项目、配置环境以及启动可视化界面的经验。预计时间 24分钟启动你的rag项目 下面是RAG对比来自工业界的开源知识库 RAG 项目最全细节对比
二、实践步骤
1、软硬件要求 软件方面本项目已支持在 Python 3.8-3.11 环境中进行使用并已在 Windows、macOS、Linux 操作系统中进行测试。 硬件方面0.3.0 版本已修改为支持不同模型部署框架接入可在 CPU、GPU、NPU、MPS 等不同硬件条件下使用。
安装 Langchain-Chatchat
pip install langchain-chatchat -U为确保所使用的 Python 库为最新版建议使用官方 Pypi 源或清华源。
1 确定模型推理框架和模型
从 0.3.0 版本起Langchain-Chatchat 不再根据用户输入的本地模型路径直接进行模型加载涉及到的模型种类包括 LLM、Embedding、Reranker 及后续会提供支持的多模态模型等均改为支持市面常见的各大模型推理框架接入如 Xinference、Ollama、LocalAI、FastChat、One API 等。
在这里博主使用比较常见的Openai系列模型用于演示 模型推理框架主要是确认平台如Openai和两个模型 大语言模型gpt-4o 向量化模型text-embedding-3-large
2. 初始化项目配置与数据目录
Langchain-Chatchat 使用本地 yaml 文件的方式进行配置用户可以直接查看并修改其中的内容服务器会自动更新无需重启。
1确定项目根目录
设置 Chatchat 存储配置文件和数据文件的根目录可选
# on linux or macos
export CHATCHAT_ROOT/path/to/chatchat_data# on windows
set CHATCHAT_ROOT/path/to/chatchat_data若不设置该环境变量则自动使用当前目录为根目录。(推荐)
2chatchat项目初始化
新建一个新文件夹
chatchat init该命令会执行以下操作
创建所有需要的数据目录复制 samples 知识库内容生成默认 yaml 配置文件
运行结果如下图
3修改配置文件
配置模型model_settings.yaml 需要根据步骤 2. 模型推理框架并加载模型 中选用的模型推理框架与加载的模型进行模型接入配置具体参考 model_settings.yaml 中的注释。主要修改以下四个 DEFAULT_LLM_MODEL DEFAULT_EMBEDDING_MODEL api_base_url api_key
# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: gpt-4o# 默认选用的 Embedding 名称
DEFAULT_EMBEDDING_MODEL: text-embedding-3-large# 将 LLM_MODEL_CONFIG 中 llm_model, action_model 的键改成对应的 LLM 模型
# 在 MODEL_PLATFORMS 中修改对应模型平台信息配置知识库路径basic_settings.yaml可选 默认知识库位于 CHATCHAT_ROOT/data/knowledge_base如果你想把知识库放在不同的位置或者想连接现有的知识库可以在这里修改对应目录即可。
# 知识库默认存储路径KB_ROOT_PATH: D:\chatchat-test\data\knowledge_base# 数据库默认存储路径。如果使用sqlite可以直接修改DB_ROOT_PATH如果使用其它数据库请直接修改SQLALCHEMY_DATABASE_URI。DB_ROOT_PATH: D:\chatchat-test\data\knowledge_base\info.db# 知识库信息数据库连接URISQLALCHEMY_DATABASE_URI: sqlite:///D:\chatchat-test\data\knowledge_base\info.db配置知识库kb_settings.yaml可选
默认使用 FAISS 知识库如果想连接其它类型的知识库可以修改 DEFAULT_VS_TYPE 和 kbs_config。
3. 初始化知识库
进行知识库初始化前请确保已经启动模型推理框架及对应 embedding 模型且已按照上述步骤3完成模型接入配置。
chatchat kb -r更多功能可以查看 chatchat kb --help 出现以下日志即为成功: 注上面的知识库是chatchat官方自带的使用默认配置和Openai的推理平台和两个模型基本百分之百是上面的日志。
4. 启动项目
chatchat start -a出现以下界面即为启动成功: 注1由于 chatchat 配置默认监听地址 DEFAULT_BIND_HOST 为 127.0.0.1, 所以无法通过其他 ip 进行访问。
注2如需通过机器ip 进行访问(如 Linux 系统), 需要到 basic_settings.yaml 中将监听地址修改为 0.0.0.0。