- prompt层面:首先在prompt中进行schema注入,写好输出示例并使用几组正负示例来规范模型输出。然后在prompt的末尾添加强约束进一步规范,或加校验指令,让模型自我校验格式是否正确。
- 模型层面:使用Structured Outputs,让模型每生成一个token都做语法校验,不符合json字符的语法禁止生成,最终生成预设的JSON结构。
- 代码层面的校验:对模型输出的JSON可以使用Pydantic、json.loads等方法校验json结构。除了对JSON结构的校验外,还可以针对实际业务,比如哪些json是必选字段但没生成、枚举值是否合法、嵌套结构是否完整等。
- 增加重试与降级策略:对于输出结构不对时,让模型结合报错信息重新生成,并追加更强约束的prompt。复杂 JSON 拆分为多个简单 JSON 分段生成,降低单轮生成难度。
- 对于工程化任务增加埋点进行观测,包括JSON 解析失败率、字段缺失率、重试次数、异常文本样本,根据这些异常去调整Prompt,对模型进行微调。
如何让大模型稳定输出JSON格式数据
谷歌玩家2026-06-11 18:41
相关推荐
羊羊小栈1 天前
基于GraphRAG的税务财务智能问答系统(Neo4j_大语言模型)看-是灰机1 天前
使用go语言实现对接大模型码小白2 天前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战卖微积分的男孩2 天前
【论文精读】Tapered Language Models|锥形语言模型QN1幻化引擎2 天前
认知架构调度与语言模型辅助:DalinX V8 Track 1 实验报告大模型任我行2 天前
腾讯:预测散度掩码提升LLM强化学习phltxy2 天前
LangChain文本向量与检索器实践phltxy3 天前
LangChain从模型输出到RAG数据管道实战wish3663 天前
使用 Chainlit 调用 TextGen API + 本地 LLM 实现 RAG Chatbot 应用ck-joker3 天前
两个大模型同时翻车了--LLM应用A/B测试避坑实战