Skip to content
LlamaIndex 文档版本 跟随上游 源快照 718140f2 更新于 2026-10-15

既然你已经有了一个能干活的 agent,相信你也期待它能做更多。扩展 agent 能力的核心在于手上的工具,而这方面有好消息:LlamaIndex 有数百个集成,其中就包括数十个现成的智能体工具,拿来就能用。下面我们会演示如何使用现成工具,也会讲怎么自己构建并提交新工具。

使用现成工具

示例里我们用 Yahoo Finance 工具。它提供六个智能体工具,可以查询股票代码的各类信息。

先安装这个工具:

终端窗口

pip install llama-index-tools-yahoo-finance

依赖和上一个示例相同,只需要再加上 Yahoo Finance 工具:

from llama_index.tools.yahoo_finance import YahooFinanceToolSpec

为了演示自定义工具与现成工具如何混用,我们保留 add 和 multiply 这两个函数,尽管这里用不到它们。把工具引入进来:

finance_tools = YahooFinanceToolSpec().to_tool_list()

工具列表就是一个普通数组,所以可以用 Python 的 extend 方法把我们自己的工具加进去:

finance_tools.extend([multiply, add])

这次我们换一个提问,新问题必须用到刚加入的工具:

workflow = FunctionAgent(
    name="Agent",
    description="Useful for performing financial operations.",
    llm=OpenAI(model="gpt-4o-mini"),
    tools=finance_tools,
    system_prompt="You are a helpful assistant.",
)

async def main():
    response = await workflow.run(
        user_msg="What's the current stock price of NVIDIA?"
    )
    print(response)

我们得到这样的回答:

The current stock price of NVIDIA Corporation (NVDA) is $128.41.

(这里有点取巧,因为模型本来就知道 NVIDIA 的股票代码。如果换成一家不那么知名的公司,你就需要再加一个像 Tavily 这样的搜索工具来查找代码。)

就这么简单!现在你就能在自己的 agent 里使用任何现成的工具集成了。

照例,你可以查看仓库里的这份文件,看到完整集中的代码。

构建并提交你自己的工具

我们非常欢迎新工具的开源贡献!可以先看看 Yahoo Finance 工具的代码长什么样:

  • 一个继承 BaseToolSpec 的类
  • 一组任意的 Python 函数
  • 一个 spec_functions 列表,把这些函数映射到工具的 API 上

工具跑通之后,请按照我们的贡献指南正确设置元数据并提交 pull request。

下一节我们来看如何在 agent 中维护状态。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。