[ PROMPT_NODE_22950 ]
pydantic-ai
[ SKILL_DOCUMENTATION ]
# PydanticAI — Python 中的类型化 AI 智能体
## 概述
PydanticAI 是一个来自 Pydantic 团队的 Python 智能体框架,它将 Pydantic 的类型安全和验证保证引入到基于 LLM 的应用程序中。它支持结构化输出(通过 Pydantic 模型验证)、用于可测试性的依赖注入、流式响应、多轮对话以及工具调用——跨越 OpenAI、Anthropic、Google Gemini、Groq、Mistral 和 Ollama。在构建需要正确性和可测试性的生产级 AI 智能体、聊天机器人或 LLM 流水线时使用此技能。
## 何时使用此技能
- 当构建调用工具并返回结构化数据的 Python AI 智能体时
- 当需要经过验证的、类型化的 LLM 输出(而非原始字符串)时
- 当你想在不调用真实 LLM 的情况下为智能体逻辑编写单元测试时
- 当需要在不同 LLM 提供商之间切换而无需重写智能体代码时
- 当用户询问 `Agent`、`@agent.tool`、`RunContext`、`ModelRetry` 或 `result_type` 时
## 工作原理
### 第 1 步:安装
bash
pip install pydantic-ai
# 安装特定提供商的扩展
pip install 'pydantic-ai[openai]' # OpenAI / Azure OpenAI
pip install 'pydantic-ai[anthropic]' # Anthropic Claude
pip install 'pydantic-ai[gemini]' # Google Gemini
pip install 'pydantic-ai[groq]' # Groq
pip install 'pydantic-ai[vertexai]' # Google Vertex AI
### 第 2 步:最小化智能体
python
from pydantic_ai import Agent
# 简单智能体 — 返回纯字符串
agent = Agent(
'anthropic:claude-sonnet-4-6',
system_prompt='你是一个乐于助人的助手。请保持简洁。',
)
result = agent.run_sync('日本的首都是哪里?')
print(result.data) # "Tokyo"
print(result.usage()) # Usage(requests=1, request_tokens=..., response_tokens=...)
### 第 3 步:使用 Pydantic 模型进行结构化输出
python
from pydantic import BaseModel
from pydantic_ai import Agent
class MovieReview(BaseModel):
title: str
year: int
rating: float # 0.0 到 10.0
summary: str
recommended: bool
agent = Agent(
'openai:gpt-4o',
result_type=MovieReview,
system_prompt='你是一位影评人。返回结构化的评论。',
)
result = agent.run_sync('评论《盗梦空间》(2010)')
review = result.data # 完全类型化的 MovieReview 实例
print(f"{review.title} ({review.year}): {review.rating}/10")
print(f"推荐: {review.recommended}")
### 第 4 步:工具使用
使用 `@agent.tool` 注册工具 — LLM 可以在运行期间调用它们