ChatGPTをローカルPCで実行する
ChatGPTをローカルPCで実行
ChatGPTをローカルPCで実行するための手順を以下にまとめる。
これにより、APIキーの取得からPythonでChatGPTを呼び出すまでの流れを網羅できる。
実行の流れ
APIキーの発行方法
チャージ方法と料金について
リクエストの作成方法
Pythonでの呼び出しコードと結果
APIキーの発行方法
ChatGPT(OpenAI)のAPIを利用するためには、まずAPIキーを取得する必要がある。以下の手順でAPIキーを発行する。
手順
OpenAIアカウントの作成
OpenAI公式サイト(platform.openai.com)にアクセスし、アカウントを作成する。GoogleやMicrosoftアカウントで簡単に登録できる。APIキーの発行
アカウント作成後、ダッシュボードにログインし、左側メニューから「API keys」を選択する。「Create new secret key」ボタンをクリックし、新しいAPIキーを生成する。
生成されたAPIキーは一度しか表示されないため、必ずコピーして安全な場所に保存する。
APIキーの管理
APIキーは複数作成可能なので、用途ごとに名前を付けて管理すると便利。APIキーが漏洩すると不正利用される可能性があるため、厳重に管理することが重要。
(必ず自分だけがわかるような状態にし、原則他人に教えない)
(また、ハードコーティングも行わないこと)
※APIキーとは、API(アプリケーションプログラミングインターフェース)へのアクセスを認証するための一意な識別子である。APIキーは、特定のアプリケーションやサービスがAPIを利用できるようにし、認証やアクセス制御、課金のために使用される
※ハードコーディングとは、プログラムのソースコード内に固定値や設定値を直接書き込むことを指す。通常、これらの値は外部の設定ファイルやデータベースから取得するべきだが、ハードコーディングではそれらをコード内に埋め込んでしまう。
チャージ方法と料金について
OpenAI APIは無料クレジットが提供されるが、一定量を超えると有料になる。以下の手順でチャージ方法を説明する。
手順
支払い情報の登録
ダッシュボードから「Settings」→「Billing」に移動し、「Payment methods」でクレジットカード情報を登録する。チャージ方法
「Billing」ページで「Add to credit balance」ボタンをクリックし、希望する金額(最低$5)をチャージする。これで利用可能なクレジットが追加される。自動チャージ設定(任意)
残高が一定金額以下になった時に自動的にチャージする設定も可能。「Enable auto recharge」をオンにして設定する。
※チャージ後、実際に使用できるまでには5分ほどかかる
リクエストの作成方法
PythonなどのプログラムからChatGPT APIを呼び出す際には、リクエストフォーマットが重要になる。以下は基本的なリクエスト構造とその出力。
コード(Powershell)
PS C:\Users> curl https://api.openai.com/v1/chat/completions `
>> -Method POST `
>> -Headers @{
>> "Content-Type" = "application/json"
>> "Authorization" = "Bearer $env:OPENAI_API_KEY"
>> } `
>> -Body '{
>> "model": "gpt-4o-mini",
>> "messages": [{"role": "user", "content": "Say this is a test!"}],
>> "temperature": 0.7
>> }'
必要な修正(Powershellの場合、環境変数を設定する)
PS C:\Users> $env:OPENAI_API_KEY = "your-api-key"
出力
StatusCode : 200
StatusDescription : OK
Content : {
"id": "chatcmpl-id",
"object": "chat.completion",
"created": 1111111111,
"model": "gpt-4o-mini-2024-DD-MM",
"choices": [
{
"index": 0,
"message":...
RawContent : HTTP/1.1 200 OK
Connection: keep-alive
access-control-expose-headers: X-Request-ID
openai-organization: user-wktkph8zaafncqgqvt0vmr7w
openai-processing-ms: 322
openai-version: 2020-10-01
x-ratel...
Forms : {}
Headers : {[Connection, keep-alive], [access-control-expose-headers, X-Request-ID], [openai
-organization, user-wktkph8zaafncqgqvt0vmr7w], [openai-processing-ms, 322]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : System.__ComObject
RawContentLength : 796
Pythonでの呼び出しコード
Python用パッケージをインストール
pip install openai
Pythonコード例(ファイル名は任意、~.py)
import openai
# OpenAI APIキーを設定(例として 'your-api-key' を使用)
openai.api_key = 'your-api-key'
# チャット履歴(システムメッセージとユーザーメッセージ)
messages = [
{"role": "system", "content": "You are a helpful assistant."}
]
# 無限ループでチャットを続ける
while True:
# ユーザーからメッセージ入力
user_input = input("User: ")
# 終了コマンド
if user_input.lower() == 'exit':
print("Chat ended.")
break
# ユーザーメッセージを追加
messages.append({"role": "user", "content": user_input})
# ChatCompletionのインスタンスを作成
chat_completion = openai.ChatCompletion()
# ChatGPT APIへのリクエスト
response = chat_completion.create(
model="gpt-3.5-turbo", # GPTモデル(最新モデルも利用可能)
messages=messages
)
# AIからの応答メッセージを取得
reply = response['choices'][0]['message']['content']
# 応答メッセージを表示
print(f"ChatGPT: {reply}")
# 応答メッセージも履歴に追加
messages.append({"role": "assistant", "content": reply})
必要な修正
APIキー: 実際のAPIキーを削除し、'your-api-key' というプレースホルダーに置き換えた。実際に使用する際には、OpenAIのダッシュボードで発行されたAPIキーをここに設定する必要がある。
別ファイルから呼び出すなどの州を加えること。
出力
PS C:\Users> python gpt_app.py
User: おはよう
ChatGPT: おはようございます!良い1日をお過ごしください。何かお手伝いできることがあればお知らせくださいね。
User: Pythonについて教えて
ChatGPT: Pythonは、汎用プログラミング言語の1つであり、シンプルで読みやすいコードを書くことができることが特徴です。Pythonは、データ処理、ウェブ開発、機械学習、人工知能などさまざまな分野で広く利用されており、初心者から上級者まで幅広いプログラマーに支持されています。
Pythonの特徴としては、インデントによるブロック構造や豊富な標準ライブラリ、さまざまなサードパーティーライブラリのサポートなどが挙げられます。また、初学者にも取っ付きやすいため、プログラミングの入門言語としてもおすすめです。
Pythonの基本的な構文やデータ型、制御構造、関数定義などの基礎から応用まで幅広く学ぶことができます。Pythonに関する具体的な質問や情報を提供したいテーマがあればお知らせください!
User: exit
Chat ended.
PS C:\Users\takky\OneDrive\デスクトップ\code_work\chatgpt>