【LangChain】Document篇

概述

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

class BaseCombineDocumentsChain(Chain, ABC):"""Base interface for chains combining documents."""@abstractmethoddef 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.hqwc.cn/news/14342.html

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

相关文章

DEVICENET转ETHERCAT网关连接ethercat通讯协议详细解析

你有没有遇到过生产管理系统中,设备之间的通讯问题?两个不同协议的设备进行通讯,是不是很麻烦?今天,我们为大家介绍一款神奇的产品,能够将不同协议的设备进行连接,让现场的数据交换不再困扰&…

TiDB(7):技术内幕之存储

1 引言 数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。 很多人用过数据库,但是很少有人实现过一个数据库&a…

OpenCV绘制矩形

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv

2-Spring cloud之Eureka快速剔除失效服务

2-Spring cloud之Eureka快速剔除失效服务 1. eureka server端修改yml配置2. 客户端配置 1. eureka server端修改yml配置 添加如下配置&#xff1a; server:enable-self-preservation: false # 关闭自我保护eviction-interval-timer-in-ms: 3000 # 清理间隔(剔除失效服务…

cmake流程控制--循环

目录 for循环 普通方式 demo cmake3.17中添加了一种特殊的形式,可以在一次循环多个列表,其形式如下: demo 类似python语言的for循环 demo while循环 demo cmake跳出循环(break)和继续下次循环(continue) demo block()和endblock()命令定义的块内也是允许break()和c…

MySQL CDC技术方案梳理

本篇主要探讨MySQL数据同步的各类常见技术方案及优劣势对比分析&#xff0c;从而更加深层次的理解方案&#xff0c;进而在后续的实际业务中&#xff0c;更好的选择方案。 1 CDC概念 CDC即Change Data Capture&#xff0c;变更数据捕获&#xff0c;即当数据发生变更时&#xff…

反诈防骗网络安全知识竞赛导出排行榜数据到excel遇到的问题复盘

在昨天的反诈防骗网络安全知识竞赛活动结束后&#xff0c;应主办方要求&#xff0c;我就帮忙导出排行榜全部数据&#xff08;含排名、编号、赛区、成绩、答题用时、答题日期等信息&#xff09;。 导出excel后&#xff0c;打开查看&#xff0c;发现有好几条数据的答题日期并不是…

ubuntu系统自带的Text Editor编辑器不高亮解决办法

平时在写launch文件时&#xff0c;我喜欢用ubuntu系统自带的text编辑器&#xff0c;但发现使用text打开launch 文件时&#xff0c;没有高亮功能了&#xff0c;如下图所示&#xff1a; 解决办法非常简单&#xff0c;因为launch和xml文件语法规则类似&#xff0c;只需将text编辑…

VSCode 免安装及中文设置

前言&#xff1a;VSCode作为目前最强大的文本编辑器&#xff0c;通过内部的插件市场可满足各种开发需求。使用免安装版可以自定义插件安装位置等&#xff0c;而使用安装包安装只能通过修改快捷方式自定义&#xff0c;十分不方便。因此这里分享如何安装免安装版的VSCode。 下载…

【Leetcode】707. 设计链表

单向链表 class ListNode:def __init__(self, val0, nextNone):self.val valself.next nextclass MyLinkedList:def __init__(self):self.dummy_head ListNode()self.size 0def get(self, index):if index < 0 or index > self.size:return -1current self.dummy_h…

传统图像处理之目标检测——人脸识别

代码实战&#xff1a;人脸识别 import numpy as np import cv2 img cv2.imread("3.webp")face_cascade cv2.CascadeClassifier(r./haarcascade_frontalface_default.xml)gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#探测图片中的人脸 faces face_cascade.detec…

B066-基础环境-前后端整合 批量删除 下拉 级联 增改

目录 批量删除页面调整普通属性的新增和修改引用属性的新增和修改管理员下拉列表部门树 见文档与代码 cd 子项目 运行前端项目 页面布局分析 批量删除 点击多选 - 改变data - 点击批量删除 - 带参数发请求 页面调整 略 普通属性的新增和修改 新增按钮&#xff1a;点击…