Crown Buildings
© Copyright Norman Caesar and licensed for reuse under this Creative Commons Licence.

 

前回、OpenAI社が初の開発者会議「OpenAI DevDay」で発表されたカスタムChatGPT作成&実行機能である「GPTs」を使って、「AI Lingua=Bridges」を作ってみたのですが、GPT Plusをサブスクライブしている方で、お試しいただいた方はおられるでしょうか?

おられましたら、ぜひ感想をお知らせください。

#それにしても、OpenAI CEOのサムアルトマン氏の突然の解任事件には、「OpenAI DevDay」の発表内容以上に驚かされました。GPT-5とか、GPTStoreの話はどうなるのか?しばらく目が離せません。

 

ところで、本来は、まず今回の発表の一番の目玉であるGPT-4 Turboについて、どのようなものか試して、ブログで使ってみた結果をお知らせしたかったのですが、OpenAIのPlaygroundでは、下図の通り、GPT-4 Turboモデルが出てきません。

Microsoft AzureのAI Studioで、GPT-4 Turboが使えるか試してみたのですが、下図の通り、やはり選択できるモデルにGPT-4 Turboがありませんでした。

#これは、後で、GPT-4 Turboモデルが使えるリージョンにEast Japanが含まれていなかったためと判明しました。当初AzureのOpenAI Serviceを使い始めたときは、East USリージョンだったのですが、その当時はGPT-3.5しか使えなかったので、OpenAI社からGPT-4の利用申請が承諾されてGPT-4をAzureで利用するにあたって、実行環境をEast USからJapan East にしたため、モデルの選択時にGPT-4 Turboが出てこなかったようです。

#もう1点、訂正です。Microsoft no「Azure OpenAI Service モデル」を後で読み返して分かったのですが、

GPT-4 Turbo プレビュー = gpt-4 (1106-preview)。 このモデルをデプロイするには、[デプロイ] でモデル gpt-4 を選択します。 [モデル バージョン] には、1106-preview を選択します。 このモデルを運用環境で使用することはお勧めしません。 このモデルのすべてのデプロイを将来の安定バージョンにアップグレードすることを計画しています。 プレビューに指定されたモデルは、標準の Azure OpenAI モデルのライフサイクルに従っていません。

とのことでした。

 

OpenAIのGPT-4 Turboに関する公開資料「GPT-4 Turbo」によると:

GPT-4ターボとは?

GPT-4ターボは私たちの最新世代モデルです。より高性能になり、2023年4月のナレッジ・カットオフに更新され、128kのコンテキスト・ウィンドウ(1つのプロンプトで300ページのテキストに相当)が導入されました。また、オリジナルのGPT-4モデルと比較して、入力トークンが3倍、出力トークンが2倍安くなっています。このモデルの最大出力トークン数は4096です。

どうすればアクセスできるか?

OpenAI APIアカウントと既存のGPT-4アクセス権を持っていれば、誰でもこのモデルを使うことができます。APIでモデル名として gpt-4-1106-preview を渡すことで、このモデルにアクセスできます。

 

ということなので、OpenAIのAPI呼び出しで、モデル名をgpt-4-1106-previewとすれば、GPT-4 Turboは使えそうです。

そこで、次に、Google Colab(以降、Colab)で試してみることにしました。

 

最新のChatGPTは、Advanced Data Analysis(Code Interpreter)が使えますから、まず、ChatGPT4にGPT-4Turboを使うサンプルコーディングを作ってもらいました。

 

私#1

GPT-4 Turbo (gpt-4-1106-preview)モデルを呼び出すOpenAI APIを使うPythonのコードを作成してください。

ChatGPT#1

OpenAIのAPIを使ってGPT-4 Turboモデルを呼び出すPythonコードを作成します。ただし、実際のAPIキーをこのプラットフォームで使用することはできませんので、以下のコード例では仮のAPIキーを使用しています。あなたの実際のAPIキーをコードに組み込んで実行してください。

import openai

# あなたのOpenAI APIキーを設定

api_key = “your-api-key”

# OpenAI APIを初期化

openai.api_key = api_key

def query_gpt4_turbo(prompt):

    “””

    GPT-4 Turboモデルを使用して質問に答えます。

    :param prompt: モデルに送信するプロンプト(質問やステートメント)

    :return: モデルのレスポンス

    “””

    response = openai.ChatCompletion.create(

        model=”gpt-4-1106-preview”,  # GPT-4 Turboモデルを指定

        messages=[{“role”: “system”, “content”: “You are a helpful assistant.”}, {“role”: “user”, “content”: prompt}]

    )

    return response.choices[0].message[“content”]

# 使用例

prompt = “今日の東京の天気は?”

response = query_gpt4_turbo(prompt)

print(response)

このコードでは、openai.ChatCompletion.create メソッドを使用してGPT-4 Turboモデルにアクセスしています。messages パラメータには、システムメッセージとユーザーメッセージ(あなたの質問)を含めています。

 

このようにChatGPTが作成してくれたコードをGoogle Colabの新しいノートブックにコピーして、実行してみました。

が、1stトライでは、importしようとしているopenaiライブラリが見つからないということでエラーとなったので、ChatGPTが作成してくれたコードの先頭にopenaiライブラリをインストールする文を追加しました。

以下は、その修正をいれた、Google Colabのノートブックのコードと2回目の実行結果です。

Colab#2

#oepnaiライブラリのインストール

!pip install openai

Import os

import openai

# 環境変数からOpenAI APIキーを取得

api_key =”xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

# OpenAI APIを初期化

openai.api_key = api_key

def query_gpt4_turbo(prompt):

    “””

    GPT-4 Turboモデルを使用して質問に答えます。

    :param prompt: モデルに送信するプロンプト(質問やステートメント)

    :return: モデルのレスポンス

    “””

    response = openai.ChatCompletion.create(

        model=”gpt-4-1106-preview”,  # GPT-4 Turboモデルを指定

        messages=[{“role”: “system”, “content”: “You are a helpful assistant.”}, {“role”: “user”, “content”: prompt}]

    )

    return response.choices[0].message[“content”]

# 使用例

prompt = “今日の東京の天気は?”

response = query_gpt4_turbo(prompt)

print(response)

APIRemovedInV1                          Traceback (most recent call last)

<ipython-input-2-f29823dfd142> in <cell line: 28>()

—> 28 response = query_gpt4_turbo(prompt)

/usr/local/lib/python3.10/dist-packages/openai/lib/_old_api.py in __load__(self)

—> 33         raise APIRemovedInV1(symbol=self._symbol)

APIRemovedInV1:

You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 – see the README at https://github.com/openai/openai-python for the API.

どうやら、ChatGPTが作ってくれたGPT呼び出しの関数「openai.ChatCompletion」が古いタイプのもので、間違っていたようです。

https://github.com/openai/openai-pythonを見ろ」ということなので、確認したところ、以下の使用例が載っていました。

そこで、この例に従って、「response = openai.ChatCompletion.create」の部分を「response = openai.chat.completions.create」に変更して再実行した結果が以下です。

Colab#3:

NotFoundError                           Traceback (most recent call last)

<ipython-input-3-0f82767efcb6> in <cell line: 27>()

—> 27 response = query_gpt4_turbo(prompt)

/usr/local/lib/python3.10/dist-packages/openai/_base_client.py in _request(self, cast_to, options, remaining_retries, stream, stream_cls)

–> 877   raise self._make_status_error_from_response(err.response) from None

NotFoundError: Error code: 404 – {‘error’: {‘message’: ‘The model `gpt-4-1106-preview` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.’, ‘type’: ‘invalid_request_error’, ‘param’: None, ‘code’: ‘model_not_found’}}

 

今回は、GPTの呼び出しはできましたが、「The model `gpt-4-1106-preview` does not exist」ということで、残念ながら現状のColabの実行環境でもGPT-4 Turboモデルは使えないことが分かりました。

 

ということで、今回、GPT-4 Turboを実際に使うところまではできませんでしたが、ChatGPTの旧Code Interpreterの機能とGoogle Colabのノートブックを用いて、GPT-4 Turboを呼び出すPythonコードを作って実行してみるところまでを、これはこれで面白いのではないかと思い、ご覧いたきました。

 

本日は以上です。

終わり