当前位置:   article > 正文

LangChain + ChatGLM-6B / ChatGLM2-6B 新手踩坑指南!_langchain结合chatglm2

langchain结合chatglm2

LangChain-ChatGLM-6B基本简介:

1、项目资源来源链接:

基于本地知识库的 ChatGLM 问答https://github.com/imClumsyPanda/langchain-ChatGLM

2、项目原理:

加载文件 ➝ 读取文本 ➝ 文本分割 ➝ 文本向量化 ➝ 问句向量化 ➝ 在文本向量中匹配出与问句向量最相似的top k个 ➝ 匹配出的文本作为上下文和问题一起添加到prompt中 ➝ 提交给LLM生成回答。

3、硬件需求:

  • ChatGLM-6B 模型硬件需求
量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)
FP16(无量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB
  • Embedding 模型硬件需求

    本项目中默认选用的 Embedding 模型 GanymedeNil/text2vec-large-chinese 约占用显存 3GB,也可修改为在 CPU 中运行。

4、软件需求:

    本项目已在 Python 3.8.1 - 3.10,CUDA 11.7 环境下完成测试。已在 Windows、ARM 架构的 macOS、Linux 系统中完成测试。vue前端需要node18环境。

5、更多介绍详见“项目资源来源链接”。

LangChain-ChatGLM-6B的开发部署:

安装的资源链接:https://github.com/imClumsyPanda/langchain-ChatGLM/blob/master/docs/INSTALL.md

1、第一步,配置安装环境。

    检查机器是否安装了 Python 3.8 及以上版本。(若版本低于3.8,可见“安装的资源链接”使用conda安装环境并激活)

我的服务器python版本为3.8.10

2、 第二步,进行项目依赖包安装。

    具体步骤可见“安装的资源链接”。在其过程中我遇到的问题以及解决方法:

  • 问题1、No module named 'configs'

        解决方法:经过试错,排除了“模型找不到该文件”或“该文件未下载到本地”的错误。最终发现该模型先读取了系统的configs,与本地的configs冲突。因此,将本地文件中所有的configs重命名为configs2并替换文档代码中所有的configs名称,即可成功安装。

  • 问题2、No module named 'configs.model_config'

        解决方法:同上一个问题,将configs.model_config全部改为configs2.model_config,并替换文档代码中所有的configs.model_config名称,即可成功安装。

3、第三步,执行脚本体验Web UI或命令行交互。

具体步骤可见“项目资源来源链接”。

鉴于环境部署过程中可能遇到问题,建议命令行脚本测试可正常运行后再运行 Web UI

 

  • 在体验命令行交互遇到的问题及解决方法:

  问题:在执行cli_demo.py脚本体验命令行交互中,遇到了下载出错的问题(8个文件只能下载四个)。

  解决方法:找到了错误在我服务器/home/sre/python/chatGPT/里,在其中加了镜像即可下载后面的四个文件。镜像代码:

tokenizer = AutoTokenizer.from_pretrained(new_dir, trust_remote_code=True, mirror="tuna")

model = AutoModel.from_pretrained(new_dir, trust_remote_code=True, mirror="tuna").half().cuda()

  • 在体验Web交互遇到的问题及解决方法:

  问题:配置好后不输出页面

  解决方法:直接将自己服务器的地址加上程序输出的URL结合,将结合后的网址输入进自己的浏览器即可访问使用。

如我的服务器地址为192.168.5.65,加上程序输出的URL,结合后为:192.168.5.65:7860,访问结合后的地址即可使用。

LangChain-ChatGLM2-6B的配置方法

    将langchain-ChatGLM目录下的configs2中LLM 名称:LLM_MODEL = "chatglm-6b"中的chatglm-6b改为chatglm2-6b,即可运行,其他运行或修正方法同langchain-ChatGLM。

小结

    以上就是我在配置并使用LangChain-ChatGLM-6B/ ChatGLM2-6B 得到的不踩坑指南分享,希望可以帮到各位!欢迎关注或发私信与我共同讨论更多该大模型领域知识~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/255483
推荐阅读
相关标签
  

闽ICP备14008679号