Google ColaboratoryでChatGPT-4を動かすための方法

最近使いまくっている組合せは

  • Chat GPT APIとGoogle Apps Script
  • Chat GPT APIとGoogle Colaboratory

どちらもGoogle上で動くのですが、環境構築不要で、サクッと作ってサーバーレスで動かせるのが特徴です。

言語として、Google Apps Scriptは、Javascriptベース。Google ColaboratoryはPythonベースです。

個人的には時間で繰り返すトリガーなどがやりやすいのでGoogle Apps Scriptの方が業務で使う事が多いのですが、大量のデータを扱う時にはPythonの方が優秀なので、機械学習を実行するときとかには、Google Colaboratoryで使っています。

 

Pythonだと大量のデータモデルもいけるので、前回の記事では、別モデルを試したので気になる人はこっちも見てみると良いかと思います。

今回はChat-GPT4でチャレンジしてみます。

GPT-NeoX-20BをGoogle Colaboratoryで動かしてみる

 

ちなみにAIにも相談してみました

Question

Chat GPTAPIを利用して外部サービスに組み込みをしたいと思います。
利用するモデルはGPT-4を利用をしようと思っています。
Google Apps ScriptとGoogle Colaboratoryとどちらを使った方があなたから正確な回答が来ますか?

Answer

Google Apps Scriptは、Google Workspace上で実行されるJavaScriptベースのプラットフォームで、GoogleドキュメントやスプレッドシートなどのGoogle Workspace製品と簡単に統合できます。これは、組織で利用されるドキュメントやシートにGPT-4 APIを統合したい場合に便利です。

一方、Google Colaboratoryは、PythonベースのJupyterノートブック環境で、Googleドライブ上で実行されます。Colaboratoryは、機械学習やデータ分析などのタスクに向いており、GPT-4 APIを使用する際に、より強力なコンピューティングリソースやライブラリを利用できます。

どちらのプラットフォームでも、正確な回答が得られます。ただし、選択するプラットフォームは、プロジェクトの要件や目的によって異なります。Google Apps Scriptが主にGoogle Workspace製品との統合を重視し、Google Colaboratoryはより高度な分析や機械学習タスクに向いています。どちらの環境も適切に設定すれば、GPT-4 APIを活用して正確な回答を得ることができます。

では、早速作っていきましょう

Open AIアカウントを作成してAPIキーを取得する

OpenAIのAPIを使うためにまずAPI keyを取得しなければ話になりません。
以下の公式ページから取得することができますので取得したらコピーして保存しておきましょう。

OpenAI API Key

分からなくなったら、APIキーの発行は、アカウントの「View API keys」から作成できます。
Create new secret key」で新たにAPI keyが発行されます。

 

Google Colaboratoryで作り始める

Google Colabratory(https://colab.research.google.com/) にアクセスして、新規ノートブックを作成しましょう。、

ランタイムの設定を変更していくと無料でもスペックが上がるので便利です。
ランタイム→ランタイムのタイプを変更→GPUかTPUに変更します。

 

続いて、コードをぶち込みましょう。
その上で、先ほどのAPI Keyを"your_api_key_here"に入れましょう。

# 1. OpenAIのPythonライブラリをインストール
!pip install openai

# 2. APIキーを設定
import openai
import os

api_key = "your_api_key_here" # 実際のAPIキーに置き換えてください
openai.api_key = api_key

# 3. GPT-4 APIを使ってプロンプトに対する応答を取得
def get_gpt4_response(prompt, model="text-davinci-002", tokens=100):
response = openai.Completion.create(
engine=model,
prompt=prompt,
max_tokens=tokens,
n=1,
stop=None,
temperature=0.5,
)
return response.choices[0].text.strip()

# 4. プロンプトの例として、質問を入力してGPT-4 APIを実行
prompt = "What are the benefits of using renewable energy sources?" # ここに質問文を入れます
response = get_gpt4_response(prompt)
print(response)

補足としてパラメーターを説明するとこういったパラメータになっています。
パラメーターをいじると独自性のある回答が戻ってくるようになりますが、tokenをたくさん消費してしまう事もあるので注意してください。

 

  1. engine: これは、使用するGPTモデルを指定する文字列です。GPT-4の場合、例えば"text-davinci-002"など、利用可能なモデル名を指定します。利用可能なモデルの一覧は、OpenAIのドキュメントで確認できます。
  2. prompt: これは、GPT-4に与えるテキストの入力です。GPT-4は、このプロンプトに基づいて適切な回答を生成します。質問や状況に応じて、プロンプトを自由に設定できます。
  3. max_tokens: これは、GPT-4が生成する最大トークン数(単語や文字の塊)を指定する整数です。トークン数が多いほど、生成されるテキストが長くなりますが、同時にAPIの使用料金が増えることに注意してください。
  4. n: これは、GPT-4によって生成される回答の個数を指定する整数です。n=1とすると、1つの回答が生成されます。nを増やすと、それに応じて異なる回答が複数生成されます。
  5. stop: これは、テキスト生成を終了させるための文字列または文字列のリストです。GPT-4が指定された文字列を検出した場合、その時点でテキスト生成を終了します。
  6. temperature: これは、GPT-4のテキスト生成のランダム性を制御する実数です。0に近いほど、生成されるテキストが保守的で、繰り返しパターンが増える傾向があります。1に近いほど、生成されるテキストが多様で、予測が難しい言葉が含まれることがあります。一般的に、0.5から1の範囲で適切な値を選ぶことが推奨されています。

まとめ

簡単に開発環境が作れて、だめにしてもやり直せばよいだけなので、何と素晴らしい時代になったのだろうと本当に思います。

ただtokenを消費してしまうので、おすすめの使い方としては、

  1. Chat GPTの有料プランのGPT-4でプロンプトを試しまくる
  2. 機密情報を扱う時や大量に生成したいときにGoogle Colaboratoryを使う

というプロンプトを事前に試してから実行するとToken消費を抑えることができます。
英語でやるとToken消費が少ないなどありますが、まぁ一旦ここでは割愛しておきます。

それでは!

 

参考