自分だけのクイズを作成しよう - Quipha
スポンサーリンク

【Python】ChatGPT APIを使って連携

【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」をクリックします。

OpenAI View API keys

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

OpenAI Create new secret key

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

OpenAI API Key

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にインストールする拡張機能
	"customizations": {
		"vscode": {
			"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」と入力し選択します。

VS Code Open Folder in Container

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

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

VS Code Open Folder in Container building image

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

VS Code Open Folder in Container start

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について解説している記事がありますのでご覧ください。

\オススメ/

コメント

タイトルとURLをコピーしました