Langchain+LLM

LangChain是一个开源框架,允许开发人员在与人工智能(AI)一起工作时将大型语言模型(如GPT4)与外部计算和数据源相结合(它提供了一套工具、组件和接口,可简化创建由LLM提供支持的应用程序)。该框架目前提供Python和Js两种版本。
fig1
Langchain的核心模块如下:

  • Modules:支持的模型类型和集成,如:openai,huggingface等;
  • Prompt:提示词管理、优化和序列化,支持各种自定义模板;
  • Memory:内存管理(在链/代理调用之间持续存在的状态);
  • Indexes:索引管理,方便加载、查询和更新外部数据;
  • Agents:代理,是一个链,可以决定和执行操作,并观察结果,直到指令完成;
  • Callbacks:回调,允许记录和流式传输任何链的中间步骤,方便观察、调试和评估。

到目前为止,我们都知道ChatGPT(GPT4)拥有令人印象深刻的广泛知识,我们几乎可以询问任何问题,都能得到相当不错的答案。假设想从自己的数据、自己的文档中获取特定的信息,这可能是一本书、一个PDF文件、一个带有专有信息的数据库,LangChain允许我们连接像GPT4这样的大型语言模型到自己的数据源中。这里我们不是指将文本文档的片段粘贴到ChatGPT中,而是将LLM指引到我们自己的数据源。

Langchain+LLM为无数的实际应用打开了大门,我们可以将其与数据分析领域中的数据相连接,通过LLM为我们分析数据,给出我们想要的答案。

下面是一个ChatGLM+Langchain的项目:https://github.com/chatchat-space/Langchain-Chatchat

项目实现原理如下图所示,过程包括:加载文件 > 读取文本 > 文本分割 > 文本向量化 > 问句向量化 > 在文本向量中匹配出与问句向量最相似的 top k个 > 匹配出的文本作为上下文和问题一起添加到prompt中 > 提交给 LLM生成回答。
fig2
从文档处理角度来看,实现流程如下:
fig3

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

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

相关文章

MySQL的基础操作

前言 对MySQL的一些基础操作做一下学习性的总结,基本上是照着视频写的。 MySQL的安装 MySQL的下载 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ 配置环境变量 下载之后直接解压&#xff0c…

回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测(多指标,多图)效果一览基本介绍…

前端进阶Html+css09----BFC模型

1.什么是BFC模型 全称是:Block formatting context(块级格式化上下文),是一个独立的布局环境,不受外界的影响。 2.FC,BFC,IFC 元素在标准流里都属于一个FC(Formatting Context)。 块级元素的布…

STM32--ADC模数转换

文章目录 ADC简介逐次逼近型ADCADC框图转换模式数据对齐转换时间校准ADC基本结构ADC单通道工程代码: ADC简介 STM32的ADC(Analog-Digital Converter)模拟-数字转换器,是一种逐次逼近型模拟数字转换器,可以将引脚上连续…

大学生创业出路【第二弹】科创训练营

目录 🚀一、我从哪里了解到的训练营 🚀二、训练营里学习和日常 🔎学习 🔎环境和设备 🔎遇到的人 🔎团队记录视频 🚀三、感悟 ​​​​个人主页:一天三顿-不喝奶茶&#x1f39…

【视觉SLAM入门】5.2. 2D-3D PNP 3D-3D ICP BA非线性优化方法 数学方法SVD DLT

"养气之学,戒之躁急" 1. 3D-2D PNP1.1 代数法1.1.1 DLT(直接线性变换法)1.1.2. P3P 1.2 优化法BA (Bundle Adjustment)法 2. 3D-3D ICP2.1 代数法2.1.1 SVD方法 2.2 优化(BA)法2.2.2 非线性优化方法 前置事项: 1. 3D-2D PNP 该问题描述为&am…

Windows安装 Elasticsearch 教程

下载地址 Past Releases of Elastic Stack Software | Elastic 解压 解压完的样子 进入BIN目录 D:\Develop\elasticsearch\elasticsearch-7.12.0\bin 按住shift 鼠标右键 打开 powershell 窗口 查看ES版本 .\elasticsearch.bat --version 出现问题了 警告:不赞成…

smiley-http-proxy-servlet 实现springboot 接口反向代理,站点代理,项目鉴权,安全的引入第三方项目服务

背景: 项目初期 和硬件集成,实现了些功能服务,由于是局域网环境,安全问题当时都可以最小化无视。随着对接的服务越来越多,部分功能上云,此时就需要有一种手段可以控制到其他项目/接口的访问权限。 无疑 反向…

网络知识点之-堆叠与集群(2-集群)

本文章收录至《网络》专栏,点击右上角专栏图标可访问本专栏! 集群是一种用于集团调度指挥通信的​​​​​​移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能&#x…

微服务 Eureka

Eureka Eureka是Netflix开源的一个用于构建基于微服务架构的服务发现和注册中心技术。在微服务架构中,系统被拆分成多个小型、自治的服务,每个服务负责特定的业务功能。这些服务需要能够相互发现和通信,这就是Eureka所提供的功能。 Eureka主…

Unity 之NavMeshAgent 组件(导航和路径寻找的组件)

文章目录 **作用**:**属性和方法**:**用途**:**注意事项**: NavMeshAgent 是Unity引擎中用于导航和路径寻找的组件。它可以使游戏对象在场景中自动找到可行走的路径,并在避免障碍物的情况下移动到目标位置。 以下是关于…

openCV实战-系列教程3:形态学操作(腐蚀操作/膨胀操作/开运算/闭运算/梯度计算/礼帽和黑帽)、源码解读

1、腐蚀操作 1.1 腐蚀 首先读进来并打印一张图 img cv2.imread(yzy.jpg) cv2.imshow(img, img) cv2.waitKey(0) cv2.destroyAllWindows() 这个图片出现了一些毛刺,看着挺难受 执行一个腐蚀操作,再将图片打印出来: kernel np.ones((3,3…