要让DeepSeek生成的JSON中不包含Markdown或其他冗余信息,需通过结构化提示词设计、格式约束和验证机制实现。

在这里插入图片描述


一、结构化提示词设计

  1. 明确输出格式要求

    • 在提示词中直接声明「仅输出纯JSON格式,禁止任何Markdown语法或额外文本」。
    • 示例
      请将以下内容转换为JSON格式,确保:
      1. 仅输出JSON对象,不含Markdown符号、注释或其他文本;
      2. 字段名使用英文,值保留原始数据内容;
      3. 不包含空字段或冗余字段。
      
  2. 字段过滤与优先级设定

    • 指定需提取的字段,并明确忽略无关数据。
    • 示例
      从输入文本中提取以下字段生成JSON:
      - entity(实体名称)
      - time(时间,格式为yyyy-mm-dd hh:mm:ss)
      - summary(内容摘要)
      其他字段一律忽略。
      

二、动态格式约束

  1. 数据类型与精度控制

    • 对数值型字段(如坐标)限制小数位数,避免过长冗余:
      将geometry字段中的坐标值保留7位小数,多余位数四舍五入。
      
  2. 空值处理规则

    • 强制过滤空值字段(如"create_dat": null):
      若字段值为空(null、空字符串、空数组),则直接删除该字段。
      

三、验证与迭代机制

  1. JSON模式校验

    • 要求模型生成后自检格式合法性:
      生成JSON后,验证以下内容:
      - 是否符合JSON语法规范;
      - 是否包含所有必填字段;
      - 字段类型是否正确(如time是否为字符串)。
      
  2. 错误回馈修正

    • 若首次输出包含冗余信息,追加指令:
      检测到输出中存在Markdown符号,请重新生成纯JSON格式。
      

四、参考官方最佳实践

直接使用DeepSeek官方提供的结构化输出模板:

用户将提供一段新闻内容,请提取关键信息并以如下JSON格式输出:
{
  "entity": <新闻实体>,
  "time": <时间,格式为yyyy-mm-dd hh:mm:ss>,
  "summary": <内容总结>
}
禁止添加任何额外字段或注释。

五、实际案例对比

场景错误输出优化后输出
坐标处理"geometry": "12354.52318892576, 54.52684495944""geometry": "12354.5231889, 54.5268450"(保留7位小数)
冗余字段{"name": "示例", "desc": "无", "comment": "此字段待补充"}{"name": "示例"}(删除空值字段)

总结

通过精准的提示词设计(字段过滤、格式约束)、动态验证机制(自检与修正)和官方模板参考,可有效确保DeepSeek生成的JSON纯净无冗余。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐