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

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

此系列文章列表:

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

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

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

【AI基础】第三步:纯天然手动安装并运行chatglm2-6b-CSDN博客

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

一、安装miniconda

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

二、安装CUDA、cuDNN和pyTorch

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

三、安装langchain

3.1 创建python运行环境

bash 复制代码
> conda create --name langchain python=3.11
> conda activate langchain

目前推荐使用python 3.11版本。

3.2 拉取Langchain代码

bash 复制代码
# 拉取最新代码
> 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 安装依赖

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

安装完成:

3.4 下载模型

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

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

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

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

以百度飞浆为例:

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

3.5 修改配置文件

3.5.1 初始化配置文件

执行命令

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

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",

...

}

}

3.5.2.2 修改嵌入模型地址

MODEL_PATH = {

"embed_model": {

...

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

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

...

}

}

3.5.2.3 配置使用的大模型及运行设备

LLM 名称

LLM_MODELS = ["chatglm2-6b"]

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

LLM_DEVICE = "cuda"

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

选用的 Embedding 名称

EMBEDDING_MODEL = "m3e-base"

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

EMBEDDING_DEVICE = "cuda"

3.6 初始化向量库

3.6.1 修复代码

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

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

文件内容:

python 复制代码
from os import *
from pwd import *
def get_username():
    return getpwuid(getuid())[0]

3.6.2 初始化向量库

bash 复制代码
> python init_database.py --recreate-vs

运行结果:

四、运行检验

4.1 运行

bash 复制代码
> python startup.py -a

运行结果:

运行成功:

4.2 浏览器访问

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

五、参考

GitHub - Langchain-Chatchat(原Langchain-ChatGLM)

相关推荐
寻星探路24 分钟前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
Codebee2 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º3 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys3 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56783 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子3 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能3 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144874 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile4 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能5774 小时前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert