Gemini返回JSON后仍出现过长标题或重复标签,不能只靠“解析成功”判断数据合格。结构化输出支持部分JSON Schema规则,字段类型与业务要求需要分开校验。以下配置针对Interactions接口,不能直接套到其他调用方法。
先明确输出对象的结构
在response_format中设置type为text、mime_type为application/json,并通过schema提供对象定义。例如提取文章标题和标签时,将title定义为字符串、tags定义为字符串数组,再明确必填项。
字段描述写清含义,提示词也要说明材料缺失时如何处理。可在Gemini API教程核对相关用法,不要把接口字段相似理解成所有请求格式都通用。
长度与去重不能完全交给Schema
minLength和maxLength不会在约束解码中执行;uniqueItems等数组约束也不能依赖服务端强制满足。若标题要求固定长度范围,需在应用侧测量,标签则在解析后去重并检查数量。
同样,minProperties和maxProperties不应当作可靠的对象属性数量门槛。遇到通用Schema迁移,应逐项核对支持范围,不要因为服务端接受定义就默认所有约束已生效。
入库前验证内容本身
建议按解析、字段校验、业务校验的顺序处理。日期字符串可能格式正确却对应错误事件,金额也可能单位不符;这些问题需要结合原材料检查。校验失败时保留失败原因,不要静默补成默认值。使用其他AI抽取工具时,可复用本地业务校验,各接口的Schema子集则单独维护。
原创文章,作者:eastbtc,如若转载,请注明出处:https://www.eastbtc.com/ai/gemini/30453.html