代理类型#
代理使用LLM(语言模型)来确定应采取哪些操作以及以何顺序执行这些操作。
动作可能是使用工具并观察其输出,或向用户返回响应。
以下是LangChain中可用的代理:
zero-shot-react-description
#
此代理使用ReAct框架,仅基于工具的描述来确定要使用的工具。
可以提供任意数量的工具。
此代理需要为每个工具提供描述。
react-docstore
#
这个代理使用ReAct框架与文档存储进行交互。
必须提供两个工具:一个Search
工具和一个Lookup
工具(它们必须被命名为这样)。
Search
工具应该搜索文档,而Lookup
工具应该查找最近找到的文档中的一个术语。
这个代理相当于最初的ReAct论文 (opens in a new tab),特别是维基百科的例子。
self-ask-with-search
#
这个代理使用一个被命名为Intermediate Answer
的工具。
这个工具应该能够查找问题的事实性答案。
这个代理相当于最初的self ask with search paper (opens in a new tab),其中提供了Google搜索API作为工具。
conversational-react-description
#
这个代理程序旨在用于对话环境中。提示设计旨在使代理程序有助于对话。 它使用ReAct框架来决定使用哪个工具,并使用内存来记忆先前的对话交互。