[NLP] langchain-ChatGLM 本地知识库
介绍
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;
按照步骤执行如下命令,下载最新代码,并且进行环境安装。
git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git
cd langchain-ChatGLM
pip3 install -r requirements.txt
pip3 install -U gradio
pip3 install modelscope
模型下载与配置,模型下载完毕后,修改 /configs/model_config.py 文件,将默认的 "text2vec"、"chatglm-6b" 部分的模型路径改为本地路径(避免服务器无法访问 huggingface.co)
启动
python webui.py
试用
作者租用了一台 Nvidia-RTX-A4000(显存 16G)的机器(通过监控,模型运行过程中,显存占用在 14.25G 左右徘徊,硬盘空间占用不到 20G)。
首先简单试用一下当前模型,其中 Bing 搜索问答这里并没有进行深究(针对当前需求不作为重点),效果如下图所示,图片无法正常查看的话, 访问 访问
通过试用,简单的对话功能能够实现,至此开始添加私有的知识库,本文选择了人物的生平信息作为知识信息,整理为 TXT 文件,每一行代表一个人的生平信息,通过上传 TXT 文件将其加入到知识库中,同时也试用了一下'添加单条内容'的功能,并通过对话得到知识信息,效果如下图所示,图片无法正常查看的话, 访问 访问
版权声明: 本文为 InfoQ 作者【alexgaoyh】的原创文章。
原文链接:【http://xie.infoq.cn/article/e513c4b759d516230364971f7】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论