Chain | 链
Memory - 让对话拥有了状态
SequentialChain - 可以组合一系列的链
Callback - 提供了回调机制,可以生成Log
ConversationChain和LLMChain的区别在于,ConversationChain有memory成员变量,能保留对话上下文,而LLMChain不行。在源码上,跟踪ConversationBufferMemory.load_memory_variables()可知,对话上下文会作为inputs的一部分传入PromptTemplate,成为llm的提示词。
RouterChain
LLMRouterChain 和 MultiPromptChain(也是一种路由链)组合实现路由功能,该 MultiPromptChain 会调用 LLMRouterChain 选择与给定问题最相关的提示,然后使用该提示回答问题。
构建处理模板:为鲜花护理和鲜花装饰分别定义两个字符串模板。
提示信息:使用一个列表来组织和存储这两个处理模板的关键信息,如模板的键、描述和实际内容。
初始化语言模型:导入并实例化语言模型。
构建目标链:根据提示信息中的每个模板构建了对应的 LLMChain,并存储在一个字典中。
构建 LLM 路由链:这是决策的核心部分。首先,它根据提示信息构建了一个路由模板,然后使用这个模板创建了一个 LLMRouterChain。
构建默认链:如果输入不适合任何已定义的处理模板,这个默认链会被触发。
构建多提示链:使用 MultiPromptChain 将 LLM 路由链、目标链和默认链组合在一起,形成一个完整的决策系统。
Loading...