自分だけのクイズ作成 - Quipha公開中
スポンサーリンク
スポンサーリンク

【Python】ChatGPT APIを使って連携

AI
スポンサーリンク

はじめに

今回は、PythonでChatGPTのAPIを利用して実装します。

自分で作成したアプリから、ChatGPTの機能が呼び出せるとアイディア次第では便利ですね!

他にも私のブログで、AIについて解説している記事がありますのでご覧ください。

ChatGPTについて

ChatGPTは、OpenAIによって開発された大規模な自然言語処理モデルです。

ChatGPTについては以下の記事もご覧ください。

また、有料プランもあります。
以下の記事も参考にしてください。

VS Codeインストール

VS Codeのインストール方法は、以下の記事にまとめましたのでご覧ください。

VS Codeのオススメ設定や拡張機能などは、以下の記事にまとめました。

スポンサーリンク

Docker Desktopのインストール

Macの場合はDockerのみですが、Windowsの場合はDocker(WSL2がバックエンド)が必要です。
Dockerのインストール方法は、以下の記事をご覧ください。

Windows
Mac

ChatGPTのAPIキーの取得

ChatGPTのAPIを利用するためには、アカウントを作成し、APIキーを取得する必要があります。

アカウントの作成方法は以下の記事を参考にしてください。

APIの登録方法については以下の記事を参考にしてください。

APIキーの利用には料金がかかります。詳しくはOpenAIのサイトをご確認ください。

ログインした状態で、以下のサイトにアクセスします。

platform.openai.com

右上のメニューから、「View API keys」をクリックします。

「Create new secret key」をクリックし、APIキーを作成します。

APIキーが表示されます。
この画面でしかコピーできず、再度表示することができませんので注意してください。

APIキーは絶対に他人に知られないようにしましょう。

Dockerコンテナの設定

開発環境のコンテナを作成するための定義を用意します。

この設定ファイルは、プロジェクトを作成する度に活用できます。

任意の場所にプロジェクトフォルダを用意します。

Windows例:
\\wsl.localhost\Ubuntu\home\xxx\sample-app\
Mac例:
/users/xxx/Documents/sample-app

Windowsの場合、保存場所はWSLを指定しましょう。
Cドライブなどに保存した場合、ファイルシステムの関係で読み込みが遅くなります。

上記のフォルダの中に、「.devcontainer」フォルダを作成し、このようにファイルを作成します。

/
└ .devcontainer/
  ├ devcontainer.json
  └ Dockerfile

devcontainer.jsonを作成し中身を以下のようにします。
Dockerfileで作成ということと、拡張機能のインストールを記述します。

{
	"name": "Python Sample",
	// Dockerfileでイメージ・コンテナを作成
	"dockerFile": "Dockerfile",
	// リモート先のVS Codeにインストールする拡張機能
	"extensions": [
		"ms-python.python"
	],
}

Dockerfileを定義します。
Python環境のイメージを使用し、OpenAIのライブラリをインストールします。

FROM python:3 
ENV PYTHONUNBUFFERED 1
 
RUN pip install openai

PYTHONUNBUFFERED」は、Pythonの標準出力のバッファリングを無効にします。
アプリケーションの出力(ログなど)をリアルタイムで確認できるようになります。

設定はこれだけです。
リモート先の設定と、Dockerコンテナの定義を行いました。

以降の解説キャプチャはWindowsをベースにしていますが、Macでの操作も同様です。

VS Codeの起動

VS Codeを起動し、F1キーを押しコマンドパレットを開きます。
「Open Folder in Container」と入力し選択します。

参考までに以前とメニューの表示方法が変わりました。

先程作成したフォルダを選択します。
プロジェクトにはDockerの設定も含まれているため、初回起動時にはイメージとコンテナが自動で作成されます。

完了しました。
この時点で、Python環境のコンテナが作成され、リモートしている状態です。

ChatGPT API処理の実装

実装

Pythonファイルを任意で作成します。

chat-gpt.py
import openai

# 質問文
sentence = "Twitterとは何ですか"

# TODO: APIキーのハードコーディングは避ける
openai.api_key = "APIキー"

# ChatGPT
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role": "system",
            "content": "日本語で応答してください"
        },
        {
            "role": "user",
            "content": sentence
        },
    ],
)

chat_results = response["choices"][0]["message"]["content"]
print(chat_results)

APIキーについては、ソース中にハードコーディングするのは避けるべきです。
リポジトリ管理しないファイルに定数を用意するなど、そういった対応が必要です。
誤ってAPIキーをGitHubなどに公開しないように注意が必要です。

動作確認

それではF5キーを押し、実行してみましょう。
以下のようにChatGPTから応答結果を取得することができました。

Twitter(ツイッター)とは、140文字以内の短い文や写真・動画などを投稿し、フォロワーと呼ばれる人々と共有するソーシャル・ネットワーキング・サービスのことです。ツイートと呼ばれる投稿内容は、リツイート(他の人のツイートを自分のフォロワーにシェアすること)やリプライ(ツイートに対してコメントすること)することができ、多くの人たちとリアルタイムにコミュニケーションをとることができます。多くの芸能人や著名人もアカウントを持っており、情報発信の場としても有名です。

他サービス

他にもAIの便利なサービスがあります。

ChatPDFについては、以下の記事を参考にしてください。

AIにアプリを作ってもらえる、GPTAppです。

WebChatGPTでWebの情報を回答してもらうことができます。

さいごに

今回はChatGPTのAPIを利用して、Pythonで実装してみました。
ぜひ試してみてくださいね。

他にも私のブログで、AIについて解説している記事がありますのでご覧ください。

\オススメ/

コメント