本地知识库软件(大语言模型本地知识库)快来看
我们之前介绍过 ChatGLM 6B,今天介绍一个 langchain 结合 ChatGLM 6B 的本地知识库问答实现。
我们之前介绍过 ChatGLM 6B,今天介绍一个 langchain 结合 ChatGLM 6B 的本地知识库问答实现:langchain-ChatGLM这是一种利用 langchain 思想实现的基于。
本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案预览部署之后,我把杨绛先生的《走到人生边上》这本书丢了进去,然后对这本书进行问答, 限于我投喂的知识内容,可以看到有些地方回答并不完美,但是出处还是找的挺好。
本地知识库问答当然也支持使用 LLM 进行问答,或者联网搜索(最近新增加的功能,虽然表现有好有坏。)
LLM 和 网络问答模型配置界面:
配置界面原理这里本地知识库问答的原理如下:1. ->加载文件2. -> 读取文本3. -> 文本分割4. -> 文本向量化5. -> 问句向量化6. -> 在文本向量中匹配出与问句向量最相似的top k个
7. -> 匹配出的文本作为上下文和问题一起添加到prompt中8. -> 提交给LLM生成回答。官网给出的流程图如下:
官方给出的langchain ChatGLM 原理从文档处理角度来看,实现流程如下图:
官方给出的文档流程模型和硬件需求我们可使用如下模型:• chatglm-6b-int4-qe• chatglm-6b-int4• chatglm-6b-int8• chatglm-6b• chatyuan
• moss• vicuna-13b-hf• fastchat-chatglm-6b• fastchat-vicuna-13b-hfChatGLM 6B 模型我们之前介绍过 ChatGLM 6B 可以在消费级显卡上进行推理,而对显卡要求很低。
16位无量化需要 13GB 就可以进行推理:量化等级FP16(无量化)最低 GPU 显存(推理)13 GB最低 GPU 显存(高效参数微调)14 GBINT8 则需要 8GB 显存:量化等级INT8最低 GPU 显存
(推理)8 GB最低 GPU 显存(高效参数微调)9 GBINT4 只需要 6GB 就可以进行推理:量化等级INT4最低 GPU 显存(推理)6 GB最低 GPU 显存(高效参数微调)7 GBMOSS 模型
也可以使用复旦大学的 MOSS 模型,至少需要 20G 显存FP16 需要 68G 显存:量化等级FP16(无量化)最低 GPU 显存(推理)68 GBINT8的量化需要 20G 显存:量化等级INT8。
最低 GPU 显存(推理)20 GBEmbedding 模型本项目中默认选用的 Embedding 模型 GanymedeNil/text2vec-large-chinese 约占用显存 3GB,也可修改为在 CPU 中运行。
开发运行项目开发环境建议在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成进行安装环境# 拉取仓库$ git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git。
# 进入目录$ cd langchain-ChatGLM# 项目中 pdf 加载由先前的 detectron2 替换为使用 paddleocr,如果之前有安装过 detectron2 需要先完成卸载避免引发 tools 冲突
$ pip uninstall detectron2# 检查paddleocr依赖,linux环境下paddleocr依赖libX11,libXext$ yum install libX11$ yum install libXext
# 安装依赖$ pip install -r requirements.txt# 验证paddleocr是否成功,首次运行会下载约18M模型到~/.paddleocr$ python loader/image_loader.py
运行执行 cli_demo.py 脚本体验命令行交互:$ python cli_demo.py或执行 webui.py 脚本体验 Web 交互$ python webui.py界面如下:
基于 Gradio 的 WebUI或执行 api.py 利用 fastapi 部署 API$ python api.py或成功部署 API 后,执行以下脚本体验基于 VUE 的前端页面$ cd views
$ pnpm i$ npm run dev界面如下:
基于 Vue 的 WebUI项目信息地址:• https://github.com/imClumsyPanda/langchain-ChatGLM--- END ---
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186