Skip to main content

Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain

Project description

项目简介

pypi badge Generic badge

🌍 READ THIS IN ENGLISH

📃 LangChain-Chatchat (原 Langchain-ChatGLM)

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的 RAG 与 Agent 应用项目。

点击这里了解项目详情。

安装

  1. PYPI 安装
pip install langchain-chatchat

# or if you use xinference to provide model API:
# pip install langchain-chatchat[xinference]

# if you update from an old version, we suggest to run init again to update yaml templates:
# pip install -U langchain-chatchat
# chatchat init

详见这里的安装指引

注意:chatchat请放在独立的虚拟环境中,比如conda,venv,virtualenv等

已知问题,不能跟xinference一起安装,会让一些插件出bug,例如文件无法上传

  1. 源码安装

除了通过pypi安装外,您也可以选择使用源码启动。(Tips: 源码配置可以帮助我们更快的寻找bug,或者改进基础设施。我们不建议新手使用这个方式)

  1. Docker
docker pull chatimage/chatchat:0.3.1.2-2024-0720

docker pull ccr.ccs.tencentyun.com/chatchat/chatchat:0.3.1.2-2024-0720 # 国内镜像

[!important] 强烈建议: 使用 docker-compose 部署, 具体参考 README_docker

  1. AudoDL

🌐 AutoDL 镜像0.3.1 版本所使用代码已更新至本项目 v0.3.1 版本。

初始化与配置

项目运行需要特定的数据目录和配置文件,执行下列命令可以生成默认配置(您可以随时修改 yaml 配置文件):

# set the root path where storing data.
# will use current directory if not set
export CHATCHAT_ROOT=/path/to/chatchat_data

# initialize data and yaml configuration templates
chatchat init

CHATCHAT_ROOT 或当前目录可以找到 *_settings.yaml 文件,修改这些文件选择合适的模型配置,详见初始化

启动服务

确保所有配置正确后(特别是 LLM 和 Embedding Model),执行下列命令创建默认知识库、启动服务:

chatchat kb -r
chatchat start -a

如无错误将自动弹出浏览器页面。

更多命令可以通过 chatchat --help 查看。

更新日志:

0.3.1.3 (2024-07-20)

  • 修复:
    • 修复 nltk_data 未能在项目初始化时复制的问题
    • 在项目依赖包中增加 python-docx 以满足知识库初始化时 docx 格式文件处理需求

0.3.1.2 (2024-07-20)

  • 新功能:
    • Model Platform 支持配置代理 by @liunux4odoo (#4492)
    • 给定一个默认可用的 searx 服务器 by @liunux4odoo (#4504)
    • 更新 docker 镜像 by @yuehua-s @imClumsyPanda (#4511)
    • 新增URL内容阅读器:通过jina-ai/reader项目,将url内容处理为llm易于理解的文本形式 by @ganwumeng @imClumsyPanda (#4547)
    • 优化qwen模型下对tools的json修复成功率 by @ganwumeng (#4554)
    • 允许用户在 basic_settings.API_SERVER 中配置 public_host,public_port,以便使用云服务器或反向代理时生成正确的公网 API 地址 by @liunux4odoo (#4567)
    • 添加模型和服务自动化脚本 by @glide-the (#4573)
    • 添加单元测试 by @glide-the (#4573)
  • 修复:
    • WEBUI 中设置 System message 无效 by @liunux4odoo (#4491)
    • 移除无效的 vqa_processor & aqa_processor 工具 by @liunux4odoo (#4498)
    • KeyError of 'template' 错误 by @liunux4odoo (#4501)
    • 执行 chatchat init 时 nltk_data 目录设置错误 by @liunux4odoo (#4523)
    • 执行 chatchat init 时 出现 xinference-client 连接错误 by @imClumsyPanda (#4573)
    • xinference 自动检测模型使用缓存,提高 UI 响应速度 by @liunux4odoo (#4510)
    • chatchat.log 中重复记录 by @liunux4odoo (#4517)
    • 优化错误信息的传递和前端显示 by @liunux4odoo (#4531)
    • 修正 openai.chat.completions.create 参数构造方式,提高兼容性 by @liunux4odoo (#4540)
    • Milvus retriever NotImplementedError by @kwunhang (#4536)
    • Fix bug of ChromaDB Collection as retriever by @kwunhang (#4541)
    • langchain 版本升级后,DocumentWithVsId 出现 id 重复问题 by @liunux4odoo (#4548)
    • 重建知识库时只处理了一个知识库 by @liunux4odoo (#4549)
    • chat api error because openapi set max_tokens to 0 by default by @liunux4odoo (#4564)

0.3.1.1 (2024-07-15)

  • 修复:
    • WEBUI 中设置 system message 无效(#4491)
    • 模型平台不支持代理(#4492)
    • 移除失效的 vqa_processor & aqa_processor 工具(#4498)
    • prompt settings 错误导致 KeyError: 'template'(#4501)
    • searx 搜索引擎不支持中文(#4504)
    • init时默认去连 xinference,若默认 xinference 服务不存在会报错(#4508)
    • init时,调用shutil.copytree,当src与dst一样时shutil报错的问题(#4507)

项目里程碑

  • 2023年4月: Langchain-ChatGLM 0.1.0 发布,支持基于 ChatGLM-6B 模型的本地知识库问答。

  • 2023年8月: Langchain-ChatGLM 改名为 Langchain-Chatchat,发布 0.2.0 版本,使用 fastchat 作为模型加载方案,支持更多的模型和数据库。

  • 2023年10月: Langchain-Chatchat 0.2.5 发布,推出 Agent 内容,开源项目在Founder Park & Zhipu AI & Zilliz 举办的黑客马拉松获得三等奖。

  • 2023年12月: Langchain-Chatchat 开源项目获得超过 20K stars.

  • 2024年6月: Langchain-Chatchat 0.3.0 发布,带来全新项目架构。

  • 🔥 让我们一起期待未来 Chatchat 的故事 ···


协议

本项目代码遵循 Apache-2.0 协议。

联系我们

Telegram

Telegram

引用

如果本项目有帮助到您的研究,请引用我们:

@software{langchain_chatchat,
    title        = {{langchain-chatchat}},
    author       = {Liu, Qian and Song, Jinke, and Huang, Zhiguo, and Zhang, Yuxuan, and glide-the, and Liu, Qingwei},
    year         = 2024,
    journal      = {GitHub repository},
    publisher    = {GitHub},
    howpublished = {\url{https://github.com/chatchat-space/Langchain-Chatchat}}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_chatchat-0.3.1.3.tar.gz (18.8 MB view details)

Uploaded Source

Built Distribution

langchain_chatchat-0.3.1.3-py3-none-any.whl (19.0 MB view details)

Uploaded Python 3

File details

Details for the file langchain_chatchat-0.3.1.3.tar.gz.

File metadata

  • Download URL: langchain_chatchat-0.3.1.3.tar.gz
  • Upload date:
  • Size: 18.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for langchain_chatchat-0.3.1.3.tar.gz
Algorithm Hash digest
SHA256 768ff829b0fd0e8048d586dcdbd3e84195ca7f4337068675f3c6bf56586c4b0d
MD5 dd64f44c9189fd9d165334adc5931d3a
BLAKE2b-256 6b60620bf236da98be29db21233f409d161fad47d9700fe9423b79c0ec85fbf6

See more details on using hashes here.

File details

Details for the file langchain_chatchat-0.3.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_chatchat-0.3.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 12a797d157b9ea26684cad9aa4acf136f977e750fa7ea2191d6c6d73f2fddae9
MD5 b777cd74f3adf8c57c30a81d272bc5d7
BLAKE2b-256 0a9c444bc309386910f9f767d99093465384d7655027aabde2c04bddaac90962

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page