広告

【Python】ChatGPT APIを使って連携

【Python】ChatGPT APIを使って連携 AI

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

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

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

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

ChatGPTについて

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

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

【ChatGPT】エンジニアが試してみた
何かと話題のAI、「ChatGPT」を試してみました。

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

ChatGPT Plusの申し込み方法
有料プランであるChatGPT Plusに申し込む方法と、試しに使ってみました。

VS Codeインストール

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

【VS Code】インストール手順を解説 【Windows/M1 Mac対応】
今回はVS Codeのインストール手順を解説します。WindowsとMacのそれぞれ分けてまとめました。

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

【VS Code】オススメの設定・拡張機能・便利機能・ショートカット【Win/Mac対応】
私的に最初に行う設定や、拡張機能、よく使うショートカットや便利な機能をまとめてみました。
広告

Docker Desktopのインストール

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

Windows
【Docker Desktop】Windowsにインストール(WSL2)
WindowsにDockerをインストールする手順を解説します。ついでにPython環境を、コンテナに構築してみたいと思います。
Mac
【Docker Desktop】Macにインストール【Monterey/M1】
MacにDockerをインストールする手順を解説します。ついでにPython環境を、コンテナに構築してみたいと思います。

ChatGPTのAPIキーの取得

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

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

【ChatGPT】エンジニアが試してみた
何かと話題のAI、「ChatGPT」を試してみました。

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

【ChatGPT】OpenAI API 有料アカウント登録
OpenAI 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

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

【VS Code】Dev Containersで「Open Folder in Container」などのメニューが表示されない
Dev Containers拡張機能のメニューの表示に仕様変更があったためまとめました。

先程作成したフォルダを選択します。
プロジェクトには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の便利なサービスがあります。

【オススメ】AIサービス
厳選したオススメのAIサービスを紹介します。

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

ChatPDFを試してみた
ChatPDFを試してみました。PDFファイルを読み込ませ、ChatGPTのようにチャットすることができます。

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

【ChatGPT】GPTAppでアプリを作成【AI】
ChatGPT APIを利用しているサービスである、GPTAppを試してみました。

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

WebChatGPTでWebの情報を回答してもらおう
ChatGPTを拡張して使用できる、WebChatGPTを試してみました。

さいごに

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

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

AIChatGPTPythonツールプログラミング
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。 また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。 定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。 パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。 Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。 例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。 いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。 テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。 初心者の方はもちろん、もっと速く計算したい方にも役立ちます。 5万対局以上の実践から問題を収録。

コメント

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