简要介绍智能体、推理框架和智能体执行架构。
什么是智能体呢?通常在代码和软件开发中,我们习惯于编写大量的if/else语句。告诉代码在满足某个条件时要做什么。智能体基本上遵循相同的逻辑,但它们不是硬编码条件语句,而是使用大语言模型来推理下一步的行动。这是Chain-of-Thought和ReAct推理框架背后的过度简化逻辑。
推理框架:CoT和ReActChain-of-Thought框架:通过一个推理的中间步骤来分解对特定查询的响应,从而提高大型语言模型的输出质量。
ReAct框架:类似于思维链推理,但它会回溯到前一个步骤。它将查询分解为可执行的子任务,每个任务都会一直执行直到完成并输出。ReAct框架通过使用外部信息源来执行某些任务,从而增加了一个额外的好处,使其更加可靠,更好地减少幻觉。
两个框架的目标都是利用LLMs的能力,即使没有特别训练过,也能使用少样本学习方法生成响应。然而,ReAct框架更进一步,利用外部环境作为信息的源泉。
LangChain有几个内置的智能体,它们围绕着ReAct框架构建。LangChain有几种创建Agent的函数:
create_react_agent 用于创建 ReAct Agent;
reate_self_ask_with_search_agent 用于创建自我提问与搜索 Agent。其主要功能和特点包括:
自我提问能力:该agent能够将复杂问题分解为更简单的子问题,通过逐步提问来获取答案。搜索集成:在需要时,agent可以进行搜索以获取额外的信息,增强回答的准确性和全面性。create_tool_calling_agent 用于创建工具调用agent;
create_structured_chat_agent 用于创建结构化聊天agent;
智能体执行架构这些智能体的构建方式是,输入被处理,每个工具都有定义的输入参数和其功能描述“何时使用它”。这些信息被输入到执行智能体中,并创建了输入到LLM的主要执行提示。