BioErrorLog Tech Blog

試行錯誤の記録

OpenAI APIエラー: The model `gpt-4-vision-preview` does not exist or you do not have access to it.

OpenAI APIでGPT-4Vを使うにあたって、下記のエラーが出た時の対処法の備忘録です。

openai.NotFoundError: Error code: 404 - 
{'error': {'message': 'The model `gpt-4-vision-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'}}

はじめに

PythonでOpenAI APIのGPT-4Vを叩こうとしたら、openai.NotFoundErrorエラーが出ました。

対処法をメモします。

# 利用ライブラリバージョン
openai==1.3.7

OpenAI APIエラー対処: The model gpt-4-vision-preview does not exist or you do not have access to it.

状況

下記のコードで、ごく簡単にGPT-4VをPythonから呼び出してみました。

import os
from openai import OpenAI
import base64
import mimetypes


def image_to_base64(image_path: str) -> str:
    mime_type, _ = mimetypes.guess_type(image_path)

    if not mime_type or not mime_type.startswith('image'):
        raise ValueError("The file type is not recognized as an image")

    with open(image_path, 'rb') as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode('utf-8')

    return f"data:{mime_type};base64,{encoded_string}"


def main() -> None:
    client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

    base64_string = image_to_base64("data/test.jpg")

    response = client.chat.completions.create(
        model="gpt-4-vision-preview",
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "Describe the attached image"},
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": base64_string,
                            "detail": "low"
                        }
                    },
                ],
            }
        ],
        max_tokens=300,
    )

    print(response.choices[0].message.content)


if __name__ == "__main__":
    main()


結果は、下記のエラーです。

openai.NotFoundError: Error code: 404 - 
{
  'error': {
    'message': 'The model `gpt-4-vision-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'
  }
}
# (上記はインデントを整形して表示したもの)

現時点(2023/12)でモデルgpt-4-vision-previewは利用可能なはずので、これはおかしいぞ、という訳です。

原因

GPT-4系列のAPIを利用するには、$1以上の課金支払い実績がある必要があります。

エラーに表示されるリンクにも記載されています。

If you're a Pay-As-You-Go customer and you've made a successful payment of $1 or more, you'll be able to access the GPT-4 API

フォーラムなどでも同様の現象が議題に上がっており、同じく支払い履歴の有無が焦点になっています。

対処法

$1以上の課金支払いを行います。

これには2つ方法があるでしょう。

  1. Pay-As-You-Goプランで$1以上の課金支払いが発生するまで待つ
  2. Credit購入する

私はすぐにAPIを使いたかったので、後者を選びました。

Creditとは前払い式のAPI利用枠で、執筆時点(2023/12)では最低$5から購入できます。

OpenAIのプラットフォームページから、

  1. "Settings"タブ
  2. "Billing"タブ
  3. "Buy credits"ボタン

から購入できます。

Creditを購入する

私の場合、Credit購入から30分ほど経過した後、無事エラーは解消しました。

おわりに

以上、OpenAI APIでGPT-4Vを使う際のエラー対処でした。

参考になれば幸いです。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work

www.bioerrorlog.work

参考

How can I access GPT-4? | OpenAI Help Center

How to get access to gpt-4-vision-preview? - API - OpenAI Developer Forum

OpenAI API error: The model `gpt-4-vision-preview` does not exist or you do not have access to it. · Issue #26 · OthersideAI/self-operating-computer · GitHub