SuperAPI AI 工具集

building-pydantic-ai-agents

智能体与模型

查看项目

更新于 10-16 04:54

技能介绍

用途:本技能面向使用 Pydantic AI(Python 智能体框架)构建生成式 AI 应用的场景,提供架构指导与经过测试的代码示例。适用于:构建 AI 智能体或 LLM 应用、为智能体添加工具/能力(思考、联网搜索)/结构化输出、用 YAML/JSON 定义智能体或模板字符串、流式事件、智能体委派与测试、钩子与生命周期拦截、通过 Pydantic AI Gateway 用一个 API Key 访问多家模型、让智能体在工作区运行命令或访问文件。不适用于单独的 Pydantic 校验库、其他 AI 框架(LangChain、LlamaIndex、CrewAI、AutoGen)或与 AI 智能体无关的通用 Python 开发。

主要能力:Agent 定义与运行(run_sync/run);工具用 @agent.tool_plain 与 @agent.tool 注册;用 Pydantic 模型做结构化输出(output_type);依赖注入(deps_type、RunContext);instructions 装饰器;能力(capabilities)如 Thinking、WebSearch 可组合复用;Hooks 拦截模型请求与工具调用;用 Agent.from_file 从 YAML/JSON 加载;测试用 TestModel 与 agent.override;实时语音会话(OpenAI Realtime、Azure、Gemini Live、xAI Grok Voice)使用 agent.realtime().session(),复用工具与指令并处理 SpeechPart、工具调用事件与打断事件。

可观测性与模型访问:默认建议 Logfire,先执行 uvx logfire auth 与 uvx logfire projects new(或 use),或设置 LOGFIRE_TOKEN;切勿打印、记录或提交令牌。Gateway 使用 gateway/<api_format>:<model> 模型串并设置 PYDANTIC_AI_GATEWAY_API_KEY。已有供应商 Key 时可直接用 provider:model。

限制:实时模型不支持结构化输出;调用受模型 profile 门控的方法(如手动回合控制、打断、输出截断)前需检查 RealtimeModelProfile,不支持时抛出 UserError;不同供应商对发送字符串、文本输出和 VAD 行为差异明显。其他细节(如具体收费、价格与部署步骤)暂未提供。