LangChain手记 Chains

这篇具有很好参考价值的文章主要介绍了LangChain手记 Chains。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

整理并翻译自DeepLearning.AI×LangChain的官方课程:Chains(源代码可见)

Chains

直译链,表达的意思更像是对话链,对话链的背后是思维链

LLM Chain(LLM链)

首先介绍了一个最简单的例子,LLM Chain:
LangChain手记 Chains,langchain,人工智能
LangChain手记 Chains,langchain,人工智能
将一个大语言模型和prompt模板组合起来调用LLMChain,即可得到一个LLMChain对象,该对象的run实现的功能即给定输入自动使用prompt模板生成prompt,调用LLM得到回复。

Sequential Chains(顺序链)

LangChain手记 Chains,langchain,人工智能
顺序链是另外一种类型的链,它的基本思想是以一个链的输出是下一个链的输入这种方式组合的多个链。

目前有2种类型的顺序链:

  1. SimpleSequentialChain:单个输入/输出组合
  2. SequentialChain:多个输入输出组合
SimpleSequentialChain

LangChain手记 Chains,langchain,人工智能
LangChain手记 Chains,langchain,人工智能
调用SimpleSequentialChain,传入两个构建好的LLM Chain即可构建一个顺序链,第一个LLM Chain的输出是第二个LLM Chain的输入,同样也可以指定verbose=true将打印对话历史。

图示如下:
LangChain手记 Chains,langchain,人工智能

SequentialChain

LangChain手记 Chains,langchain,人工智能
第一个chain将review翻译为英文,第二个chain则提取摘要。
LangChain手记 Chains,langchain,人工智能
第三个chain识别review的类型。
LangChain手记 Chains,langchain,人工智能
第四个chain使用指定语言类型和摘要生成回复。

注意点是这些chain里面的变量名称要对齐,否则会报错。

即将构建的顺序链如下图所示:
LangChain手记 Chains,langchain,人工智能
运行一下:
LangChain手记 Chains,langchain,人工智能
结果:
LangChain手记 Chains,langchain,人工智能

视频可能看不太清楚,整条链的输入输出的依赖关系是依靠每一个子链都设置一个output_key,在下一个链的prompt模板里以{output_key}的形式指定来实现的,写python的朋友估计已经习以为常了,其他语言的小伙伴可能需要点时间思考,如下图:
LangChain手记 Chains,langchain,人工智能

Router Chain 路由链

先决定输入要分发到哪个子链,再分发到对应的子链:
LangChain手记 Chains,langchain,人工智能
定义回答多个学科的多个prompt模板:
LangChain手记 Chains,langchain,人工智能
为每个学科的prompt模板添加一些说明信息:
LangChain手记 Chains,langchain,人工智能
为了实现路由链,引入了MultiPromptChainLLMRouterChain
LangChain手记 Chains,langchain,人工智能
定义LLM,训练prompt模板列表,构建子链:
LangChain手记 Chains,langchain,人工智能
再构建一个默认链(用来兜底):
LangChain手记 Chains,langchain,人工智能
定义路由提示词模板:
LangChain手记 Chains,langchain,人工智能
定义路由链(注意output_parser指定的是RouterOutputParser对象):
LangChain手记 Chains,langchain,人工智能
现在,组合起来构建路由链:

chain = MultiPromptChain(router_chain=router_chain, 
                         destination_chains=destination_chains, 
                         default_chain=default_chain, verbose=True
                        )

尝试运行一下物理题:
LangChain手记 Chains,langchain,人工智能
尝试运行一下数学题:
LangChain手记 Chains,langchain,人工智能
如果输入一个不属于路由内的学科,比如下面的生物,则会兜底走默认链,由于GPT也具备生物学知识,所以也可以给出有效回答:
LangChain手记 Chains,langchain,人工智能文章来源地址https://www.toymoban.com/news/detail-655253.html

到了这里,关于LangChain手记 Chains的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LangChain手记 Overview

    整理并翻译自DeepLearning.AI×LangChain的官方课程:Overview LangChain是为大模型应用开发设计的开源框架 LangChain目前提供Python和JavaScript(TypeScript)两种语言的包 LangChain的主攻方向是聚合和模块化 核心附加值: 模块化的组件 用例:针对常见组合组件的方式提供了简单易用的模板

    2024年02月13日
    浏览(31)
  • LangChain手记 Memory

    整理并翻译自DeepLearning.AI×LangChain的官方课程:Memory(源码可见) 使用open ai的API调用GPT都是单次调用,所以模型并不记得之前的对话,多轮对话的实现其实是将前面轮次的对话过程保留,在下次对话时作为输入的message数组的一部分,再将新一轮对话的提问也放入message数组,

    2024年02月12日
    浏览(72)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[基础知识]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月12日
    浏览(57)
  • LangChain手记 Models,Prompts and Parsers

    整理并翻译自DeepLearning.AI×LangChain的官方课程:Models,Prompts and Parsers(源码可见) 模型:大语言模型 提示词:构建传递给模型的输入的方式 解析器:获取模型输入,转换为更为结构化的形式以在下游任务中使用 为什么使用提示词模板 提示词会非常长且具体 在可以的时候能直

    2024年02月13日
    浏览(40)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:SequentialChain和TransformationChain]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月11日
    浏览(48)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:LLMChain和RouterChain]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月11日
    浏览(38)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:LLMChain、RouterChain和SequentialChain]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月12日
    浏览(40)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:自定义Chain和Chain的异步API]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月12日
    浏览(51)
  • 自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:链的保存(序列化)与加载(反序列化)]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月11日
    浏览(44)
  • 大模型部署手记(13)LLaMa2+Chinese-LLaMA-Plus-2-7B+Windows+LangChain+摘要问答

    组织机构:Meta(Facebook) 代码仓:GitHub - facebookresearch/llama: Inference code for LLaMA models 模型:chinese-alpaca-2-7b-hf、text2vec-large-chinese 下载:使用百度网盘和huggingface.co下载 硬件环境:暗影精灵7Plus Windows版本:Windows 11家庭中文版 Insider Preview 22H2 内存 32G GPU显卡:Nvidia GTX 3080 Laptop

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包