写点什么

[NLP] langchain-ChatGLM 本地知识库

作者:alexgaoyh
  • 2023-06-29
    河南
  • 本文字数:780 字

    阅读完需:约 3 分钟

介绍

  langchain-ChatGLM基于本地知识库的问答应用,建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

背景

  从 2023 年初,断断续续的在工作中试用了 ChatGPT,惊叹其对工作的帮助,近段时间和朋友聊天,思考能够在某些细分的领域类似 CahtGPT 的模型,构建私有的本地离线知识库?


  通过资料查询,优先选择 langchain-ChatGLM 进行处理。

部署与启动

   相关环境:Nvidia-RTX-A4000(显存 16G); 预装 Ubuntu20.04, Python 3.9, Pytorch 2.0, CUDA 11.7, cuDNN 8, NVCC, VNC;


   按照步骤执行如下命令,下载最新代码,并且进行环境安装。


  1. git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git

  2. cd langchain-ChatGLM

  3. pip3 install -r requirements.txt

  4. pip3 install -U gradio

  5. pip3 install modelscope


   模型下载与配置,模型下载完毕后,修改 /configs/model_config.py 文件,将默认的 "text2vec"、"chatglm-6b" 部分的模型路径改为本地路径(避免服务器无法访问 huggingface.co)


  1. https://huggingface.co/THUDM/chatglm-6b/tree/main

  2. https://huggingface.co/GanymedeNil/text2vec-large-chinese/tree/main


   启动


  1. python webui.py

试用

   作者租用了一台 Nvidia-RTX-A4000(显存 16G)的机器(通过监控,模型运行过程中,显存占用在 14.25G 左右徘徊,硬盘空间占用不到 20G)。


   首先简单试用一下当前模型,其中 Bing 搜索问答这里并没有进行深究(针对当前需求不作为重点),效果如下图所示,图片无法正常查看的话, 访问 访问




   通过试用,简单的对话功能能够实现,至此开始添加私有的知识库,本文选择了人物的生平信息作为知识信息,整理为 TXT 文件,每一行代表一个人的生平信息,通过上传 TXT 文件将其加入到知识库中,同时也试用了一下'添加单条内容'的功能,并通过对话得到知识信息,效果如下图所示,图片无法正常查看的话, 访问 访问




发布于: 刚刚阅读数: 5
用户头像

alexgaoyh

关注

DevOps 2013-12-08 加入

https://gitee.com/alexgaoyh

评论

发布
暂无评论
[NLP] langchain-ChatGLM 本地知识库_知识库_alexgaoyh_InfoQ写作社区