进阶 api-docs.deepseek.com 2026-10-13 22:45:35 · 21 阅读

第13章 JSON 输出

JSON 输出

在许多场景中,用户需要模型以严格的 JSON 格式输出,以实现结构化输出,便于后续解析。

DeepSeek 提供 JSON 输出功能,确保模型输出有效的 JSON 字符串。

注意:启用 JSON 输出时,用户应:

  • 将 response_format 参数设置为 {'type': 'json_object'}。
  • 在系统提示词或用户提示词中包含 "json" 一词,并给出期望的 JSON 格式示例,引导模型输出有效的 JSON。
  • 合理设置 max_tokens 参数,防止 JSON 字符串中途截断。

使用 JSON 输出功能时,API 偶尔会返回空内容。我们正积极优化此问题。你可以通过修改提示词来缓解此类问题。

示例代码:以下是演示 JSON 输出用法的完整 Python 代码:

import json
from openai import OpenAI

client = OpenAI(
api_key="",
base_url="https://api.deepseek.com",
)

system_prompt = """
用户将提供一些考试文本。请解析 "question" 和 "answer",并以 JSON 格式输出。

示例输入:
世界上最高的山是哪座?珠穆朗玛峰。

示例 JSON 输出:
{
"question": "世界上最高的山是哪座?",
"answer": "珠穆朗玛峰"
}
"""

user_prompt = "世界上最长的河流是哪条?尼罗河。"

messages = [{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}]

response = client.chat.completions.create(
model="deepseek-flash",
messages=messages,
response_format={
'type': 'json_object'
}
)

print(json.loads(response.choices[0].message.content))

模型将输出:

{
"question": "世界上最长的河流是哪条?",
"answer": "尼罗河"
}

评论 (0)