推荐 Prompt 模板(大幅提升 JSON 质量)
请严格按照以下要求输出:
1. 输出必须是**严格合法的 JSON**,可直接被 Python json.loads() 解析
2. 所有键和字符串值必须用**英文双引号**包围
3. 不要包含任何 JSON 之外的文本(如"```json"或解释)
4. 遵循以下 Schema:
{
"type": "object",
"properties": {
"name": {"type": "string"},
"score": {"type": "number", "minimum": 0, "maximum": 100}
},
"required": ["name", "score"]
}
现在请输出:
方案1:JSON + JSON Schema(90% 场景)
# 使用 OpenAI JSON Mode(自动保证合法性)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "提取用户姓名和年龄"}],
response_format={ "type": "json_object" }, # ← 关键!
temperature=0.0
)
data = json.loads(response.choices[0].message.content)
方案2:JSON + 后处理校验(开源模型必备)
def safe_parse_json(text):
# 尝试1:直接解析
try:
return json.loads(text)
except:
pass
# 尝试2:提取首尾花括号间内容
match = re.search(r'\{.*\}', text, re.DOTALL)
if match:
try:
return json.loads(match.group())
except:
pass
# 尝试3:用大模型修复
fix_prompt = f"修复以下JSON错误,只输出合法JSON:\n{text}"
# ... 调用模型修复
raise ValueError("JSON 无法修复")
posted on 2026-01-28 21:58 ExplorerMan 阅读(0) 评论(0) 收藏 举报
浙公网安备 33010602011771号