AI Agent输出不听话Google Antigravity SDK结构化输出Pydantic Schema强制类型响应完整教程【免费下载链接】antigravity-sdk-pythonA Python library for building AI agents that leverage the full power of Google Antigravity.项目地址: https://gitcode.com/gh_mirrors/an/antigravity-sdk-python做 AI Agent 开发的朋友都踩过这个坑模型返回的是一大段自然语言你要用正则硬抠出日期、人名、数字稍微换个措辞解析就崩。Google Antigravity SDK的结构化输出功能可以彻底解决这个问题——通过 Pydantic Schema 定义字段与类型SDK 会让模型强制输出严格匹配的 JSON拿到手就是类型安全的字典直接喂给数据库、API 或下游工作流。本文带你 3 步掌握这个能力。一、为什么 AI Agent 的文本输出不听话默认情况下Agent 的回复是一段自由文本。如果你的下游程序需要从中提取结构化数据通常会这样裸奔用正则表达式去匹配截止日期[:]?\s*(\S)—— 换个写法就失效让模型请以 JSON 格式输出 —— 模型可能夹带解释性文字、多余逗号json.loads一炸整个流程中断。结构化输出的核心思路不要请求模型输出 JSON而是约束它——在会话配置中声明response_schema模型在推理时就会感知到这个 Schema最终输出被钉死在字段名、类型、必填项上。二、三步上手用 Pydantic 定义 Schema 强制类型响应第 1 步安装 SDKpip install google-antigravity export GEMINI_API_KEYyour_api_key_hereSDK 本身依赖pydantic2.0安装后即可使用见 pyproject.toml 的依赖声明。第 2 步用 Pydantic 模型描述我要什么数据import pydantic class ActionItem(pydantic.BaseModel): assignee: str # 负责人 task: str # 任务 deadline: str # 截止日期 class MeetingSummary(pydantic.BaseModel): action_items: list[ActionItem]只写类型不写解析逻辑。str、int、float、list、dict、嵌套模型都可以Pydantic 负责描述形状SDK 负责传达给模型。第 3 步配置 Agent 并读取强类型结果from google.antigravity import Agent, LocalAgentConfig config LocalAgentConfig(response_schemaMeetingSummary) async with Agent(config) as agent: response await agent.chat(从这段会议记录中提取行动项...) data await response.structured_output()response.structured_output()返回已解析的字典结构与 Schema 完全一致解析失败时返回None——记得加个判空。该方法的实现在 types.py它从对话的最后一步FINISH中提取结构化负载底层由 conversation.py 的get_last_structured_output支撑。⚡ 关键记忆点配置用response_schema取结果用structured_output()一写一读。三、完整实战从非结构化会议记录提取行动项仓库提供了一个可直接运行的完整示例structured_output.py它的玩法很贴近真实业务注册一个自定义工具fetch_unstructured_meeting_notes返回一段杂乱的自然语言会议记录Alice 说周一前更新测试、Bob 说明天跑 E2E 基准…Agent 配置时同时声明tools[...]和response_schemaMeetingSummaryAgent 调用工具拿到原始文本后自动蒸馏成强类型的MeetingSummary对象程序遍历data[action_items]每个行动项严格带有assignee/task/deadline三个字段直接入库即可。python structured_output.py配套的讲解文档见 structured_output.md快速上手索引在 examples/getting_started/README.md。四、response_schema 支持哪些写法response_schema的定义位于 connection.pySDK 的校验逻辑connection.py#L121-L138明确支持三种格式格式示例适用场景Pydantic 模型类response_schemaMeetingSummary✅ 首选。自动转为 JSON Schema类型即文档字典dict{type: object, properties: {...}}不想引入模型类时手写 JSON SchemaJSON 字符串{type: object}从配置文件/远端加载的 Schema非法 JSON 会直接报错传其他类型比如一个整数会在配置阶段就抛出ValueError属于快速失败不会出现运行到一半才发现格式不对的尴尬。五、避坑指南新手最常踩的 3 个坑 ️1. 忘记判空。structured_output()在解析失败或模型未产出结构化负载时返回None直接data[action_items]会抛TypeError。示例代码中的处理值得抄作业data await response.structured_output() if not data: print(Fallback 到纯文本:, await response.text())2. Schema 设计得太贪心。字段越多、嵌套越深模型满足 Schema 的难度越高。建议必填字段用具体类型str、float允许缺省的字段标| None None列表元素尽量扁平。3. 把它当万能文本提取器。结构化输出最适合程序化消费的场景——写数据库、订日历、喂微服务、填充工单。如果只是给人看的回答纯文本反而更自然。判断标准一句话下游是代码还是人六、总结概念作用response_schema在LocalAgentConfig中声明输出 SchemaPydantic 类 / dict / JSON 字符串response.structured_output()获取解析后的强类型字典失败返回NonePydantic 模型类型即约束告别正则与脆弱的json.loads一句话收尾把请输出 JSON的口头请求升级成 Schema 层面的强制约束——这就是 Google Antigravity SDK 结构化输出给你的确定性。去跑一遍 structured_output.py你会发现下游解析代码几乎可以少写一半。【免费下载链接】antigravity-sdk-pythonA Python library for building AI agents that leverage the full power of Google Antigravity.项目地址: https://gitcode.com/gh_mirrors/an/antigravity-sdk-python创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
什么是期权?《投资入门指南》Call、Put与权利金完整入门教程 什么是期权?《投资入门指南》Call、Put与权利金完整入门教程 【免费下载链接】investing-for-beginners 美股、期权与加密货币知识框架 项目地址: https://gitcode.com/gh_mirrors/in/investing-for-beginners
期权(Option)是在约定时… · 2026/9/26 23:33:47
HFSS天线辐射效率曲线提取:离散扫频设置与公式合成 1. 天线辐射效率为什么不能直接“画”出来很多人第一次在HFSS里找“辐射效率随频率变化”的图线时,都会下意识地去结果树里翻,觉得既然S参数、增益、方向图都能一键出图,辐射效率应该也有个现成的文件夹。结果翻遍了Results右键菜单里的Creat… · 2026/9/26 23:33:31
HFSS 2021天线辐射效率曲线输出教程:从公式构造到工程解读 1. 天线辐射效率曲线到底在解决什么问题做天线设计的人都有一个共识:仿真能跑通不代表天线能用。回波损耗S11低于-10dB只说明端口匹配做好了,但能量到底是被天线辐射出去了,还是被介质和导体吃掉了,S11是看不出来的。这时候就需要… · 2026/9/26 23:33:31
拒绝丑模板!在门户网站管理建设工作讲话图解步骤全解 拒绝丑模板!在门户网站管理建设工作讲话图解步骤全解 别再对着那个一眼假的 Bootstrap 模板抓头了,真的,模板网站太丑不够用是大多数创业团队负责人的噩梦。你花大价钱买的“企业级解决方案”,上线后客户第一反应往往是:“这网站是十年前的吧… · 2026/9/27 0:12:39
企业网站seo排名优化哪家好?5步实操避坑指南 企业网站seo排名优化哪家好?5步实操避坑指南 模板网站太丑且功能僵化,根本撑不起业务需求,这时候大家最纠结的就是企业网站seo排名优化哪家好,怕被割韭菜。… · 2026/9/27 0:12:26
做网站公司晨旭东方避坑指南:网站被黑挂马后的7天自救实战 做网站公司晨旭东方避坑指南:网站被黑挂马后的7天自救实战 凌晨三点,手机突然疯狂震动。你迷迷糊糊醒来,点开工作群,满屏都是红色感叹号和愤怒的语音条。“网站怎么变成赌博广告了?”“客户投诉说点击链接跳转到非法页面!”“咱们是不是被黑客入侵了?… · 2026/9/27 0:12:02
为wordpress首页添加关键词的速查手册:告别拖期 为wordpress首页添加关键词的速查手册:告别拖期 改个需求建站公司拖一周,这种痛谁懂?很多设计师转前端的朋友,接手一个WordPress项目,客户指着首页说“这里要加个关键词,方便百度搜”,结果开发团队排期排到下个月。别等了,今天就把… · 2026/9/27 0:11:36
Ajax实现WordPress导航栏实战案例与安全加固 Ajax实现WordPress导航栏实战案例与安全加固 做网站最怕什么?不是代码写不出来,是上线后一堆破事儿缠身。特别是备案流程一头雾水,域名刚注册完,ICP备案材料准备到一半,发现服务器IP和域名解析对不上,或者SSL证书没配好导致浏览器… · 2026/9/27 0:11:24
如何在3分钟内给React项目嵌入Web终端:wterm快速上手教程 如何在3分钟内给React项目嵌入Web终端:wterm快速上手教程 【免费下载链接】wterm A terminal emulator for the web 项目地址: https://gitcode.com/gh_mirrors/wterm1/wterm
wterm 是一款面向浏览器的 Web 终端模拟器(terminal emulator for the… · 2026/9/27 0:11:24
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01