目次

  1. 単純なサンプル
  2. チャットのストリーミング出力
  3. 出力形式をJSONにする
  4. URLリンク先の画像を入力に用いる

単純なサンプル

from openai import OpenAI

client = OpenAI()
model = "gpt-4o-mini"

response = client.chat.completions.create(
model = model,
messages = [
{"role": "system", "content": "AIがどのような役割を担っているか伝える文章を書く"},
{"role": "user", "content": "ユーザーのメッセージ"},
{"role": "assistant", "content": "AIの返答"},
{"role": "user", "content": "ユーザーのメッセージ"},
],
)

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

チャットのストリーミング出力

次のようにstream = Trueとする.

response = client.chat.completions.create(
model = model,
messages = [
# メッセージ
],
stream = True
)

printは次のように変更する.

for r in response:
content = r.choices[0].delta.content
if content is not None:
print(content, end = "", flush = True)

出力形式をJSONにする

次のようにresponse_format = {"type": "json_object"}とする.

response = client.chat.completions.create(
model = model,
messages = [
# メッセージ
],
response_format = {"type": "json_object"}
)

URLリンク先の画像を入力に用いる

次のように{"type": "image_url", "image_url": {"url": image_url}}を与える.

response = client.chat.completions.create(
model = model,
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "画像を説明してください。"},
{"type": "image_url", "image_url": {"url": image_url}},
],
}
],
)