LangChain+ChatGLM大模型应用落地实践(一)

news/2025/1/1 21:46:22/

LLMs的落地框架(LangChain),给LLMs套上一层盔甲,快速构建自己的新一代人工智能产品。

  • 一、简介
  • 二、Lanchain源码
  • 三、租用云服务器实例
  • 四、部署实例

一、简介

LangChain是一个近期非常活跃的开源代码库,目前也还在快速发展中,旨在让大家快速构建自己的LLM对话产品。当然,该框架也支持自定义接入其他机构、企业开源的LLMs的API和模型(比如:ChatGLM、文心一言等)。

届时,LangChain的版本已经更新到0.0.123,目前保持着每天1发版的更新速度。

LangChain主要包括以下几个主要的模块:

Prompt Templates:支持自定义Prompt工程的快速实现以及和LLMs的对接;
LLMs:提供基于OpenAI API封装好的大模型,包含常见的OpenAI大模型,也支持自定义大模型的封装;
Utils:大模型常见的植入能力的封装,比如搜索引擎、Python编译器、Bash编译器、数据库等等;
Chains(重点):大模型针对一系列任务的顺序执行逻辑链;
Agents(重点):通常Utils中的能力、Chains中的各种逻辑链都会封装成一个个工具(Tools)供Agents进行智能化调用;
其中,Chains和Agents两个模块是LangChain的亮点,也是后续教程中会重点展开的内容。

目前LangChain支持调用的OpenAI模型可以在官方文档([文档, OpenAI, Models])中查询;

LangChain 支持大量用例,例如:

针对特定文档的问答:根据给定的文档回答问题,使用这些文档中的信息来创建答案。
聊天机器人:构建可以利用 LLM 的功能生成文本的聊天机器人。
Agents:开发可以决定行动、采取这些行动、观察结果并继续执行直到完成的代理。

二、Lanchain源码

Github 地址
https://github.com/imClumsyPanda/langchain-ChatGLM

https://github.com/hwchase17/langchain

三、租用云服务器实例

https://www.lanrui-ai.com/
注意收费有点贵,只用于训练时使用!!!

四、部署实例

  1. 实例开启后,选择JupyterLab进入后,启动命令行。

在这里插入图片描述
在这里插入图片描述

  1. 环境准备与数据下载:

    #克隆LangChain-ChatGLM项目
    git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git
    ​进入langchain-ChatGLM文件夹
    cd langchain-ChatGLM/#项目中 pdf 加载由先前的 detectron2 替换为使用 paddleocr,如果之前有安装过 detectron2 需要先完成卸载避免引发 tools 冲突
    pip uninstall detectron2​
    如果不需要对 pdf 格式文件读取,可不安装 detectron2;如需对 pdf 文件进行高精度文本提取,建议按照如下方法安装:
    $ git clone https://github.com/facebookresearch/detectron2.git
    $ cd detectron2
    $ pip install -e .#安装依赖
    pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
    ​
    #安装protobuf   --- 安装失败也可以跳过
    pip install protobuf==3.20.1
    ​
    #安装peft
    pip install peft
    ​
    #将gradio升级到3.28.3
    pip install --upgrade gradio
    ​
    #安装git1fs
    git lfs install
    ​
    #如果安装安装git1fs时出现以下错误:git: 'lfs' is not a git command. See 'git --help'. 则使用以下指令。
    ​
    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
    sudo apt-get install git-lfs
    ​
    #退回根目录
    cd ~
    ​
    #创建存放数据的文件夹(autodl-tmp为数据盘,将模型下载到数据盘中)
    mkdir data/your_path/
    ​
    #下载LLM模型(文件比较大需要等一会)
    git clone https://huggingface.co/THUDM/chatglm-6b data/your_path//chatglm-6b
    ​
    #下载Embedding模型
    git clone https://huggingface.co/GanymedeNil/text2vec-base-chinese data/your_path/text2vec-base-chinese
    
  2. 修改配置文件

    在langchain-ChatGLM/configs/model_config.py中修改Embedding、LLM模型名称及地址:
    在这里插入图片描述
    修改LLM模型地址:
    在这里插入图片描述

    LLM_MODEL = “chatglm-6b” //LLM名称

    OPEN_CROSS_DOMAIN = True // 开启跨域

在langchain-ChatGLM/webui.py中修改端口号为6006。
在这里插入图片描述

  1. 启动对话web页面
    进入langchain-ChatGLM文件中

    python webui.py
    

    启动成功
    在这里插入图片描述

langchain-ChatGLM WebUI成功部署,就可以导入自己的知识库进行测试了。
在这里插入图片描述


http://www.ppmy.cn/news/994434.html

相关文章

查找-多路查找详解篇

多路查找树 多路查找树(Multway Search Tree)是一种高级的树形数据结构,它 允许每个节点有多个子节点(通常大于等于2)。多路查找树的每个节点 可以存储多个关键字和对应的值。分类 2-3树(2-3 Tree&#x…

正则表达式速通

简介 正则表达式,我们可以看作通配符的增强版,可以帮我们匹配指定规则的字符串,在计算机中应用广泛,比如说爬虫、网站的登录表单等。 原视频:https://www.bilibili.com/video/BV1da4y1p7iZ 学习正则表达式的常用工具…

《数据同步-NIFI系列》Nifi配置DBCPConnectionPool连接SQL Server数据库

Nifi配置DBCPConnectionPool连接SQL Server数据库 一、新增DBCPConnectionPool 在配置中新增DBCPConnectionPool,然后配置数据库相关信息 二、配置DBCPConnectionPool 2.1 DBCPConnectionPool介绍 主要介绍以下五个必填参数 Database Connection URL&#xff1…

C语言每日一题:9.《数据结构》链表的中间节点+链表的倒数第k个节点。

第一题: 题目链接: >思路一: 1.第一遍遍历链表,直到找到尾结束第一次遍历,遍历的过程中记录链表长度。定义长度为k。 2.确定中间是第几个节点,计算是k/21根据题目要求。 3.再一次去遍历我们的数组&…

MyBatis小记——逆向工程

目录 MyBatis 逆向工程的使用 使用逆向工程根据数据库中的表来生成对应的bean以及mapper 在当前工程根目录下创建一个mbg.xml文件 用来配置要生成的bean 和 mapper的信息 使用逆向工程的代码和逆向工程的配置文件来生成对应的bean和mapper 在org.westos.test 包下建一个类运…

立体库-库龄

split 用法第一种: 1.对单个字符进行分割(注意这里是字符,不是字符串,故只能用单引号‘’) string sabcdeabcdeabcde; string[] sArrays.Split(c) ; foreach(string i in sArray) Console.WriteLine(i.ToString());…

119、Spring容器启动流程是怎样的(配有Spring启动完整流程图)

Spring容器启动流程是怎样的 在创建Spring容器,也就是启动Spring时:首先会进行扫描,扫描得到所有的BeanDefinition对象,并存在一个Map中然后筛选出非懒加载的单例BeanDefinition进行创建Bean,对于多例Bean不需要在启动…

前端食堂技术周刊第 92 期:VueConf 2023、TypeChat、向量数据库、Nuxt 服务器组件指南

美味值:🌟🌟🌟🌟🌟 口味:整颗牛油果酸奶 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先…