Skip to content

智能体#

在LlamaIndex中构建智能体可以通过定义一组工具,并将其提供给我们的ReActAgent或FunctionAgent实现来完成。这里我们以OpenAI为例,但它可以用于任何能力足够强大的LLM。

通常情况下,对于API中内置函数调用/工具功能的LLM(如OpenAI、Anthropic、Gemini等),应优先选择FunctionAgent。

from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI
from llama_index.core.agent.workflow import ReActAgent, FunctionAgent


# 定义示例工具
def multiply(a: int, b: int) -> int:
    """将两个整数相乘并返回结果整数"""
    return a * b


# 初始化llm
llm = OpenAI(model="gpt-4o")

# 初始化智能体
agent = FunctionAgent(
    tools=[multiply],
    system_prompt="你是一个智能体,在协助用户时可以调用乘法工具。",
)

这些工具可以是如上所示的Python函数,也可以是LlamaIndex的查询引擎:

from llama_index.core.tools import QueryEngineTool

query_engine_tools = [
    QueryEngineTool.from_defaults(
        query_engine=sql_agent,
        name="sql_agent",
        description="能够执行SQL查询的智能体。",
    ),
]

agent = FunctionAgent(
    tools=query_engine_tools,
    system_prompt="你是一个智能体,可以调用文本转SQL执行代理。",
)

您可以在我们的智能体模块指南端到端智能体教程中了解更多信息。