本文へ移動
すべてのドキュメント

ガイド

JSON出力

response_format でDeepSeekにJSONを頼み、プロンプトで欲しい形を説明します。返信は必ず解析し、信頼する前に確認してください。

2026年10月26日 確認

JSONを頼む

Python
import json
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://nokeep.ai/v1",
    api_key=os.environ["NOKEEP_API_KEY"],
)

reply = client.chat.completions.create(
    model="deepseek-v4.1-flash-uncensored",
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": 'Answer as JSON: {"title": string, "tags": string[]}'},
        {"role": "user", "content": "A short story about a lighthouse keeper's last night."},
    ],
)
data = json.loads(reply.choices[0].message.content)
print(data["title"], data["tags"])

response_format は、json_schema を含め、送ったとおりにDeepSeekへ届きます。形はプロンプトにも書いてください。モデルが読むのはそちらだからです。

GLMの場合

glm-5.3-flash-uncensored は response_format を受け付けません。取り除かれ、x-nokeep-ignored に名前が出ます。システムメッセージでJSONを頼み、返信も同じように解析してください。

返ってきたものを確認する

  • json.loads または JSON.parse をtryの中で使って解析し、解析エラーなら一度だけ再試行してください。
  • 必要なフィールドがあり、型が正しいか確認してください。PydanticやZodのようなスキーマ検証ツールなら1行でできます。
  • 返信には余裕を持たせてください。max_tokens が小さすぎると、JSONが閉じる前に途切れます。