AI&自動化ツール

PythonからChatGPTのAPIを呼び出してみる

SANA

ノーコードによるシステム構築がトレンドとなっている今現在ですが、ノーコードによって実現できることは限られているのも事実です。そんな時に自分でプログラムが書けると自分自身が求めているニーズに合わせてソフトウェアをカスタマイズすることが可能となります。またプログラミングを学ぶことによって技術の背後にある原理や概念を理解することができます。

今回の記事はプログラミング言語「Python」を利用してChatGPTのAPIを呼び出す手順を公開します。Pythonは数千ものライブラリとフレームワークがあり、ウェブ開発、データサイエンス、機械学習、AI、科学計算、自動化スクリプトなど、多岐にわたる用途で使用されています。

Pythonを使ってChatGPTのAPIを呼び出すための準備

準備するのは以下となります。

・Visual Studio Code(VSCode)→ コードエディタ

・ChatGPTのAPIキー → GhatGPTを外部から呼び出すためのキー情報

・OpenAIライブラリ → コード内でChatGPTを使うためのプログラム群

まずはコードを書くためにVisual Studio Code(以下、VSCode)を以下のMicrosoft公式ウェブサイトからしましょう。VSCodeはMicrosoftが開発したオープンソースのソースコードエディタです。

https://code.visualstudio.com

ChatGPTのAPIキー取得については以下の記事にまとめてありますのでそちらを参考にして下さい。登録時に$18分の無料クレジットが付与されますが、それ以降のAPIキーの利用については従量課金されますので、詳しくはOpenAIのサイトをご確認ください。

あわせて読みたい
【たった20分】ChatGPTを組み込んだシステムを作ってみる(前編)
【たった20分】ChatGPTを組み込んだシステムを作ってみる(前編)

次にVSCodeを開いて以下の拡張機能「GhatGPT – Genie AI」をインストールして、ChatGPTのAPIキーを入力して下さい。コーディングしてる際に困ったことが発生した時に画面端でChatGPTに聞くことが可能となります(かなり便利)

コードを書いて実行してみる

では、実際にコードを書いてみましょう。と言いたいのですが、今やコーディングはAIのサポートを受けながらやるのがトレンドなので実際にChatGPTに意見を聞いてみましょう。(あくまでも補助的なモノなので自分自身で確認するのは必須です。)

前章で「GhatGPT – Genie AI」」を導入したので「PythonでChatGPTを使いたい。コードはどのようにかけばいいか?」と聞いてみた結果、以下の回答が返ってきました。

上記のコードを参考に以下のchatgpt.py※を作成しました。記事最後のAppendixに実際のコードを記載してありますので確認してみて下さい。

※Pythonで書いたファイルについては拡張子を「.py」にするのが通例となります。

この「chat_with_gpt(prompt)」のprompt部分に何か入れればそれに応じた回答が戻ってくるイメージです。これでChatGPTのモジュール完成です。(api_keyをメソッド呼び出し毎に読み込むのは書き方として微妙ですがまあ、うん。)

さて、このchatgpt.pyを処理の中で呼び出してみましょう。test.pyというファイルを作成して以下のようにコーディングします。「import chatgpt」は先程作成したchatgpt.pyを呼び出すという意味です。printは結果を出力させる関数となっているのでこの中にchat_with_gpt関数を入れます。今回は試しに「元気ですか?」を引数にして実行してみます。右クリックを押して「ターミナルでPythonファイルを実行する」を押してみて下さい。

「はい、元気です!」という頼もしい返事が返ってきました!これでPythonからChatGPTのAPIを呼び出せたことになります。

まとめ

今回、科学技術分野でよく使われるプログラミング言語「Python」を用いてChatGPTのAPIを呼び出してみました。コーディングする際には「GhatGPT – Genie AI」も活用しながらプログラムを動かすことができました。少しプログラミングをやった人にとっては簡単な作業だったと思いますが、基本的なところを確実に抑えることで様々なことへの応用が可能となります。

Appendix

今回のコードを添付します。

■chatgpt.py

import openai

def chat_with_gpt(prompt):
openai.api_key = “自分のChatGPTのAPIキー
response = openai.Completion.create(
engine=”text-davinci-003″,
prompt=prompt,
max_tokens=100, # 応答のトークン数を制限する場合に指定します。
temperature=0.7, # 高い値ほどランダム性が増え、低い値ほど厳密な応答になります。
n=1, # 返される応答の数を指定します。
stop=None, # 応答を停止させるテキストを指定します。Noneの場合は自動的に停止しません。
timeout=None, # APIリクエストのタイムアウトを指定します。Noneの場合はデフォルト値が使用されます。
)

return response.choices[0].text.strip()
 

■test.py

import chatgpt

print(chatgpt.chat_with_gpt(“元気ですか?”))

Xからの読者コメントをお待ちしています。
ブログ更新の励みになります!
ABOUT ME
さな夫
さな夫
JTC エクストリーム中間管理職
東京生まれ。30代。大学院修了後に今のSIer会社へ就職。普段はアプリ開発の設計を担当。奥さんと子供2人とほのぼのとした日常を過ごしながら技術系のブログを執筆中。
記事URLをコピーしました