LangChain-ChatGLM在WIndows10下的部署

这篇具有很好参考价值的文章主要介绍了LangChain-ChatGLM在WIndows10下的部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LangChain-ChatGLM在WIndows10下的部署

参考资料

1、LangChain + ChatGLM2-6B 搭建个人专属知识库中的LangChain + ChatGLM2-6B 构建知识库这一节:基本的逻辑和步骤是对的,但要根据Windows和现状做很多调整。

2、没有动过model_config.py中的“LORA_MODEL_PATH_BAICHUAN”这一项内容,却报错:对报错“LORA_MODEL_PATH_BAICHUAN”提供了重要解决思路,虽然还不是完全按文中的方式解决的。

3、[已解决ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: ‘e:\anaconda\install_r])(https://blog.csdn.net/yuan2019035055/article/details/127078460)

解决方案

一、下载源码

采用git clone方式一直不成功,建议直接到github上搜索langchain-chatglm,在https://github.com/chatchat-space/langchain-ChatGLM页面,点击“CODE”->点击“Download ZIP”,直接下载源码,然后将文件夹改为名LangChain-ChatGLM,放到D:\_ChatGPT\langchain-chatglm_test目录下:

二、安装依赖

1、进入Anaconda Powershell Prompt

2、进入虚拟环境

conda activate langchain-chatglm_test

3、进入目录

cd D:\_ChatGPT\langchain-chatglm_test\langchain-ChatGLM

4、安装依赖

pip install -r requirements.txt --user     
pip install peft
pip install timm
pip install scikit-image
pip install torch==1.13.1+cu116 torchvision torchaudio  -f  https://download.pytorch.org/whl/cu116/torch_stable.html

三、下载模型

3.1、下载chatglm2-6b模型

1、进入Anaconda Powershell Prompt

2、创建保存chatglm2-6b的huggingface模型的公共目录。之所以创建一个公共目录,是因为这个模型文件是可以被各种应用共用的。注意创建目录所在磁盘至少要有30GB的空间,因为chatglm2-6b的模型文件至少有23GB大小。并进入该目录

mkdir -p D:\_ChatGPT\_common
cd D:\_ChatGPT\_common

3、安装 git lfs

git lfs install

4、在这里下载chatglm2-6b的huggingface模型文件。

git clone https://huggingface.co/THUDM/chatglm2-6b

5、下载完成后,将模型文件的目录名改为chatglm2-6b,因为Windows下目录如果有减号,后续应用处理会出错。

6、如果之前已下载该模型,则不必重复下载。

3.2、下载text2vec模型

1、进入Anaconda Powershell Prompt,进入公共目录

cd D:\_ChatGPT\_common

2、安装 git lfs

git lfs install

3、在这里下载text2vec的huggingface模型文件。

git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese

4、下载完成后,将目录改为text2vev,因为Windows下目录如果有减号,后续应用处理会出错。

四、参数调整

4.1、model_config.py文件

1、进入configs目录,修改其下的model_config.py文件,
对embedding_model_dict的参数

embedding_model_dict = {
    ...
    "text2vec": r"D:\_ChatGPT\_common\text2vec",
    ...
}

修改llm_model_dict参数。

llm_model_dict = {
    ...
    "chatglm-6b": {
        ...
        "pretrained_model_name": r"D:\_ChatGPT\_common\chatglm2_6b",
        "...
    },
    ...
}

将LLM_MODEL的值做修改:

LLM_MODEL = "chatglm2-6b"

4.2、loader.py文件

1、进入modes\loader目录,修改loader.py文件

2、在if LORA_MODEL_PATH_BAICHUAN:前加一句LORA_MODEL_PATH_BAICHUAN = False,如下所示:

            if torch.cuda.is_available() and self.llm_device.lower().startswith("cuda"):
                # 根据当前设备GPU数量决定是否进行多卡部署
                num_gpus = torch.cuda.device_count()
                if num_gpus < 2 and self.device_map is None:
                    # if LORA_MODEL_PATH_BAICHUAN is not None:
                    LORA_MODEL_PATH_BAICHUAN = False
                    if LORA_MODEL_PATH_BAICHUAN:

3、在每一个mode = XXX.from_pretrained(XXX)后面加上.quantize(8).cuda(),对模型进行量化,否则加载会报内存不够的错误。

五、启动

1、关闭fanqiang软件
2、运行如下命令

python .\webui.py

3、访问http://localhost:7860

六、上传文档进行问答

1、在http://localhost:7860界面,在请选择要加载的知识库,选择samples

2、向知识库中添加一个文件,点击上传文件并加载,等待几分钟以后,模型完成训练,即可针对上传的文件进行问答。
LangChain-ChatGLM在WIndows10下的部署,大模型,langchain,语言模型文章来源地址https://www.toymoban.com/news/detail-647465.html

到了这里,关于LangChain-ChatGLM在WIndows10下的部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • langchain系列1- langchain-ChatGLM

    这部分代码使用了 Gradio 库提供的两个函数: queue 和 launch 。 在这里, demo 是一个 Interface 类的实例对象, queue 函数用于设置应用程序的并发请求数量。 concurrency_count 参数用于指定并发请求数量,以获得更快的处理速度和更好的性能。例如,在这里设置为 3 ,则表示该应用程

    2024年02月13日
    浏览(34)
  • langchain-ChatGLM源码阅读:参数设置

    上下文关联相关参数: 知识相关度阈值score_threshold 内容条数k 是否启用上下文关联chunk_conent 上下文最大长度chunk_size 其主要作用是在所在文档中扩展与当前query相似度较高的知识库的内容,作为相关信息与query按照prompt规则组合后作为输入获得模型的回答。 获取查询句query嵌

    2024年02月14日
    浏览(35)
  • Langchain-ChatGLM配置文件参数测试

    1 已知可能影响对话效果的参数(位于configs/model_config.py文件): 其中可能对读取知识库影响较大的变量有CHUNK_SIZE(单段参考上下文的长度),VECTOR_SEARCH_TOP_K(知识库参考文段数量),和VECTOR_SEARCH_SCORE_THRESHOLD(知识库匹配内容需要达到的最小相关度)。本实验将通过向不同

    2024年02月16日
    浏览(29)
  • langchain-ChatGLM源码阅读:webui.py

    使用gradio设置页面的视觉组件和交互逻辑,位于 webui.py 监听到前端的事件后调用的回调函数,负责实现前后端交互。需要注意的一点是,chatbot中显示新的聊天内容并不是在原来的基础上添加,而是从头到尾的重新打印,所以基本上每个函数都要传旧的history和返回新的histor

    2024年02月14日
    浏览(29)
  • 2M大小的PDF文档上传到LangChain-ChatGLM知识图谱中,大致需要的时间

    对于将2M大小的PDF文档上传到LangChain-ChatGLM知识图谱中,大致需要的时间如下: PDF到文本的提取转换:若PDF内容主要为文本,此步骤约需要1-2分钟。 提取的文本经过预处理与分析:此步骤需要对文本进行分词、命名实体识别等处理,约需要2-5分钟。 抽取文本中的结构化知识(实体、关

    2024年02月08日
    浏览(32)
  • ChatGLM2-6B在windows下的部署

    1、Windows 10 专业版, 64位,版本号:22H2,内存:32GB 2、已安装CUDA11.3 3、已安装Anaconda3 64bit版本 4、有显卡NVIDIA GeForce RTX 3060 Laptop GPU 1、进入Anaconda Powershell Prompt 2、创建保存chatglm2-6b的huggingface模型的公共目录。之所以创建一个公共目录,是因为这个模型文件是可以被各种应用

    2024年02月13日
    浏览(39)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(67)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践 | 京东云技术团队

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(37)
  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二)

    接上文:从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库 Langchain-chatchat 0.2.10 推荐使用python3.11.7,通过下面命令进行python环境创建。 如下图 安装完毕后,通过以下命令激活python虚拟环境 如下图,shell命令行前面会出现(langchain)这个虚拟环境名。 转到

    2024年03月21日
    浏览(43)
  • 从零开始部署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日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包