クイックスタート: AI チャットで画像を使用する

Azure OpenAI Service で画像を含む GPT-4 Turbo の使用を開始します。

GPT-4 Turbo モデルのアップグレード

GPT-4 Turbo の最新 GA リリースは次のとおりです。

  • gpt-4 バージョン turbo-2024-04-09

これは、次のプレビュー モデルに代わるものです。

  • gpt-4 バージョン 1106-Preview
  • gpt-4 バージョン 0125-Preview
  • gpt-4 バージョン vision-preview

OpenAI と Azure OpenAI GPT-4 Turbo GA モデルの違い

  • OpenAI の最新の 0409 ターボ モデル バージョンでは、すべての推論要求に対して JSON モードと関数呼び出しがサポートされています。
  • Azure OpenAI の最新の turbo-2024-04-09 バージョンでは、現在、画像 (ビジョン) 入力による推論要求を行う場合、JSON モードと関数呼び出しの使用はサポートされていません。 テキスト ベース入力の要求 (image_url とインライン イメージがない要求) では、JSON モードと関数呼び出しがサポートされています。

gpt-4 vision-preview との違い

  • Azure AI 固有の Vision 拡張機能と GPT-4 Turbo with Vision の統合は、gpt-4 バージョン: turbo-2024-04-09 ではサポートされません。 これには、光学式文字認識 (OCR)、オブジェクト グラウンディング、ビデオ プロンプト、画像を含むデータの処理の改善が含まれます。

GPT-4 Turbo のプロビジョニングされたマネージド可用性

  • gpt-4 バージョン turbo-2024-04-09 は、標準デプロイとプロビジョニングされたデプロイの両方で使用できます。 現在、このモデルのプロビジョニングされたバージョンでは、イメージ/ビジョン推論要求はサポートされていません。 このモデルのプロビジョニングされたデプロイでは、テキスト入力のみ受け入れます。 標準のモデル デプロイでは、テキストと画像/ビジョンの両方の推論要求を受け入れます。

利用可能なリージョン

リージョン別のモデルの提供状況については、標準プロビジョニングされたデプロイのモデル マトリックスを参照してください。

GPT-4 Turbo with Vision GA のデプロイ

Studio UI から GA モデルをデプロイするには、GPT-4 を選択し、ドロップダウン メニューから turbo-2024-04-09 バージョンを選択します。 gpt-4-turbo-2024-04-09 モデルの既定のクォータは、GPT-4-Turbo の現在のクォータと同じになります。 リージョンのクォータ制限を参照してください。

Azure OpenAI Studio を使用すると、コードを書かなくても GPT-4 Turbo with Vision 機能の確認を開始できます。

前提条件

Note

現在、GPT-4 Turbo with Vision モデルのコンテンツ フィルター処理をオフにすることはサポートされていません。

Azure OpenAI Studio に移動する

Azure OpenAI Studio にアクセスし、Azure OpenAI リソースに関連付けられた資格情報を使用してサインインします。 サインイン ワークフローの途中または後で、適切なディレクトリ、Azure サブスクリプション、Azure OpenAI リソースを選択します。

[管理][デプロイ] を選択し、GPT-4 Turbo with Vision デプロイを作成します。その際、モデル名に "gpt-4" を、モデル バージョンに "vision-preview" を選択します。 モデル デプロイの詳細については、リソース デプロイ ガイドを参照してください。

[プレイグラウンド] セクションで [チャット] を選択します。

プレイグラウンド

このページから、簡単に反復し、モデルの機能を実験することができます。

アシスタント セットアップ、チャット セッション、設定、パネルの全般的ヘルプについては、「チャットのクイックスタート」を参照してください。

チャット セッションを開始して画像やビデオを分析する

このチャット セッションでは、入力した画像を解釈できるようにアシスタントに指示します。

  1. まず、GPT-4 Turbo with Vision デプロイをドロップダウンから選択します。

  2. [アシスタントのセットアップ] ペインで、アシスタントをガイドするシステム メッセージを入力します。 既定のシステム メッセージは、"あなたは、情報の検索を支援する AI アシスタントです" です。アップロードする画像またはシナリオに合わせてシステム メッセージを調整できます。

    Note

    モデルから役に立たない応答が返されないように、タスクに特化したシステム メッセージに更新することをお勧めします。

  3. 変更を保存し、システム メッセージの更新を確定するか問われたら、[続行] を選択します。

  4. [チャット セッション] ウィンドウで、"この画像を説明して" などのテキスト プロンプトを入力し、添付ボタンで画像をアップロードします。 ユース ケースには別のテキスト プロンプトを使用できます。 次に、[送信] を選択します。

  5. 出力を確認します。 理解を深めるため、画像の分析に関連するフォローアップの質問をすることを検討してください。

OpenAI スタジオのチャット プレイグラウンドのスクリーンショット。

リソースをクリーンアップする

Azure OpenAI リソースをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

この記事を使用して、GPT-4 Turbo with Vision モデルをデプロイして使用するために Azure OpenAI REST API の使用を開始します。

前提条件

Note

現在、GPT-4 Turbo with Vision モデルのコンテンツ フィルター処理をオフにすることはサポートされていません。

キーとエンドポイントを取得する

Azure OpenAI API を正常に呼び出すには、Azure OpenAI リソースに関する次の情報が必要です。

変数 名前
エンドポイント api_base エンドポイント値は、Azure portal のリソースの [キーとエンドポイント] にあります。 または、Azure OpenAI Studio>[プレイグラウンド]>[コード ビュー] で値を確認することもできます。 エンドポイントの例: https://docs-test-001.openai.azure.com/
キー api_key キー値は、Azure portal のリソースの [キーとエンドポイント] にあります。 Azure では、リソースに対して 2 つのキーが生成されます。 いずれかの値を使用できます。

Azure portal でリソースに移動します。 ナビゲーション ウィンドウで、[リソース管理] [キーとエンドポイント] を選択します。 [エンドポイント] の値とアクセス キーの値をコピーします。 KEY 1 または KEY 2 のいずれかの値を使用できます。 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。

Azure portal で Azure OpenAI リソース用のキーとエンドポイント ページを示すスクリーンショット。

新しい Python アプリケーションを作成する

quickstart.py という名前の新しい Python ファイルを作成します。 好みのエディターまたは IDE で新しいファイルを開きます。

  1. quickstart.py の内容を次のコードで置き換えます。

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. 次の変更を行います。

    1. エンドポイント URL とキーを適切なフィールドに入力します。
    2. 適切なフィールドに GPT-4 Turbo with Vision デプロイ名を入力します。
    3. "image" フィールドの値を画像の URL に変更します。

      ヒント

      URL ではなく、Base 64 でエンコードされた画像データを使うこともできます。 詳細については、GPT-4 Turbo with Vision の攻略ガイドに関するページを参照してください。

  3. python コマンドを使用してアプリケーションを実行します。

    python quickstart.py
    

リソースをクリーンアップする

Azure OpenAI リソースをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

この記事を参照して、Azure OpenAI Python SDK の使用を開始し、GPT-4 Turbo with Vision モデルをデプロイして使います。

ライブラリのソース コード | パッケージ (PyPi) |

前提条件

設定

次を使用して、OpenAI Python クライアント ライブラリをインストールします。

pip install openai

Note

このライブラリは、OpenAI によって保持されます。 このライブラリの最新の更新を追跡するには、リリース履歴を参照してください。

キーとエンドポイントを取得する

Azure OpenAI に対して正常に呼び出しを行うには、エンドポイントキーが必要です。

変数名
ENDPOINT この値は、Azure portal からリソースを確認する際に、 [Keys & Endpoint](キーとエンドポイント) セクションで確認することができます。 Azure OpenAI Studio>[プレイグラウンド]>[コード ビュー] で値を確認することもできます。 エンドポイントの例: https://docs-test-001.openai.azure.com/
API-KEY この値は、Azure portal からリソースを確認する際に、 [Keys & Endpoint](キーとエンドポイント) セクションで確認することができます。 KEY1 または KEY2 を使用できます。

Azure portal でリソースに移動します。 [キーとエンドポイント] セクションは、[リソース管理] セクションにあります。 エンドポイントとアクセス キーをコピーします。これらは、API 呼び出しを認証するために両方とも必要です。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。

Azure portal の Azure OpenAI リソースの概要 UI のスクリーンショット。エンドポイントおよびアクセス キーの場所が赤色の丸で囲まれています。

環境変数

キーとエンドポイントの永続的な環境変数を作成して割り当てます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

新しい Python アプリケーションを作成する

quickstart.py という名前の新しい Python ファイルを作成します。 好みのエディターまたは IDE で新しいファイルを開きます。

  1. quickstart.py の内容を次のコードで置き換えます。

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. 次の変更を行います。

    1. 適切なフィールドに GPT-4 Turbo with Vision デプロイの名前を入力します。
    2. "url" フィールドの値を画像の URL に変更します。

      ヒント

      URL ではなく、Base 64 でエンコードされた画像データを使うこともできます。 詳細については、GPT-4 Turbo with Vision の攻略ガイドに関するページを参照してください。

  3. python コマンドを使用してアプリケーションを実行します。

    python quickstart.py
    

リソースをクリーンアップする

Azure OpenAI リソースをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ