【LangChain】Document篇

news2024/9/26 1:22:27

概述

这些是处理文档的核心链。它们对于总结文档、回答文档问题、从文档中提取信息等很有用。
这些链都实现了一个通用接口:

class BaseCombineDocumentsChain(Chain, ABC):
    """Base interface for chains combining documents."""

    @abstractmethod
    def combine_docs(self, docs: List[Document], **kwargs: Any) -> Tuple[str, dict]:
        """Combine documents into a single string."""

填充(Stuff)

填充(stuff)文档链是最直接的文档链。它需要一个文档列表,将它们全部插入到Prompt中,并将该prompt传递给llm

该链非常适合文档较小且大多数调用只传递少量文档的应用程序。

在这里插入图片描述

提炼(Refine)

提炼文档链通过循环输入文档并迭代更新其答案来构建响应。
对于每个文档,它将所有非文档输入当前文档最新的中间答案传递给 LLM 链以获得新答案。

在这里插入图片描述

map reduce

Map 步骤MapReduce 文档链首先将 LLM 链单独应用于每个文档,将链输出视为新文档。
Reduce 步骤:然后,将所有新文档传递到单独的组合文档链以获得单个输出。

它可以选择首先压缩或折叠、映射的文档,以确保它们适合组合文档链(这通常会将它们传递给LLM)。如有必要,该压缩步骤会递归执行。

在这里插入图片描述

Map re-rank

map re-rank文档链会对每个文档运行初始Prompt,这不仅会尝试完成任务,还会对其答案的确定性进行评分。返回得分最高的响应。

在这里插入图片描述

总结

文本就是讲解对Document的基础操作chain有哪些?

chain描述
stuff chain该链非常适合文档较小且大多数调用只传递少量文档的应用程序。
Refine chain通过循环输入文档并迭代更新其答案来构建响应.
map reduce chain将A文档转换成B文档,然后针对B文档进行输出。
Map re-rank chain对答案增加了确定下评分。返回得分最高的响应。

参考地址:

https://python.langchain.com/docs/modules/chains/document/

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

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

相关文章

Vue:Elemenu-Plus递归型菜单组件封装

前端开发中,经常遇到需要与后端配置,前端动态渲染菜单的应用场景,而究其本质,就是菜单组件的应用,只是在不确定菜单级数的情况下,我们需要对组件做一个递归处理,让它能够适应大多数应用场景。 递…

9.17UEC++代码段、编码和字符串

1. 编码定义: 自行转码: 字符串: FName:名称,访问快,用FName做键值。(键值容器)资产名称基本都是FName。 FText:一般是和UI有关,专门对接UI,也是…

IDEA动态调试WebLogic

IDEA动态调试WebLogic 环境:Windows 10 Windows7(192.168.52.181) Idea WebLogic12.2.1.4 Java8102 0x01 安装weblogic 安装成功后,在domains下的bin目录下有个startWebLogic.cmd文件 0x02 配置被调试端 0x0201 添加调试参数 2.1.1 方式一 在…

基于单片机智能衣柜 智能衣橱 换气除湿制系统紫外线消毒的设计与实现

功能介绍 以51单片机作为主控系统;液晶显示当前衣柜温湿度和柜门开启关闭状态;按键设置当前衣柜湿度上限值、衣柜门打开和关闭,杀菌消毒;当湿度超过设置上限,继电器闭合开启风扇进行除湿;进行杀菌消毒时&am…

7.5 cloneGitHub项目到服务器端/wget/print/spikes_max

在机器学习和深度学习中,位量化(Bit Quantization)是一种将模型参数或激活值表示为较低精度的二进制数的技术。通常情况下,模型的参数和激活值是以浮点数形式存储和计算的,占用较大的存储空间和计算资源。位量化通过减…

找不到vcruntime140.dll无法继续执行代码的解决方法

计算机提示找不到vcruntime140.dll无法继续执行代码是什么原因呢?在我们运行photoshop,数据库的时候,电脑提示找不到vcruntime140.dll是由于电脑系统中的Microsoft Visual C Redistributable包损坏,vcruntime140.dll是Microsoft V…

(8)基础强化:内存流,压缩流,序列化,资料管理器,编码,File类,文件流,文本流

一、内存流 1、为什么要有内存流? 答:内存流(MemoryStream)是一个特殊的流,它将数据存储在内存中而不是磁盘或网络。 使用内存流的主要原因和使用场景包括: 内存操作: …

故障:启动修复无法修复你的电脑

有台笔记本很久没用了无法开机了,还是用的win7的系统,开机后提示我使用启动修复,但是失败了,提示我启动修复无法修复你的电脑 启动修复无法修复你电脑怎么办_自动修复电脑未正确启动的解决方法-win7之家 1、上网查了下…

Go语言程序设计(十七)并发编程

一、操作系统提供的并发基础 1、进程 进程是在并发环境下,程序的一次动态执行过程。它由进程控制块(PCB)、程序和数据三部分组成,进程在它的生命周期内可能处于执行、就绪、阻塞三种基本状态。 在多任务操作系统中,多个进程可以并发执行,而且进程是系统资源…

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置,直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

Codeforces Round 883 (Div. 3)

A. Rudolph and Cut the Rope 只需要按照钉子距离的高度a_{i}和绳子的长度b_{i}的差值进行排序即可 代码 int n; pii a[N]; bool cmp(pii a,pii b) {return a.x-a.y<b.x-b.y; }void solve() {cin>>n;for(int i1;i<n;i)cin>>a[i].x>>a[i].y;sort(a1,…

36.RocketMQ之Broker如何实现磁盘文件高性能读写

highlight: arduino-light Broker读写磁盘文件的核心技术:mmap Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。 通过之前的学习&#xff0c;我们知道了一点&#xff0c;就是Broker对磁盘文件的写入主要是借助直接写入os cache来实现性能优化的&…

如何判断开发的商城系统是不是O2O平台?

纵观如今各大电商模式&#xff0c;数O2O发展最为火热&#xff0c;毫不夸张的说&#xff0c;O2O模式已经渗透到了很多行业中&#xff0c;那么哪些平台属于O2O呢?小编收集了一些资料&#xff0c;并将当下O2O平台分为以下这4种类型&#xff0c;下面小编就来带大家一起去了解了解!…

多模态系列论文--CoCa 详细解析

论文地址&#xff1a;CoCa: Contrastive Captioners are Image-Text Foundation Models 代码地址&#xff1a;CoCa CoCa 1 摘要2 网络结构3 损失函数4 实验结果5 总结 1 摘要 CoCa代表Contrastive Captioners的缩写&#xff0c;代表模型用两个目标函数训练出来的&#xff0c;一…

回溯法解决地图填色问题

目录 回溯法 最大度优先 最少可选颜色优先 向前探测 随机产生不同规模的图&#xff0c;分析算法效率与图规模的关系&#xff08;四色&#xff09; 回溯法 回溯法的基本思想是采用递归和深度优先搜索的方法&#xff0c;尝试在一组可能的解中搜索出符合要求的解&#xff0c…

Langchain的新课程;Mozilla开发的AI文档工具遭到开发者批评

&#x1f989; AI新闻 &#x1f680; Mozilla开发的AI文档工具遭到开发者批评&#xff0c;已下线 摘要&#xff1a;Mozilla开发的基于生成式AI的工具AI Help在开发者群体中遭到广泛批评。开发者认为该工具提供的信息常常错误&#xff0c;甚至认为它没有这个功能反而更好。针对…

Flutter 仿抖音、豆瓣、知乎、番茄小说的评论弹窗开发实践

最近用flutter做了一个评论弹窗的功能&#xff0c;本来以为很简单的烂大街的一个功能&#xff0c;结果却遇到了不少的问题&#xff0c;而且这些问题我觉得很有意义&#xff0c;以至于我觉得我如果分享出来可能会对其他人很有帮助。 要做一件事情可能会很容易&#xff0c;但做好…

ModaHub魔搭社区: AI模型社区ModelScope和Hugging Face行业分析报告

目录 引言&#xff1a; 一、github星数&#xff1a; 二、模型数&#xff1a; 三、数据集&#xff1a; 四、演示应用程序数&#xff1a; 五、下载数&#xff1a; 六、开发者、付费企业和公司用户数&#xff1a; 结论&#xff1a; 引言&#xff1a; AI模型开源社区在近年…

MQTT资料储备

1、官网 https://mqtt.org/ MQTT 5.0官方协议 https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html 说明&#xff1a;官网可以获取到好多资料&#xff08;比如常用软件、协议、usecase等&#xff09; 2、安装部署EMQX 当前有好多MQTT服务器&#xff0c;初步选择了EM…

MyBatis查询数据库【秘籍宝典】

0.MyBatis执行流程1.第一个MyBatis查询1.创建数据库和表1.2.添加MyBatis框架依赖【新项目】1.3.添加MyBatis框架依赖【旧项目】1.4.配置连接数据库1.5.配置MyBatis的XML路径2.MyBatis模式开发2.1 添加MyBatis的xml配置 3.增查改删&#xff08;CRUD&#xff09;5.1.增加操作5.2.…