【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑

这篇具有很好参考价值的文章主要介绍了【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

事先说一下,我本地的显卡4070只有12G显存,无法运行本地知识库,我把自己折腾的过程和遇到的坑先记录一下吧,后续如果有算力的话就再跑一遍试试。后续来了:【AI】使用阿里云免费服务器搭建Langchain-Chatchat本地知识库
Langchain-Chatchat曾用名Langchain-ChatGLM,是智谱AI的本地知识库项目,其官方介绍如下:🤖️ 一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
项目地址:https://github.com/chatchat-space/Langchain-Chatchat

之前有看过使用ChatGLM结合Langchain构建本地知识库的内容,随着ChatGLM3-6B模型的发布,我发现官方竟然也出了本地知识库的项目,试想肯定还是官方对项目的了解最深入,所以还是适用一下吧。官方wiki上推荐是Linux系统,但是由于我没有Linux的环境,所以还是尝试在Windows环境上跑一下吧。

1.环境搭建

wiki中环境的要求如下:
最低要求

该要求仅针对标准模式,轻量模式使用在线模型,不需要安装torch等库,也不需要显卡即可运行。

Python 版本: >= 3.8(很不稳定), < 3.12
CUDA 版本: >= 12.1
推荐要求

开发者在以下环境下进行代码调试,在该环境下能够避免最多环境问题。

Python 版本 == 3.11.7
CUDA 版本: == 12.1

根据上述要求,适用Anaconda创建虚拟环境,我这边选择的python版本是3.10

conda create -n chatchat python=3.10

然后去下载whl文件安装cuda版本的torch、torchvision、torchaudio;下载地址:https://download.pytorch.org/whl/torch_stable.html,根据自己需求下载即可
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
然后使用pip install直接安装即可。

2.代码准备

可以去github上拉取代码,也可以去官方文档的分享里去下载懒人包,我比较懒,所以选择了后者。
https://pan.baidu.com/s/1fHElFanrdK9Y-pTpeY_azg?pwd=glut

【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
解压chatchat和model,两者放在同级目录下面。
进入chatchat目录下面,可以看到官方给出了快速体验的bat启动文件,按照顺序启动1和2即可
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain

3.调试过程

懒人包中提供了虚拟环境等可供直接运行,我们之前准备的环境看样子也用不上,事情本来应该是很顺利的,但是很多情况事与愿违。

3.1模型本地化加载

由于项目在启动时需要联网加载Embedding 模型 BAAI/bge-large-zh ;如果运行环境不能魔法联网,就最好先去huggingface上把模型下载下来。
下载好之后,我把模型和ChatGLM3-6B放在一起
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
然后需要去修改一下模型加载的路径,这里可以参考chatglm的配置,配置在model_config.py文件中
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
修改如下:
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain

3.2解决爆显存问题

由于本地显存限制,加载ChatGLM3-6B需要13G的显存,直接运行fp16的模型显存直接爆掉了,所以我想着退而求其次,实施8Bit量化的模型能不能跑,启动程序其实最后是运行了python startup.py -a的启动命令,所以先去startup.py中找一下有没有配置8bit量化的地方。
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
看样子把这里改成True就好了,但是感觉直接在代码中改有点不够优雅,于是去看看配置文件,发现在server_config.py中存在开启的参数,于是修改,然后运行
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain

3.3解决webui不显示的问题

解决了模型的问题之后,点击第二个bat文件运行,发现能够正常启动了,API文档页也可以直接打开了,但是重要的webui页面却怎么也打不开,于是查看日志,发现了问题,原来是运行webui的环境变量出现了问题,导致启动webui进程的命令找不到python。于是还是去startup.py中找解决方法:
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
这里用subprocess的方式运行webui,又遇到知识盲点了,麻爪了,不知道在哪里设置python的路径了。
不能耽误到这里吧,然后我就想,反正程序里面也是单独运行的api和webui,我能不能开两个窗口去分别运行这两个东西呢。
你别说,还真可以,官方wiki下是这样描述一键启动的
【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑,人工智能,人工智能,langchain
那我就使用–all-api参数来运行吧
由于没有用懒人包中的虚拟环境,我们还需要将我们之前准备的环境装上依赖,这简单,我们直接去pip install -r requirements.txt好了。
不过需要注意的是,为了在Windows环境安装cuda版本的torch不出错,我们使用whl文件安装了torch相关的依赖,所以需要在requirements.txt中将这三个依赖注释掉,以防安装过程中冲突或又被不合时宜的版本覆盖了。
然后就可以愉快的运行api服务了

然后再使用streamlit运行webui

streamlit run webui.py  --server.address 127.0.0.1 --server.port 5678 --theme.base light --theme.primaryColor #165dff --theme.secondaryBackgroundColor #f5f5f5" --theme.textColor #000000

事情变得顺利了,webui界面出来了,测试对话也能够正常使用了。
本来因为都可以了,但是在创建文档知识库的时候报错了,报错是数据类型不适合,盲猜因为int8量化导致的模型参数值错误,所以应该是不能使用量化后的模型进行embedding操作之类的。后续看看能不能再找个大显存的环境测试一下。文章来源地址https://www.toymoban.com/news/detail-764833.html

到了这里,关于【AI】Langchain-Chatchat搭建本地知识库-未完,先记录踩的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(完结篇)

    相关文章: 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(一) https://blog.csdn.net/hya168/article/details/131460230 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二) https://blog.csdn.net/hya168/article/details/135870440 生成默认配置文件 此命令

    2024年02月20日
    浏览(55)
  • LangChain-Chatchat 开源知识库来了

    LangChain-Chatchat 是基于 ChatGLM 等大语言模型与 LangChain 等应用框架实现,开源、可离线部署的 RAG 检索增强生成大模型知识库项目。最新版本为 v0.2.10,目前已收获 26.7k Stars,非常不错的一个开源知识库项目。 项目地址:https://github.com/chatchat-space/Langchain-Chatchat 顾名思义,LangC

    2024年04月17日
    浏览(34)
  • LLMs之RAG:LangChain-Chatchat(一款中文友好的全流程本地知识库问答应用)的简介(支持 FastChat 接入的ChatGLM-2/LLaMA-2等多款主流LLMs+多款embe

    LLMs之RAG:LangChain-Chatchat(一款中文友好的全流程本地知识库问答应用)的简介(支持 FastChat 接入的ChatGLM-2/LLaMA-2等多款主流LLMs+多款embedding模型m3e等+多种TextSplitter分词器)、安装(镜像部署【AutoDL云平台/Docker镜像】,离线私有部署+支持RTX3090 ,支持FAISS/Milvus/PGVector向量库, 基于

    2024年02月08日
    浏览(46)
  • LangChain-Chatchat学习资料-Windows开发部署

    1.LacnChain-Chatchat项目 本人使用的是Windows10专业版22H2版本,已经安装了Python3.10,CUDA11.8版本,miniconda3。 硬件采用联想R9000P,AMD R7 5800H,16G内存,RTX3060 6G。 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再

    2024年02月11日
    浏览(33)
  • GPT实战系列-简单聊聊LangChain搭建本地知识库准备

    LangChain 是一个开发由语言模型驱动的应用程序的框架,除了和应用程序通过 API 调用, 还会: 数据感知 : 将语言模型连接到其他数据源 具有代理性质 : 允许语言模型与其环境交互 LLM大模型相关文章: GPT实战系列-简单聊聊LangChain GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡

    2024年02月01日
    浏览(34)
  • (一)AI本地知识库问答(可运行):LangChain+Chroma向量数据库+OpenAi大模型

    只需要看config目录下的config.py,data目录下的txt知识库文件,db向量数据库文件在持久化部署后会自动生成,route下的app.py,scripts目录下的Chroma向量库持久化部署.py这几个就可以,scripts目录下的考勤问答.py和test目录下都是单独的自己测试的小代码,可以不用关注 因为运行需要

    2024年02月03日
    浏览(34)
  • 基于Llama2和LangChain构建本地化定制化知识库AI聊天机器人

    参考: 本项目 https://github.com/PromtEngineer/localGPT 模型 https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML 云端知识库项目:基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人_Entropy-Go的博客-CSDN博客          相比OpenAI的LLM ChatGPT模型必须网络连接并通过API key云端调用模型,担心

    2024年02月08日
    浏览(42)
  • Langchain-Chatchat-Ubuntu服务器本地安装部署笔记

     Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM) QA app with langchain。         开源网址:https://github.com/chatchat-space/Langchain-Chatchat ​        因为这是自己毕设项目所需

    2024年04月08日
    浏览(48)
  • 使用chatglm搭建本地知识库AI_闻达

    最近大火的chatgpt,老板说让我看看能不能用自己的数据,回答专业一些,所以做了一些调研,最近用这个倒是成功推理了自己的数据,模型也开源了,之后有机会也训练一下自己的数据。 1.1双击打开anconda prompt创建虚拟环境 1.2下载pytorch(这里要根据自己的电脑版本下载)都

    2024年02月10日
    浏览(40)
  • 使用Langchain与ChatGLM实现本地知识库(二)

      大语言模型也只是将用户提供的大规模数据集训练而来,也并非万能的什么都知道,特别是一些小众知识、内部数据或私密的个人数据等,此时ChatGLM3肯定会胡乱回答就是ChatGPT4也不一定能给出满意回答;不少公司、个人都有自己的知识库或日志等此时如有可将这些数据以

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包