チャット補完

ドキュメント:

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