PydanticAI
Pydantic作为Python基础类库,提供了强大的数据验证和序列化功能,基本上成为了AI应用项目开发中处理数据验证的标配。Pydantic的类型声明设计很优雅,只需定义数据模型,Pydantic 就能自动完成数据验证和类型转换。这极大地简化了代码,提升了可读性和可维护性。
Pydantic是诸如 OpenAI、LangChain、LlamaIndex 等项目的核心组件,几乎每一个 Python 中的代理框架和 LLM库都在使用 Pydantic。FastAPI也是基于Pydantic。
Pydantic 团队推出了一个全新的、基于 Pydantic 的AI代理框架PydanticAI,专门用来简化AI应用开发的复杂度,重点解决了AI代理(Agent)开发中的各种痛点,将 FastAPI 的那种创建和符合自然的感觉带到生成式人工智能应用开发中。
PydanticAI 的优点包括:
• 与 Pydantic Logfire 集成:无缝集成 Pydantic Logfire,用于实时调试、性能监控以及对你的 LLM 驱动应用的行为跟踪。
• 类型安全:设计上尽可能让你的类型检查强大且富有信息性,大幅减少运行时错误。
• 原生Python 开发体验:利用 Python 熟悉的控制流和代理组合来构建你的 AI 驱动项目,让你可以轻松应用在任何其他(非 AI)项目中使用的标准 Python 最佳实践。
• 结构化响应处理:借助 Pydantic 的力量验证和结构化模型输出,确保每次运行的响应保持一致。
• 工程化支持:提供可选的依赖注入系统,为你的代理系统提示、工具和结果验证器提供数据和服务。这在测试和基于评估的迭代开发中非常有用,特别适合企业级应用开发。
• 流式响应:能够持续流式传输 LLM 输出,并立即进行验证,确保快速且准确的结果。
• 图支持:Pydantic Graph 提供了一种强大的方式,通过类型提示定义图,这在标准控制流可能退化为意大利面条代码的复杂应用中非常有用。
简单示例
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel
# 定义一个代理
model = OpenAIModel('gpt-4o')
agent = Agent(
model=model,
# 提示词
system_prompt='Be concise, reply with one sentence.',
)
result = agent.run_sync('Where does "hello world" come from?')
print(result.data)
使用deepseek模型
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel
model = OpenAIModel(
'deepseek-chat',
base_url='https://api.deepseek.com',
api_key='your-deepseek-api-key',
)
agent = Agent(model)
腾讯云DeepSeek 系列模型限时免费到2025年2月25日,可以参考https://cloud.tencent.com/document/product/1772/115969申请好替换base_url和api_key参数即可。
参考链接
https://github.com/pydantic/pydantic-ai
https://ai.pydantic.dev/examples/bank-support/#example-code










网友评论