LangChain里的另外1个重要的链:路由链。
1. 路由链概念
路由链(RouterChain)是由LLM根据输入的Prompt去选择具体的某个链。路由链中一般会存在多个Prompt,Prompt结合LLM决定下一步选择哪个链。
2. 路由链的使用场景
路由链一般涉及到2个核心类,LLMRouterChain和MultiPromptChain,一起看看官网介绍:
LLMRouterChain:使用LLM路由到可能的选项中。
MultiPromptChain:该链可用于在多个提示词之间路由输入,当你有多个提示词并且只想路由到其中一个时,可以用这个链。
一般使用路由链时,有固定的几个步骤:
准备多个链的Prompt提示词,然后各自封装成链。
将可能路由到的链封装到destination_chains里。
构建多提示词和RouterChain ,负责选择下一个要调用的链。
构建默认链。
使用MultiPromptChain选择某个链,然后再去执行此链。
3. 使用路由链的案例
假设我们有一个常见的场景,根据用户的输入内容选择不同的处理路径,如果没有选到合适的链,则使用默认链。比如:根据用户的输入问题,选择不同的链去处理,如果没选到合适的,则走默认链。
具体代码如下:
执行结果跟我们预想的一致,执行结果如下:
4. 总结
这篇博客主要介绍了LangChain中的路由链(RouterChain)的概念,它主要用在不确定性的场景下,根据提示词,选择具体的某个链去执行。还聊了它的使用场景和具体案例,希望对你有帮助!
还没有评论,来说两句吧...