今回は新たに公開されたChatGPTの「gpt-3.5-turbo」モデルとAPIを使って、アプリケーションにChatGPTの機能を組み込むためのPythonコードの実装方法について解説します。
「gpt-3.5-turbo」は従来の「text-davinci-003」比較して1/10のコストで使用できますので、アプリ開発にぜひ活用してみてください。
ChatGPTとは
ChatGPTは、OpenAIが提供する自然言語生成モデルです。GPT(Generative Pre-training Transformer)と呼ばれるモデルのアーキテクチャを採用しています。
GPTは、Transformerと呼ばれるニューラルネットワークを使用して、文書や言語処理タスクでのテキスト生成を行うモデルです。GPTは、大量のテキストデータを学習し、そのデータをもとに新しい文章を生成することができます。
ChatGPTは、GPTをもとにしたモデルであり、対話型システムやチャットボットなどで使われることを想定して開発されています。対話を続けることができるようになっており、ユーザーが入力するテキストに対して、自然で返答ができるようになっています。
API有料プランへの移行
OpenAIのAPIはアカウントを取得すると18ドル分の無料クレジットが利用できます。しかし、ChatGPTをアプリケーションに組み込み本格的に使っていきたい場合は有料プランへの移行がおすすめです。
移行手順は以下のページで解説していますので、あわせてご覧ください。
OpenAIアカウント作成とAPIキーの取得
ChatGPTのAPIを使用するためには、OpenAIのアカウント登録と開発者向けAPIキーの取得をする必要があります。
手順については以下のページで解説していますので、APIキーの取得までを終わらせておいてください。
APIドキュメント
ChatGPTのAPIの公式ドキュメントは以下となります。
「Chat completions」の項目に実装方法の詳細が記載されています。
ライブラリのインストール
ChatGPTを使用するのに必要なOpenAIのライブラリをインストールします。
コマンドプロンプトで以下のコマンドを実行してください。
pip install --upgrade pip
pip install setuptools wheel
pip install openai
Pythonコード解説
ここからは、実際にAPIを使ってChatGPTの機能を実装するためのコードの書き方について解説します。
APIキーの設定
OpenAIのサイトで取得したAPIキーを設定します。
#APIキーを設定
openai.api_key = "(ここにAPIキーを設定)"
推論を実行
openai.ChatCompletion.createにユーザーからのメッセージを入力し、モデルから生成されたメッセージとして出力として返します。
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
(「messagesパラメータ」の項で解説)
]
modelパラメータ
今回は新たにリリースされた「gpt-3.5-turbo」というモデルを使用します。
従来の「text-davinci-003」モデルの」1/10のコストで利用することが可能です。
messagesパラメータ
messagesパラメータは「system」、「user」、「assistant」から構成されます。各機能の解説は以下の通りです。
system | assistantに対する会話全体の指示(会話をフォーマットする) |
user | ユーザーからの入力 |
assistant | 以前の応答を保存したり、assistantに望ましい動作の例を示すのに使用 |
出力を取得する
openai.ChatCompletion.createの戻り値として以下のようにモデルの出力を取得します。
最後のターンのメッセージを取得することができます。
response["choices"][0]["message"]["content"]
作成したソースコード
今回は、PythonコードからAPIにアクセスし、単一の質問で終了するパターンと、ユーザーと何度か会話をやり取りする複数ターンの例を作成してみました。
単一ターン
単一ターンで終了する最小構成のコードは以下となります。
messagesの「user」に質問したい内容を指定することでその回答を得ることができます。
import openai
#APIキーを設定
openai.api_key = "(ここにAPIキーを設定)"
#推論を実行
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "これからプログラミングを始めたいのですが、おすすめの言語はなんですか?"}
]
)
#ChatGPTの回答を出力
print(response["choices"][0]["message"]["content"])
複数ターン
複数ターンでユーザーと会話をやり取りするコードは以下の通りです。
「system」でChatGPTにどのように振舞ってほしいかを指定しています。
また、「assistant」で望ましい回答の例を指定しています。
import openai
#APIキーを設定
openai.api_key = "(ここにAPIキーを設定)"
#推論を実行
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "あなたはプログラミングの講師です。"},
{"role": "user", "content": "これからプログラミングを始めたいのですが、おすすめの言語はなんですか?"},
{"role": "assistant", "content": "Pythonは初心者にとって優れた選択肢です。Pythonは読みやすく、シンプルで、学習しやすい構文を持っています。"},
{"role": "user", "content": "開発環境はどのように構築したらよいですか?"}
]
)
#ChatGPTの回答を出力
response["choices"][0]["message"]["content"]
実行結果
先ほどの単一ターン、複数ターンのコードの実行結果は以下の通りです。
単一ターンの実行結果
単一ターンのコードの実行結果は以下の通りです。
「これからプログラミングを始めたいのですが、おすすめの言語はなんですか?」という問いに、的確な回答を得ることができました。
初心者におすすめの言語は、Pythonです。Pythonは、シンプルで読みやすく、学習しやすい言語です。また、豊富なライブラリやコミュニティがあり、様々な用途に対応することができます。また、Webアプリケーションやデータ解析など、現在の需要が高い分野でも利用されているため、将来的にも有用な知識となるでしょう。
複数ターンの実行結果
複数ターンのコードの実行結果は以下の通りです。
出力されるのは最後のターンの回答のみとなりますが、その内容から1ターン目で初心者におすすめの言語としてPythonを提示していることが確認できます。
Pythonの開発環境を構築するためにはいくつかの方法がありますが、以下の手順は一般的な方法です。
1. Pythonをインストールする
Pythonをインストールするには、[公式サイト](https://www.python.org/downloads/)からインストーラーをダウンロードして、インストールします。
2. IDEをインストールする
Pythonのコードを書くためには、統合開発環境(IDE)を使用することをお勧めします。代表的なものはPyCharm、VS Codeなどです。インストール方法は、各IDEの公式サイトを参照してください。
3. パッケージマネージャーのインストール
Pythonには、外部ライブラリを簡単にインストールできるパッケージマネージャーがあります。代表的なものは`pip`です。これはPythonをインストールした際に同時にインストールされます。
4. 必要なライブラリのインストール
プログラミングをする際に必要なライブラリをインストールします。例えば、NumPy、Pandas、Djangoなどがあります。これらのライブラリはpipでインストールできます。
以上がPythonの開発環境を構築するための一般的な手順ですが、環境構築には環境や状況に応じて最適な方法があります。
\ Pythonを自宅で好きな時に学べる! /
まとめ
今回はChatGPTの新しいモデル「gpt-3.5-turbo」とAPIの実装方法について解説してみました。従来のモデルの1/10という低コストで使用できますので、ぜひ活用してみてください。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント