SuperAPI AI 工具集

pydantic-ai-dependency-injection

编程与开发

查看项目

更新于 10-16 08:37

技能介绍

用途:在 PydanticAI 智能体中实现依赖注入,让工具、指令和系统提示能访问数据库连接、API 客户端、用户上下文等外部资源。

主要能力:通过 Agent 的 deps_type 声明依赖类型,依赖经 RunContext 传入;工具用 ctx.deps.<attr> 访问依赖;@agent.instructions、@agent.system_prompt 同样可读取依赖;支持泛型 Agent[DepsType, OutputType] 获得静态类型检查;可用 agent.override(model=TestModel(), deps=...) 在测试中替换模型与依赖。

使用方式:用 dataclass 或 Pydantic 模型定义依赖类;创建 Agent 时传入 deps_type=Deps;工具签名写 ctx: RunContext[Deps];运行时 agent.run(prompt, deps=Deps(...)) 提供实例。无需依赖时可省略 deps_type,或使用 tool_plain。

适用场景:需要按请求注入已初始化的客户端、用户身份或权限的场景。

限制与建议:依赖应不可变(frozen dataclass),存放已初始化的连接而非凭据本身;在请求开始时创建、结束后关闭;测试 mock 的字段类型应与生产依赖一致。资料未提供收费、价格或平台信息。