チャット補完

ドキュメント:

Chat Completion API | OpenAI [Official]

概要

参考:

ChatGPT でチャットボットを作る/OpenAI 純正 API の利用 | IIJ Engineers Blog

使い方

API
  • openai.ChatCompletion.create
リクエストボディ
  • model使用するモデル
  • messages会話の内容
  • temperature温度パラメータ (デフォルト1.0)
  • top_p核サンプリングにおいて使用する上位確率質量の割合 (デフォルト1.0)
  • n生成する選択肢の数 (デフォルト1)
  • streamレスポンスをストリームとして送信する (デフォルトfalse)
  • stopトークンの生成を停止するシーケンス (最大 4 つまで)
  • max_tokens最大トークン数 (デフォルトinf)
  • presence_penalty存在のペナルティ/1回以上現れたトークンにペナルティを与える (範囲-2.02.0/デフォルト0)
  • frequecy_penalty頻度のペナルティ/過去に出現した頻度に応じてトークンにペナルティを与える (範囲-2.02.0/デフォルト0.0)
  • logit_biasトークンのロジットにバイアスを付与する/トークンが選択される可能性を増減する/-100 で指定したトークンを禁止、100 で排他的に選択する (範囲-100100/デフォルトnull)
  • userエンドユーザーの識別子/不正行為の監視及び検出に利用される/ユーザー名や電子メールをハッシュ化して用いることができる/一時的なユーザーに対してはセッション ID を使用できる

例:

import openai

result = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ],
    max_tokens=50
)

print(result)Code language: Python (python)

ドキュメント:

Introduction – Chat Completion | OpenAI [Official]

Create Chat Completion | OpenAI [Official]

レスポンス

例:

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "The 2020 World Series was played at a neutral site due to the COVID-19 pandemic. It was held at Globe Life Field in Arlington, Texas.",
        "role": "assistant"
      }
    }
  ],
  "created": 1678999999,
  "id": "chatcmpl-12345ABCDEXXXXXXXXXXXXXXXXXXX",
  "model": "gpt-3.5-turbo-XXXX",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 33,
    "prompt_tokens": 56,
    "total_tokens": 89
  }
}Code language: JavaScript (javascript)

参考:

Response Format – Chat Completion | OpenAI [Official]

パラメータ

ドキュメント:

Parameter Details – API Reference | OpenAI [Official]

ストリーム (Stream)

ドキュメント:

stream – API | OpenAI [Official]

コード:

How to Stream Completions – openai-cookbook – GitHub

参考:

ChatGPT API からの返答をブラウザで頭から逐次表示する技術 | Saikou Kunisaki

音声チャットを作る

こちらのページを参照

参考:

Whisper API / ChatGPT API / VOICEVOX を使って AI と会話する | umyomyomyon

Slack Bot を作る

参考:

OpenAI の Chat Completion API を使って、ChatGPT ライクに会話ができる Slack Bot を作る | Ryo Kawamata

トークン数を調整する

動画:

Handling Token Limits (Tinkering with Deep Learning & AI)

参考:

So chatgpt is still limited to the 4096 token context length? · acheong08/ChatGPT · Discussion #649 – GitHub

maximum token – OpenAI API Community Forum

Can I set max_tokens for chatgpt turbo? – OpenAI API Community Forum

リファレンス

Chat Completion – API Reference | OpenAI [Official]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA