6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenAIのAPI入門

Last updated at Posted at 2023-07-19

OpenAIのAPI入門

2023年7月19日時点の内容です。

OpenAIのAPI移行については下記の記事をご参照ください。

APIの重要な概念

プロンプト (Prompts)

APIへの入力テキスト

コンプレッション (Completions)

APIがプロンプトに対して生成する回答(出力)テキスト

トークン (Tokens)

文章で意味を持つ最小単位の要素

OpenAIの自然言語モデル

OpenAIの自然言語モデルには、現在、三つありますが、GPT-3は7月6日にレガシーとなったアナウンスがありました。もう、GPT-4とGPT-3.5のみ考えればいいことです。

  • GPT-4
  • GPT-3.5
  • GPT-3

GPT-4, GPT-3.5は、ファミリーモデルとなっているので、実際に我々が使う際にはモデルを指定して使います。性能と料金も異なるので、要注意です。7月6日のアナウンスでレガシーとなったモデルは除外します。

ファミリーモデル モデル 最大トークン 学習データ 料金(Input, 入力) 料金(Output, 出力)
GPT-4 gpt-4 8,192 2021年9月まで $0.03 / 1K tokens $0.06 / 1K tokens
gpt-4-32k 32,768 2021年9月まで $0.06 / 1K tokens $0.12 / 1K tokens
GPT-3.5 gpt-3.5-turbo 4,096 2021年9月まで $0.0015 / 1K tokens $0.002 / 1K tokens
gpt-3.5-turbo-16k 16,384 2021年9月まで $0.003 / 1K tokens $0.004 / 1K tokens

OpenAIの自然言語モデルは進化していて定期的に更新されています。更新時には新スナップショットモデルが作られて旧スナップショットモデルは新モデルがリリースしてから3か月後には非推奨となります。

モデル 最大トークン 概要
gpt-4-0314 8,192 2023年3月14日のスナップショット、gpt-4-0613モデルがリリースされたため、2023年9月13日以降は非推奨となる。
gpt-4-0613 8,192 2023年6月13日のスナップショット、現在の最新モデル
gpt-4-32k-0314 32,768 2023年3月14日のスナップショット、gpt-4-32k-0613モデルがリリースされたため、2023年9月13日以降は非推奨となる。
gpt-4-32k-0613 32,768 2023年6月13日のスナップショット、現在の最新モデル
gpt-3.5-turbo-0301 4,096 2023年3月1日のスナップショット、gpt-3.5-turbo-0613モデルがリリースされたため、2023年9月13日以降は非推奨となる。
gpt-3.5-turbo-0613 4,096 2023年6月13日のスナップショット、現在の最新モデル
gpt-3.5-turbo-16k-0613 16,384 2023年6月13日のスナップショット、現在の最新モデル

最初に掲示したモデルは新しいモデルがリリースされたら、(新スナップショットモデルが作られる)2週間後に自動で更新されます。それぞれのモデルはバージョンで管理されます。

「gpt-3.5-turbo-16k」モデルは6月13日が初リリースとなります。

モデル 更新前モデル 更新後モデル 現在バージョン
gpt-4 gpt-4-0314 gpt-4-0613 0613
gpt-4-32k gpt-4-32k-0314 gpt-4-32k-0613 0613
gpt-3.5-turbo gpt-3.5-turbo-0301 gpt-3.5-turbo-0613 0613
gpt-3.5-turbo-16k gpt-3.5-turbo-16k-0613 0613

最終的なOpenAIの自然言語モデルリストです。

ファミリーモデル モデル バージョン 最大トークン 学習データ 料金(Input, 入力) 料金(Output, 出力)
GPT-4 gpt-4 0613 8,192 2021年9月まで $0.03 / 1K tokens $0.06 / 1K tokens
gpt-4-0613 0613 8,192 2021年9月まで $0.03 / 1K tokens $0.06 / 1K tokens
gpt-4-32k 0613 32,768 2021年9月まで $0.06 / 1K tokens $0.12 / 1K tokens
gpt-4-32k-0613 0613 32,768 2021年9月まで $0.06 / 1K tokens $0.12 / 1K tokens
GPT-3.5 gpt-3.5-turbo 0613 4,096 2021年9月まで $0.0015 / 1K tokens $0.002 / 1K tokens
gpt-3.5-turbo-0613 0613 4,096 2021年9月まで $0.0015 / 1K tokens $0.002 / 1K tokens
gpt-3.5-turbo-16k 0613 16,384 2021年9月まで $0.003 / 1K tokens $0.004 / 1K tokens
gpt-3.5-turbo-16k-0613 0613 16,384 2021年9月まで $0.003 / 1K tokens $0.004 / 1K tokens

APIエンドポイント

APIのエンドポイントは二つありますが、7月6日にGPT-3系モデルがレガシーとなったアナウンスがありましたので、レガシーモデルのエンドポイントは非推奨となり、使わなくてもいいでしょう。

APIエンドポイント API名 主なモデル 備考
/v1/chat/completions Chat Completions API gpt-4, gpt-3.5-turbo 2023年以降モデル
/v1/completions Completions API text-davinci-003, text-davinci-002, davinci, curie, babbage, ada 2020~2022年モデル

Chat Completions APIとCompletions APIの違いはプロンプトの内容が構造化されているかどうかです。

2020年6月にリリースされたCompletions APIはLLMとやり取りするためのフリーフォームのテキストプロンプトを提供していました。

構造は理解しやすいので、概念整理などの入門時は使われるでしょうか。

import openai

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="OpenAI社について説明してください。"
)

Chat Completions APIはより良い結果を引き起こせるための構造化され、一連の会話、複数ターンの会話をメッセージのリストとして入力できます。リストにはロールとして設定して入力します。

import openai

openai.ChatCompletion.create(
  model="gpt-4",
  messages=[
        {"role": "system", "content": "日本語で文章が提供されるので英語に翻訳してください。"},
        {"role": "user", "content": "私は今日とても幸せです。"}
    ]
)

Chat Completions APIのロール

ロール 説明
system 会話を始める際に初期設定、会話のルールやアシスタントの性格などを定義
user 質問または要求や指示などのメッセージ定義
assistant モデルが生成した回答を定義(これまでの会話をトークン制限を考慮して全て送ることで、その文脈を踏まえて回答可能)
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?