当前位置:首页 > 科技  > 软件

五分钟了解 LangChain 的路由链

来源: 责编: 时间:2024-06-25 17:18:28 259观看
导读上篇文章《5分钟理透LangChain的Chain》里用到了顺序链SequentialChain,它可以将多个链按顺序串起来。本文介绍LangChain里的另外1个重要的链:路由链。1. 路由链概念路由链(RouterChain)是由LLM根据输入的Prompt去选择具

上篇文章《5分钟理透LangChain的Chain》里用到了顺序链SequentialChain,它可以将多个链按顺序串起来。本文介绍LangChain里的另外1个重要的链:路由链。GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

1. 路由链概念

路由链(RouterChain)是由LLM根据输入的Prompt去选择具体的某个链。路由链中一般会存在多个Prompt,Prompt结合LLM决定下一步选择哪个链。GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

2. 路由链的使用场景

路由链一般涉及到2个核心类,LLMRouterChain和MultiPromptChain,一起看看官网介绍:GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

  • LLMRouterChain:使用LLM路由到可能的选项中。
  • MultiPromptChain:该链可用于在多个提示词之间路由输入,当你有多个提示词并且只想路由到其中一个时,可以用这个链。

一般使用路由链时,有固定的几个步骤:GVx28资讯网——每日最新资讯28at.com

  • 准备多个链的Prompt提示词,然后各自封装成链。
  • 将可能路由到的链封装到destination_chains里。
  • 构建多提示词和RouterChain ,负责选择下一个要调用的链。
  • 构建默认链。
  • 使用MultiPromptChain选择某个链,然后再去执行此链。

3. 使用路由链的案例GVx28资讯网——每日最新资讯28at.com

假设我们有一个常见的场景,根据用户的输入内容选择不同的处理路径,如果没有选到合适的链,则使用默认链。比如:根据用户的输入问题,选择不同的链去处理,如果没选到合适的,则走默认链。GVx28资讯网——每日最新资讯28at.com

具体代码如下:GVx28资讯网——每日最新资讯28at.com

from langchain_openai import ChatOpenAImodel = ChatOpenAI(    model_name="gpt-3.5-turbo",    openai_api_key="sk-xxxx",    openai_api_base="https://api.302.ai/v1",)from langchain.chains.router import LLMRouterChain, MultiPromptChainfrom langchain.chains.router.llm_router import RouterOutputParserfrom langchain.chains.router.multi_prompt_prompt import MULTI_PROMPT_ROUTER_TEMPLATEfrom langchain.chains import LLMChain, ConversationChainfrom langchain.prompts import PromptTemplate# 准备2条目的链:一条物理链,一条数学链# 1. 物理链physics_template = """你是一位物理学家,擅长回答物理相关的问题,当你不知道问题的答案时,你就回答不知道。具体问题如下:{input}"""physics_prompt = PromptTemplate.from_template(physics_template)physics_chain = LLMChain(llm=model, prompt=physics_prompt)# 2. 数学链math_template = """你是一个数学家,擅长回答数学相关的问题,当你不知道问题的答案时,你就回答不知道。具体问题如下:{input}"""math_prompt = PromptTemplate.from_template(math_template)math_chain = LLMChain(llm=model, prompt=math_prompt)# 3. 英语链english_template = """你是一个非常厉害的英语老师,擅长回答英语相关的问题,当你不知道问题的答案时,你就回答不知道。具体问题如下:{input}"""english_prompt = PromptTemplate.from_template(english_template)english_chain = LLMChain(llm=model, prompt=english_prompt)######### 所有可能的目的链destination_chains = {}destination_chains["physics"] = physics_chaindestination_chains["math"] = math_chaindestination_chains["english"] = english_chain######### 默认链default_chain = ConversationChain(llm=model, output_key="text")# 让多路由模板 能找到合适的 提示词模板destinations_template_str = """physics:擅长回答物理问题math:擅长回答数学问题english:擅长回答英语问题"""router_template = MULTI_PROMPT_ROUTER_TEMPLATE.format(    destinations=destinations_template_str)# 通过路由提示词模板,构建路由提示词router_prompt = PromptTemplate(    template=router_template,    input_variables=["input"],    output_parser=RouterOutputParser(),)######### 路由链router_chain = LLMRouterChain.from_llm(llm=model, prompt=router_prompt)######### 最终的链multi_prompt_chain = MultiPromptChain(    router_chain=router_chain,    destination_chains=destination_chains,    default_chain=default_chain,    verbose=True,)# multi_prompt_chain.invoke({"input": "重力加速度是多少?"})# multi_prompt_chain.invoke("y=x^2+2x+1的导数是多少?")multi_prompt_chain.invoke("将以下英文翻译成中文,只输出中文翻译结果:/n The largest community building the future of LLM apps.")# multi_prompt_chain.invoke("你是怎么理解java的面向对象的思想的?")

执行结果跟我们预想的一致,执行结果如下:GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

GVx28资讯网——每日最新资讯28at.com

4. 总结

这篇博客主要介绍了LangChain中的路由链(RouterChain)的概念,它主要用在不确定性的场景下,根据提示词,选择具体的某个链去执行。还聊了它的使用场景和具体案例,希望对你有帮助!GVx28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-96425-0.html五分钟了解 LangChain 的路由链

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: TC39全新提案【Signals】V0草案已公布,状态管理将迎来全新革命?

下一篇: 2024 Vue 最全的生态工具组合推荐指南

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
  • 苹果、三星、惠普等暂停向印度出口笔记本和平板电脑

    集微网消息,据彭博社报道,在8月3日印度突然禁止在没有许可证的情况下向印度进口电脑/平板及显示器等产品后,苹果、三星电子和惠普等大公司暂停向印度
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top