PydanticAI 使用介绍:功能、价格与上手指南
PydanticAI 是由 Pydantic 团队推出的 Python Agent 框架,旨在将 FastAPI 式的开发体验带入生成式 AI 应用。本文介绍其核心功能、价格模式与快速上手指南,适合希望构建类型安全、可维护 AI 应用的开发者阅读。
PydanticAI 是 Pydantic 团队推出的 Python Agent 框架,目标是把 FastAPI 的开发体验带入生成式 AI 领域。它让开发者用熟悉的 Pydantic 模型定义输出结构,从而构建类型安全、可验证、易维护的 LLM 应用。
PydanticAI 是什么
PydanticAI 是一个基于 Python 的 Agent 开发框架,核心思路是"以 Pydantic 为中心"。你只需定义数据模型,框架就能自动处理提示词、工具调用、结果校验和重试逻辑。
它并不是要取代 LangChain 或 LlamaIndex,而是提供一个更轻量、更贴近 Python 类型系统的选择。
核心功能
1. 类型安全的输出校验
通过 Pydantic 模型定义 LLM 的返回结构,框架会自动验证结果。如果模型输出不符合预期,PydanticAI 会自动重试或抛出明确错误。
2. 依赖注入系统
类似 FastAPI 的 Depends,PydanticAI 支持在 Agent 中注入数据库连接、API 客户端等依赖,便于测试和解耦。
3. 工具调用与函数注册
使用 @agent.tool 装饰器即可注册工具函数,框架自动生成 JSON Schema 并处理调用流程。
4. 流式输出与结构化流
支持 run_stream 方法,既能流式返回文本,也能流式返回结构化数据。
5. 多模型支持
内置对 OpenAI、Anthropic、Gemini、Groq、Ollama 等模型的支持,切换模型只需修改一行代码。
6. 日志与可观测性
集成 Logfire,可追踪每次 Agent 运行的提示词、工具调用和 token 消耗。
价格方案
PydanticAI 本身是开源免费的,采用 MIT 许可证。你只需为实际使用的 LLM API 付费。
| 项目 | 费用 |
|---|---|
| PydanticAI 框架 | 免费 |
| LLM API 调用 | 按各厂商定价 |
| Logfire 可观测性 | 有免费额度,超出后按量计费 |
| 商业支持 | 可联系 Pydantic 团队 |
对于个人开发者和小型项目,整体成本主要集中在模型调用上。
快速上手指南
环境准备
需要 Python 3.9 或更高版本。
pip install pydantic-ai
第一个 Agent
from pydantic_ai import Agent
agent = Agent(
'openai:gpt-4o-mini',
system_prompt='你是一个简洁的助手。'
)
result = agent.run_sync('用一句话解释什么是 PydanticAI。')
print(result.data)
使用结构化输出
from pydantic import BaseModel
from pydantic_ai import Agent
class CityInfo(BaseModel):
name: str
country: str
population: int
agent = Agent('openai:gpt-4o-mini', result_type=CityInfo)
result = agent.run_sync('介绍一下杭州。')
print(result.data)
注册工具
@agent.tool
def get_weather(city: str) -> str:
return f'{city} 今天晴,25°C'
result = agent.run_sync('杭州天气如何?')
配置 API Key
推荐使用环境变量:
export OPENAI_API_KEY=your_key
适用场景
- 需要严格输出结构的 AI 应用
- 已有 FastAPI 项目想集成 LLM
- 需要可测试、可维护的 Agent 逻辑
- 多模型切换的实验项目
注意事项
- PydanticAI 仍处于快速迭代阶段,API 可能变化。
- 复杂多 Agent 协作场景,可能需要搭配其他框架。
- 生产环境建议配合 Logfire 做监控。
结论
PydanticAI 为 Python 开发者提供了一个类型安全、轻量且符合工程习惯的 Agent 框架。它免费开源,学习曲线平缓,特别适合已经熟悉 Pydantic 和 FastAPI 的团队。如果你的项目需要结构化输出和清晰的依赖管理,PydanticAI 值得一试。