【GPT入门】第25课 掌握 LangChain:链式调用的奥秘、特性与使用示例

devtools/2025/3/29 3:22:05/

【GPT入门】第25课 掌握 LangChain:链式调用的奥秘、特性与使用示例

      • 语法解释
      • 各部分性质
      • 链式调用的性质
      • 调用方式
      • 注意事项

语法解释

你给出的代码 is_duplicated_chain = (check_duplicated | model | parser) 运用了 LangChain 里的链式调用语法。在 LangChain 中,| 符号是链式调用操作符,其用途是把多个组件按顺序组合起来,构建成一个处理链。

各部分性质

  • check_duplicated:这通常是一个自定义的组件,也许是一个函数、一个工具或者一个特定的处理器,其作用是对输入数据开展检查重复项之类的预处理操作。
  • model:一般代表一个语言模型组件,像 OpenAI 的 GPT 系列模型、Hugging Face 上的预训练模型等。这个组件会接收前面组件的输出,然后生成对应的文本响应。
  • parser:是一个解析器组件,它的功能是对语言模型的输出进行解析和处理,把输出转换为特定的数据格式或者执行额外的后处理操作。

链式调用的性质

这种链式调用具有以下特性:

  • 顺序执行:组件会按照从左到右的顺序依次执行,前一个组件的输出会作为后一个组件的输入。
  • 模块化:各个组件是独立的,可以单独开发、测试和替换,提升了代码的可维护性和复用性。

调用方式

构建好链式调用之后,你可以像调用一个函数那样调用这个链。下面是一个简单的示例:

from langchain.chains import LLMChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate# 假设这是一个自定义的检查重复项的函数
def check_duplicated(input_text):# 这里可以实现具体的检查逻辑return input_text# 初始化语言模型
model = OpenAI(openai_api_key="your_openai_api_key")# 定义一个简单的解析器函数
def parser(model_output):# 这里可以实现具体的解析逻辑return model_output# 构建链式调用
is_duplicated_chain = (check_duplicated | model | parser)# 调用链
input_text = "这是一个测试输入"
output = is_duplicated_chain(input_text)
print(output)

注意事项

  • API 密钥:在使用 OpenAI 模型时,要确保你已经设置了有效的 API 密钥。
  • 数据格式:各个组件的输入和输出数据格式必须兼容,不然可能会引发错误。你可以在每个组件中添加必要的数据转换逻辑,保证数据格式的一致性。

http://www.ppmy.cn/devtools/169134.html

相关文章

算法2--两数相加

题目描述 解题思路 题目说的很详细了,也就是把每个数倒序写成链表进行输入,然后让你计算两个倒序数组的和,要保证跟预期的结果一样。 首先应该考虑的是两个数组的长度问题,对于链表的每一位进行加法运算,如果两个列表…

Java IO流汇总

Java IO(输入/输出)流用于处理数据的输入与输出。在Java中,IO流主要分为字节流和字符流,它们又可进一步细分为输入流和输出流。 1. IO流的分类 Java IO流的主要类别如下: 1.1 按数据单位分类 字节流(Str…

KNN算法

一、KNN算法介绍 KNN 算法,也称 k邻近算法,是 有监督学习 中的 分类算法 。它可以用于分类或回归问题,但它通常用作分类算法。 二、KNN算法流程 1.计算已知类别数据集中的点与当前点的距离 2.按照距离增次序排序 3.选取与当前点距离最小…

MyBatis注解方式:从CRUD到数据映射的全面解析

目录 1. MyBatis是什么?2.准备工作2.1创建工程2.2 数据准备2.3 持久层代码2.4 单元测试 3.Mybatis的增删改查操作(使用注解方式)3.1 增(insert)3.2 删(delete)3.3 改(update&#xf…

Pycharm接入DeepSeek,提升自动化脚本的写作效率

一.效果展示: 二.实施步骤: 1.DeepSeek官网创建API key: 创建成功后,会生成一个API key: 2. PyCharm工具,打开文件->设置->插件,搜索“Continue”,点击安装 3.安装完成后&…

Excel(函数进阶篇):FILTER函数全解读、XLOOKUP函数全解读、UNIQUE函数、数组与数组公式

目录 数组与数组函数office365中VLOOKUP函数的加强数组中的多条件判断FILTER函数详解用法概述函数语法 基础筛选多条件筛选进阶技巧结合动态数组 高级函数整合错误处理注意事项FILTER经典问题:一对多查询 XLOOKUP函数XLOOKUP基础用法XLOOKUP函数多条件匹配和双向查询…

Milvus WeightedRanker 对比 RRF 重排机制

省流:优先选择WeightedRanker 以rag为例,优先选择bm25全文检索,其次选择向量检索 Milvus混合搜索中的重排机制 Milvus通过hybrid_search() API启用混合搜索功能,结合复杂的重排策略来优化多个AnnSearchRequest实例的搜索结果。本主题涵盖了重排过程,…

C++之模板二番战

本节我们将要介绍模板的深入知识。 文章目录 前言 一、非类型模板参数 1.1 非类型模板参数的特点 1.2 非类型模板参数的使用场景 1.3 非类型模板参数的使用实例 二、模板特例化 2.1 模板特例化的概念 2.2 函数模板特例化 2.3 函数模板特例化规则 2.4 完全特例化和偏特…