第三方工具
Pydantic AI 支持与各种第三方工具库集成,让您可以在您的代理中利用现有的工具生态系统。
MCP 工具
有关如何将 MCP 服务器作为工具集与 Pydantic AI 一起使用的信息,请参阅 MCP 客户端文档。
LangChain 工具
如果您想在 Pydantic AI 中使用来自 LangChain 社区工具库的工具,可以使用 tool_from_langchain
这个便捷方法。请注意,在这种情况下,Pydantic AI 不会验证参数——这取决于模型提供与 LangChain 工具指定的模式相匹配的参数,也取决于 LangChain 工具在参数无效时抛出错误。
您需要安装 langchain-community
包以及相关工具所需的任何其他包。
以下是如何使用 LangChain 的 DuckDuckGoSearchRun
工具,该工具需要 ddgs
包:
from langchain_community.tools import DuckDuckGoSearchRun
from pydantic_ai import Agent
from pydantic_ai.ext.langchain import tool_from_langchain
search = DuckDuckGoSearchRun()
search_tool = tool_from_langchain(search)
agent = Agent(
'google-gla:gemini-2.0-flash',
tools=[search_tool],
)
result = agent.run_sync('What is the release date of Elden Ring Nightreign?') # (1)!
print(result.output)
#> Elden Ring Nightreign is planned to be released on May 30, 2025.
- 该游戏的发布日期是 2025 年 5 月 30 日,晚于 Gemini 2.0 的知识截止日期(2024 年 8 月)。
如果您想使用多个 LangChain 工具或 LangChain 的工具包,您可以使用 LangChainToolset
工具集,它接受一个 LangChain 工具列表。
from langchain_community.agent_toolkits import SlackToolkit
from pydantic_ai import Agent
from pydantic_ai.ext.langchain import LangChainToolset
toolkit = SlackToolkit()
toolset = LangChainToolset(toolkit.get_tools())
agent = Agent('openai:gpt-4o', toolsets=[toolset])
# ...
ACI.dev 工具
如果您想在 Pydantic AI 中使用来自 ACI.dev 工具库的工具,可以使用 tool_from_aci
这个便捷方法。请注意,在这种情况下,Pydantic AI 不会验证参数——这取决于模型提供与 ACI 工具指定的模式相匹配的参数,也取决于 ACI 工具在参数无效时抛出错误。
您需要安装 aci-sdk
包,在 ACI_API_KEY
环境变量中设置您的 ACI API 密钥,并将您的 ACI “关联账户所有者 ID” 传递给该函数。
以下是如何使用 ACI.dev 的 TAVILY__SEARCH
工具:
import os
from pydantic_ai import Agent
from pydantic_ai.ext.aci import tool_from_aci
tavily_search = tool_from_aci(
'TAVILY__SEARCH',
linked_account_owner_id=os.getenv('LINKED_ACCOUNT_OWNER_ID'),
)
agent = Agent(
'google-gla:gemini-2.0-flash',
tools=[tavily_search],
)
result = agent.run_sync('What is the release date of Elden Ring Nightreign?') # (1)!
print(result.output)
#> Elden Ring Nightreign is planned to be released on May 30, 2025.
- 该游戏的发布日期是 2025 年 5 月 30 日,晚于 Gemini 2.0 的知识截止日期(2024 年 8 月)。
如果您想使用多个 ACI.dev 工具,您可以使用 ACIToolset
工具集,它接受一个 ACI 工具名称列表以及 linked_account_owner_id
。
import os
from pydantic_ai import Agent
from pydantic_ai.ext.aci import ACIToolset
toolset = ACIToolset(
[
'OPEN_WEATHER_MAP__CURRENT_WEATHER',
'OPEN_WEATHER_MAP__FORECAST',
],
linked_account_owner_id=os.getenv('LINKED_ACCOUNT_OWNER_ID'),
)
agent = Agent('openai:gpt-4o', toolsets=[toolset])
另请参阅
- 函数工具 - 基本的工具概念和注册
- 工具集 - 管理工具集合
- MCP 客户端 - 将 MCP 服务器与 Pydantic AI 配合使用
- LangChain 工具集 - 使用 LangChain 工具集
- ACI.dev 工具集 - 使用 ACI.dev 工具集