generated at
JSON Mode
2023年11月6日にOpenAIが初めての開発者向けのイベントであるOpenAI DevDayを開催した。
さまざまなアップデートがあったが、そのうちJSONを返すことが保証されたJSONモードがサポートされた

python
from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="gpt-3.5-turbo-1106", response_format={ "type": "json_object" }, messages=[ {"role": "system", "content": "You are a helpful assistant designed to output JSON."}, {"role": "user", "content": "Who won the world series in 2020?"} ] ) print(response.choices[0].message.content) -> "content": "{\"winner\": \"Los Angeles Dodgers\"}"`

response_format={ "type": "json_object" }と指定することで、JSONで返してくれる

注意点
モデルのうち、gpt-4-1106-previewとgpt-3.5-turbo-1106のみでJSONモードが利用可能
プロンプトにJSONという言葉がない場合、エラーになる
レスポンス内容のうち、finish_reasonがlengthの場合、メッセージが切れている可能性があります。
JSONモードを使用すると、出力データが正しいJSON形式であることは保証される。しかし、そのデータが特定のスキーマ(データの構造や形式)に一致するかどうかは保証されない。

参考