Chains
Chains可以让你按照一定的顺序和逻辑来执行不同的任务。Chains有以下四种类型:
类型 | 作用 |
---|---|
LLMChain | 用于在语言模型周围添加一些功能的简单Chain,它由一个PromptTemplate和一个语言模型(LLM或chat model)组成,它可以使用输入键值和内存键值(如果有的话)来格式化PromptTemplate,然后将格式化后的字符串传递给语言模型,并返回语言模型的输出 |
RouterChain | 用于创建一个动态选择下一个要使用的Chain的Chain的范式,它由两个组件组成:RouterChain本身(负责选择下一个要调用的Chain)和destination_chains(RouterChain可以路由到的Chain) |
SequentialChain | 用于将多个Chain连接起来,形成一个执行一些特定场景的管道的Chain,它允许将一个调用的输出作为另一个调用的输入 |
TransformChain | 用于创建一个通用的转换Chain,它可以对输入进行一些预处理或后处理,然后将其传递给另一个Chain |
Agents
通过Agents,可以让语言模型具有主动性和智能性。LangChain基于对AI应用开发的总结抽象,主要提供以下六种代理类型:
类型 | 作用 |
---|---|
Zero-shot ReAct | 用于根据工具的描述来决定使用哪个工具的Agent,它可以使用任意数量的工具,但要求每个工具都有一个描述 |
Structured input ReAct | 用于使用多输入工具的Agent,它可以根据工具的参数模式来创建一个结构化的动作输入,这对 |