【可能是全网最丝滑的LangChain教程】二十、LangChain进阶之Chains

我们笑着说再见,却深知再见遥遥无期。

01 Chain介绍

在LangChain 中,“Chain” 是指一系列可以串联起来执行特定任务的组件或模型。这些链条可以包括预处理、模型调用、后处理等步骤,它们共同工作以完成一个复杂的语言处理任务。

咱说点人话:Chain 是对我们之前介绍的一系列组件(LLM、Retrieval、Output parsers…)的组合与调用。

如果没有Chain我们能不能实现这些功能?答案是可以!因为再怎么花里胡哨,给到LLM的都是文本或者说都是矢量。(这里还是要提一嘴,技术还是要学到本质~)

02 基本使用

既然是基本使用,这里我们以LLMChain为例。

from langchain import OpenAI, PromptTemplate, LLMChain

# 创建一个提示模板
template = "帮我起一个最好的公司名,要求名字寓意好,与产品相关,这个公司是生产{product}的。"
prompt = PromptTemplate(input_variables=["product"], template=template)

# 初始化语言模型
llm = OpenAI(temperature=0.9)

# 创建 LLMChain
chain = LLMChain(llm=llm, prompt=prompt)

# 运行 Chain
result = chain.run(product="智能手表")
print(result)

03 LangChain内置Chain介绍

之所以有内置的Chain,目的就是为了简化LangChain的使用,将一些可能常用的LLM使用场景封装成Chain,开箱即用,简单方便~

create_stuff_documents_chain

该链获取文档列表并将它们全部格式化为提示,然后将该提示传递给 LLM。它传递所有文档,因此应该确保它适合正在使用的 LLM 的上下文窗口。

create_sql_query_chain

用于从自然语言构造 SQL 数据库的查询。

create_history_aware_retriever

该链接收对话历史记录,然后使用它来生成搜索查询,该查询将传递给底层检索器。

create_retrieval_chain

该链接收用户查询,然后将其传递给检索器以获取相关文档。然后,这些文档(和原始输入)被传递给 LLM 以生成响应。

load_qa_with_sources_chain

对传递的文件进行问题解答,并引用其来源。如果希望答案响应在文本响应中包含源,请使用此选项。当想要直接传入文档(而不是依赖检索器来获取文档)时,请使用 RetrievalQAWithSourcesChain。

load_summarize_chain

用于总结文档。

RetrievalQA

该链首先执行检索步骤以获取相关文档,然后将这些文档传递到 LLM 中以生成响应。

RetrievalQAWithSourcesChain

对检索到的文件进行问答,并引用其来源。如果希望答案响应在文本响应中包含源,请使用此选项。当想使用检索器将相关文档作为链的一部分(而不是传入它们)时,请使用 load_qa_with_sources_chain。

QAGenerationChain

从文档创建问题和答案。用于生成用于评估检索项目的问答对。

04 总结

LangChain 的 Chains 模块是一系列调用的序列,可以涉及 LLM(大型语言模型)、工具或数据预处理步骤。

基于LangChain内置的一些预定义Chain,我们可以非常方便的创建我们的AI应用。比如总结文档、知识库问答等等。但是本篇文章并没有涉及代码的输出,各位在使用的时候还是要自己去看下相关文档,锻炼一下自己阅读源码的能力~为防止有些同学实在需要代码,我这里贴了一部分代码截图,如下:

在这里插入图片描述

如果能帮我点个免费的关注,那就是对我个人的最大的肯定。如果觉得写的还行,分享一下也是我生活的小确幸~

在这里插入图片描述

以上内容依据官方文档编写,官方地址:https://python.langchain.com/docs/modules/chains

Peace Guys~

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值