【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

码农世界 2024-06-17 后端 102 次浏览 0个评论

在第三步手动安装chatglm2-6b时,已经可以通过web进行交互。langchain重新封装了一下AI框架,提供更加友好的开发功能,类似于AI届的spring框架。langchain的安装过程也类似于上一步说的:【AI基础】第三步:纯天然手动安装并运行chatglm2-6b-CSDN博客。这里选择 langchain-chatchat。

此系列文章列表:

【AI基础】概览

【AI基础】第一步:安装python开发环境-windows篇_下载安装ai环境python

【AI基础】第一步:安装python开发环境-conda篇_minicode怎么换虚拟环境

【AI基础】第二步:安装AI运行环境

【AI基础】第三步:纯天然保姆喂饭级-安装并运行chatglm2-6b

【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b

【AI基础】第五步:纯天然保姆喂饭级-安装并运行chatglm3-6b

【AI基础】第六步:纯天然保姆喂饭级-安装并运行qwen2-7b

一、安装miniconda

参考 【AI基础】第一步:安装python开发环境-conda篇_minicode怎么换虚拟环境-CSDN博客

二、安装CUDA、cuDNN和pyTorch

参考 【AI基础】第二步:安装AI运行环境-CSDN博客

三、安装langchain

3.1 创建python运行环境

> conda create --name langchain python=3.11
> conda activate langchain

 目前推荐使用python 3.11版本。

3.2 拉取Langchain代码

# 拉取最新代码
> git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 拉取指定版本
> git clone -b v0.2.10 https://github.com/chatchat-space/Langchain-Chatchat.git

这里指定v0.2.10版本。

 3.3 安装依赖

# 进入项目目录
> cd Langchain-Chatchat
# 安装全部依赖,并使用清华源
> pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装完成:

【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

3.4 下载模型

这里使用大模型chatglm2-6b和嵌入模型 M3e-base。

3.4.1 大模型chatglm2-6b下载地址: 

​​​​​​【AI基础】第三步:纯天然手动安装并运行chatglm2-6b-下载大模型文件-CSDN博客

3.4.2 嵌入模型M3e-base下载地址:

  • huggingface地址:https://huggingface.co/moka-ai/m3e-base
  • 国内百度飞浆地址: 中文文本嵌入模型m3e-base_数据集-飞桨AI Studio星河社区

    以百度飞浆为例:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    3.4.3 下载完成

    下载后解压m3e-base.zip,和另外两个文件放在同一个文件夹,最终结果如下:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    3.5 修改配置文件

    3.5.1 初始化配置文件

    执行命令

    # 此命令负值配置文件,并移除后缀 example
    > python copy_config_example.py

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    3.5.2 修改model_config.py

    3.5.2.1 修改大模型地址

    MODEL_PATH = {

        "llm_model": {

            "chatglm2-6b": "d:\\ai\\llms\\chatglm2-6b",

            "chatglm2-6b-32k": "THUDM/chatglm2-6b-32k",

            ...

        }

    }

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base3.5.2.2 修改嵌入模型地址

    MODEL_PATH = {

        "embed_model": {

            ...

            "m3e-base": "E:\\llm_models\\m3e-base",

            "m3e-large": "moka-ai/m3e-large",

            ...

        }

    }

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base 3.5.2.3 配置使用的大模型及运行设备

    # LLM 名称

    LLM_MODELS = ["chatglm2-6b"]

     

    # LLM 运行设备。设为"auto"会自动检测,也可手动设定为"cuda","mps","cpu"其中之一。

    LLM_DEVICE = "cuda"

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    3.5.2.4 配置使用的嵌入模型及运行设备

    # 选用的 Embedding 名称

    EMBEDDING_MODEL = "m3e-base"

    # Embedding 模型运行设备。设为"auto"会自动检测(会有警告),也可手动设定为"cuda","mps","cpu","xpu"其中之一。

    EMBEDDING_DEVICE = "cuda"

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    3.6 初始化向量库

    3.6.1 修复代码

    在v0.2.10版本中,初始化向量库时调用了pwd模块,此模块只在linux系统存在,如果在windows下运行会提示错误:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    所以这里需要模拟一个pwd模块,在conda的当前环境的lib目录下新建pwd.py:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    文件内容:

    from os import *
    from pwd import *
    def get_username():
        return getpwuid(getuid())[0]

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

     3.6.2 初始化向量库

    > python init_database.py --recreate-vs

    运行结果:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    四、运行检验

    4.1 运行

    > python startup.py -a

    运行结果: 

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

    运行成功: 

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base 4.2 浏览器访问

    默认会打开浏览器并访问 http://127.0.0.1:8501:

    【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

     五、参考

    GitHub - Langchain-Chatchat(原Langchain-ChatGLM)

转载请注明来自码农世界,本文标题:《【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,102人围观)参与讨论

还没有评论,来说两句吧...

Top