LangChain+ChatGLM基本原理及私有化部署

一、LangChain
1.作用:用于提升大型语言模型(LLMs)功能的框架,能够让大型语言模型结合外部的计算和数据源,并根据信息执行指定操作。
结合LLM大模型外部数据等,外部工具及数据等实现特定文档问答、聊天机器人、代理执行任务以及文本摘要。
2.核心组件:
Prompts(提示): 管理LLM输入工具
Compents(组件):为LLMs提供接口封装、模板提示和信息检索索引;
Chains(链):能将LLM与其他组件如外部API、数据库等连接起来组合起来解决复杂任务流程,如在大量文本中查找信息;
Agents(代理):使用LLM决策的工具,执行特定任务并生成文本输出,通常由动作、观察和决策三部分组成。
Memory(记忆):用来存储先前输入、输出或其他信息,保存记忆多次调用上下文或历史数据。
3.执行流程:
用户问题->语言模型生成向量->向量数据库搜索相似->语言模型->根据结果执行操作
二、ChatGLM
1.GLM框架:
整体基于Transformer基础三个微小改动:
重新排列了层归一化和残差连接的顺序、针对token的输出预测使用单一线性层、用GeLU替换ReLU激活函数。
2. 应用场景:
基于 GLM(Generative Language Model)的自然语言处理模型,它具备强大的文本生成能力和语义理解能力,可以为用户提供高质量的对话体验。

三、安装部署

  1. ChatGLM环境要求
    硬件配置:
    Int4 版本的 ChatGLM3-6B最低配置:
    内存>= 8GB
    显存>= 5GB(1060 6GB,2060 6GB
    FP16 版本的ChatGLM3-6B最低配置:
    内存>= 16GB
    显存>= 13GB(4080 16GB)
    软件环境:
    python>=3.10
    python 版本推荐3.10.12
    transformers 库版本推荐为 4.30.2
    torch 推荐使用 2.0 及以上的版本

2.ChatGLM源码安装部署
下载源码:

git clone https://github.com/THUDM/ChatGLM3.git

下载模型:
先安装git lfs命令

git lfs install
git clone https://swanhub.co/ZhipuAI/chatglm3-6b.git

安装依赖

cd ChatGLM3
pip install -r requirements.txt

安装cuda
参考安装Tesla驱动(Linux)_GPU云服务器(EGS)-阿里云帮助中心
运行openai_api_demo目录
(1)激活环境:conda activate xnenv
(2)进入目录:cd /home/chatglm/ChatGLM3/openai_api_demo
(3)启动应用:nohup python api_server.py > openai_api_demo.out &
主要4个接口:
接口1-检查服务健康状态(get):http://127.0.0.1:8000/health
接口2-列出可用模型列表(get):http://127.0.0.1:8000/v1/models/
接口3-处理聊天完整请求(post):http://127.0.0.1:8000/v1/chat/completions
接口4-处理文本输入列表嵌入请求(get):http://192.168.0.129:8000/v1/chat/embeddings

3.Langchain-Chatchat本地部署
基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,通过RAG提供了本地创建用户知识库的支持,使得在大语言模型基础上,可以接入用户数据,实现基于大语言模型的数据抽取和分析,并提供更加灵活友好的人性化交互方式。

安装python3.11: pip install python=3.11.7
下载源码:git clone https://github.com/chatchat-space/Langchain-Chatchat.git
安装依赖:cd Langchain-Chatchatpip install -r requirements.txt   pip install -r requirements_api.txtpip install -r requirements_webui.txt
下载模型:git lfs install wget https://hf-mirror.com/hfd/hfd.shchmod a+x hfd.shexport HF_ENDPOINT=https://hf-mirror.com./hfd.sh THUDM/chatglm3-6b --repo-type dataset生成配置:python copy_config_example.py创建向量数据库:python init_database.py --recreate-vs修改configs/model_config.py以及configs/server_config.py适配平台环境启动服务: python startup.py -a访问: http://localhost:8501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】传输层(作业)

1、OSI参考模型中,提供端到端的透明数据传输服务、差错控制和流量控制的层是(C)。 A. 物理层B. 网络层C. 运输层D. 会话层 2、运输层为(B)之间提供逻辑通信。 A. 主机B. 进程C. 路由器D. 操作系统 3、运输层面向连接…

开发个人OpenUI--2 环境搭建

开发个人OpenUI–2 环境搭建 2.1 环境要求 Golang 1.22 Etcd Docker Redis Mysql 2.2Docker本地开发环境搭建 这里使用 Docker Compose 来编排管理我们的容器,docker-compose.yaml: version: 3.8services:mysql:image: mysql:8.0.18container_n…

RT-Thread Studio与CubeMX联合编程之rtthread stm32h743的使用(十一)spi设备SFUD驱动的使用

我们要在rtthread studio 开发环境中建立stm32h743xih6芯片的工程。我们使用一块stm32h743及fpga的核心板完成相关实验,核心板如图: 1.建立新工程,选择相应的芯片型号及debug引脚及调试器 2.编译下载,可以看到串口打印正常 3.…

Hubstudio指纹浏览器:海外代理IP新选择,IPXProxy为何备受推崇?

许多人都会把Hubstudio指纹浏览器和代理IP进行搭配使用,为了保证网络操作的顺利进行,例如亚马逊的多账号管理。那有没有好用的海外代理IP呢,如何在Hubstudio指纹浏览器中使用代理IP呢? 下面就给大家推荐好用的一家海外IP代理&…

积鼎CFD:基于Virtualflow在溃坝洪水演进数值仿真分析

近期,多地遭受了前所未有的洪水侵袭,每一次灾害都如同警钟长鸣,提醒我们水库大坝安全的重要性,超标准暴雨的突袭让大坝的安全防线面临前所未有的考验。面对这一挑战,CFD技术可为溃坝洪水的预测与管理开辟新的路径。凭借…

cesium 实现三维无人机航拍过程实景效果

需求背景 需要实现一个动态的三维无人机航拍过程实景效果 代码开发中&#xff0c;迭代功能待续... 解决效果 cesium 实现三维无人机航拍过程实景效果 index.vue <template><div><el-button class"btn" click"start">开始</el-butt…

vue根据文字长短展示跑马灯效果

介绍 为大家介绍一个我编写的vue组件 auto-marquee &#xff0c;他可以根据要展示文本是否超出展示区域&#xff0c;来判断是否使用跑马灯效果&#xff0c;效果图如下所示 假设要展示区域的宽度为500px&#xff0c;当要展示文本的长度小于500px时&#xff0c;只会展示文本&…

如何借助物联网实现农情监测与预警

如何借助物联网实现农情监测与预警&#xff1f; 物联网技术&#xff0c;作为信息技术与传统行业的深度融合产物&#xff0c;正逐步变革着农业生产的管理模式&#xff0c;特别是在农情监测与预警领域展现出巨大潜力。其核心在于通过感知层的各类传感器、通信层的数据传输技术以…

高编:线程

一、pthread 线程 优点&#xff1a; 比多进程节省资源&#xff0c;可以共享变量。 概念&#xff1a; 线程是轻量级进程&#xff0c;一般是一个进程中的多个任务。进程是系统中最小的资源分配单位.线程是系统中最小的执行单位 特征&#xff1a; 1、共享资源 2、效率高 …

qt可点击的QLabel

需求——问题与思路 使用wpf实现一个可点击的超链接label相当简单&#xff08;如下图&#xff09;&#xff0c;但是qt的QLabel不会响应点击事件&#xff0c;那就从QLabel继承一个类&#xff0c;然后在该类中重写mousePressEvent函数&#xff0c;并在该函数中对左键点击事件做响…

AI硬件加速版XVDPU入门

XVDPU是可以提高CNN计算的速度和延迟&#xff0c;他的目标不是直接替换软件在传统硬件或者通用GPU上实现CNN运算。他的目标就是加速CNN计算。 XVDP的实现方式&#xff1a;CNN卷积计算的是 原始图形矩阵{x行*y列*通道数a}*卷积滑块{w行g列t通道}卷积后的图形{m行*n列*通道数b} …

应对SQL注入攻击:保障网站安全的策略

在互联网的广阔天地中&#xff0c;网站安全始终是站长用户和企业开发者不可忽视的重要议题。其中&#xff0c;SQL注入攻击作为一种常见的网络攻击手段&#xff0c;严重威胁着网站的数据安全和业务稳定。什么是SQL注入攻击&#xff0c;我们该如何应对这种攻击呢&#xff1f;今天…

第1篇 什么是区块链?——从零开始的区块链入门指南

在这个信息爆炸的时代&#xff0c;区块链这个词儿已经成了热词儿。那么&#xff0c;区块链到底是啥玩意儿呢&#xff1f;别急&#xff0c;今天咱们就从头开始&#xff0c;给你掰扯掰扯区块链的来龙去脉&#xff0c;让你轻松入门。 一、区块链的定义 想象一下&#xff0c;区块…

T568A与T568B:网络线标准的差异

T568A和T568B是两种常见的网络线标准&#xff0c;用于在以太网中连接计算机和网络设备。它们定义了线缆中各个线对的连接方式&#xff0c;确保了数据 的传输质量和网络的可靠性。本文将详细介绍T568A和T568B之间的区别&#xff0c;并提供相应的源代码作为示例。 1.T568A标准 …

成都欣丰洪泰文化传媒有限公司电商服务的新星力量

在当今这个数字化飞速发展的时代&#xff0c;电商行业如日中天&#xff0c;成为拉动经济增长的新引擎。在这股浪潮中&#xff0c;一家名为成都欣丰洪泰文化传媒有限公司的企业&#xff0c;凭借其专业的电商服务能力和创新的营销策略&#xff0c;成为了众多品牌背后的强大推手。…

怎么保护CAD图纸丨CAD图纸防泄密方法推荐

怎么保护CAD图纸丨CAD图纸防泄密方法推荐 在现代工程设计和建筑行业中&#xff0c;CAD图纸承载着项目的核心信息&#xff0c;是极其重要的知识产权。一旦CAD图纸被盗或泄露&#xff0c;不仅可能导致商业机密的丧失&#xff0c;还可能给公司带来重大经济损失&#xff0c;甚至面…

上海市计算机学会竞赛平台2023年5月月赛丙组区间最大公约数

题目描述 给定两个正整数&#x1d43f;,&#x1d445;L,R&#xff0c;你可以任意选择两个正整数&#x1d465;,&#x1d466;x,y且满足&#x1d43f;≤&#x1d465;<&#x1d466;≤&#x1d445;L≤x<y≤R&#xff0c;并求出&#x1d465;,&#x1d466;x,y的最大公约…

leetcode hot100 第三题:最长连续序列(Java)

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4 解…

AI新功能发布:AI生成数据库和AI规划任务,CoCodeAI再添新成员!

Hi&#xff0c;大家好&#xff0c;好久不见&#xff01; 我是CoCodeAI智能助手CoCo。 CoCodeAI智能助手CoCo 我无比荣幸地为大家揭晓 CoCode开发云的璀璨新星&#xff1a; AI生成数据库AI规划任务。 近日&#xff0c;CoCode开发云旗下Co-Project V3.8智能项目管理平台重磅发…