Agent的基本概念
Agent概述
Agent是一个自动推理和决策引擎。它接受用户输入/查询,并可以做出执行该查询的内部决策,以便返回正确的结果。关键代理组件可以包括但不限于:
- 将一个复杂的问题分解为较小的问题
- 选择要使用的外部工具 + 提供调用该工具的参数
- 规划一组任务
- 将之前完成的任务存储在内存模块中
LlamaIndex 为构建代理提供了一个全面的框架。这包括以下组件:
- 使用具有高级工具的代理来构建代理 RAG 和工作流自动化用例
- 用于构建和调试代理的低级组件
- 可用作独立模块的核心代理成分:查询规划、工具使用等。
Agent的使用模式
再llamaIndex中Agent的使用范式如下:
1.定义工具函数:定义需要实现某个功能的函数。
2.把工具函数添加到FunctionTool对象中:把功能函数包裹到FunctionTool对象中。
3.构造LLM模型对象,并初始化LLM:构造和初始化LLM对象。
4.初始化ReAct Agent,也就是ReActAgent对象:初始化ReActAgent对象,该对象封装了一个Agent引擎
代码样例如下:
from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent
# define sample Tool
def multiply(a: int, b: int) ->