共用方式為


快速入門:在 AI 聊天中使用影像

從在 Microsoft Foundry 模型中與 Azure OpenAI 的聊天中開始使用圖片。

這很重要

使用具有視覺功能的聊天完成模型時,可能會收取額外的使用費用。

利用本文開始使用 Microsoft Foundry 部署並測試具備影像理解的聊天完成模型。

先決條件

準備媒體

您需要影像才能完成本快速入門。 您可以使用此範例影像,或任何其他可用的影像。

可用來完成快速入門的交通事故相片。

前往鑄造廠

  1. 瀏覽 Foundry 並以與你的 Azure OpenAI 資源相關憑證登入。 在登入工作流程期間 (或之後),選取適當的目錄、Azure 訂用帳戶和 Azure OpenAI 資源。
  2. 選取您想要使用的專案。
  3. 在左側導覽功能表上,選取 [模型 + 端點],然後選取 [+ 部署模型]
  4. 選取模型名稱來選擇支援影像的部署:[gpt-4o] 或 [gpt-4o-mini]。 在出現的視窗中,選取名稱和部署類型。 請確定您的 Azure OpenAI 資源已連線。 如需模型部署的詳細資訊,請參閱 資源部署指南
  5. 請選擇 部署
  6. 接下來,選取新的模型,然後選取 [在遊樂場中開啟]。 在聊天遊樂場中,[部署] 下拉式清單中應該已選取您建立的部署。

操場

在此聊天工作階段中,您會指示助理協助了解輸入的影像。

如需助理設定、聊天工作階段、設定和面板的一般協助,請參閱聊天快速入門

開始聊天工作階段以分析影像

在此聊天工作階段中,您會指示助理協助了解輸入的影像。

  1. 若要開始,請確定已在 [部署] 下拉式清單中選取支援影像的部署。

  2. 在 [設定] 面板的內容文字方塊中,提供此提示來引導助理:"You're an AI assistant that helps people find information."或者,您可以針對影像或案例量身打造提示。

    備註

    建議您將系統訊息更為工作專屬內容,藉此避免模型的不實用回應。

  3. 選取 [套用變更] 以儲存變更。

  4. 在聊天工作階段窗格中,選取附件按鈕,然後選取 [上傳影像]。 選擇您的影像。

  5. 在聊天欄位中新增下列提示:Describe this image,然後選取傳送圖示以提交它。

  6. 傳送圖示會取代為停止按鈕。 如果您選取該按鈕,助理便會停止處理您的要求。 在這個快速入門中,請讓助理完成回覆。

  7. 助理會回覆提供影像的描述。

  8. 詢問與影像分析相關的後續問題。 您可以輸入:"What should I highlight about this image to my insurance company?"

  9. 您應該會收到類似如下所示的相關回應:

    When reporting the incident to your insurance company, you should highlight the following key points from the image:  
    
    1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight.  
    
    2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident.  
    
    3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective.  
    
    4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes.  
    
    5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context.  
    
    6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well.  
    
    Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
    

檢視和匯出程式碼

在聊天工作階段的任意時間點,您都可以啟用聊天視窗頂端的 [顯示原始 JSON] 切換開關,以查看格式化為 JSON 的交談。 以下是快速入門聊天工作階段開始時的樣子:

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。

使用本文文章開始運用 Azure OpenAI REST API 來部署和使用具備視覺功能的聊天模型。

先決條件

備註

含有視覺功能的 GPT-4 Turbo 目前不支援關閉內容篩選。

擷取金鑰和端點

若要成功呼叫 Azure OpenAI API,您需要有關 Azure OpenAI 資源的下列資訊:

變數 名稱 價值觀
端點 api_base 端點值位於 Azure 入口網站中資源的 [金鑰和端點]。 你也可以透過 Foundry 入口網站的 部署 頁面找到該端點。 範例端點為:https://docs-test-001.openai.azure.com/
鑰匙 api_key 金鑰值同樣也位於 Azure 入口網站中資源的 [金鑰和端點]。 Azure 會為您的資源產生兩個金鑰。 您可以使用任何一者。

移至您在 Azure 入口網站中的資源。 在瀏覽窗格中,選取 [資源管理] 下的 [金鑰和端點]。 複製端點值和存取金鑰值。 您可以使用 KEY 1KEY 2 值。 持有兩個金鑰可讓您安全地輪替和重新產生金鑰,而不會造成服務中斷。

螢幕擷取畫面顯示 Azure 入口網站中 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. 在適當的欄位中輸入您的模型部署名稱。
    3. 將欄位的 "image" 值變更為影像的可公開存取 URL。

      小提示

      您也可以使用 Base 64 編碼影像資料,而不是 URL。 如需詳細資訊,請參閱 Vision 聊天操作指南

  3. 使用 python 命令執行應用程式:

    python quickstart.py
    

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。

使用這篇文章,開始使用 Azure OpenAI Python SDK 來部署和使用支援視覺功能的聊天模型。

程式庫原始程式碼 | 套件 (NuGet) |

先決條件

設定

使用下列項目安裝 OpenAI Python 用戶端程式庫:

pip install openai

備註

程式庫是由 OpenAI 進行維護。 參照版本歷程記錄來追蹤程式庫的最新更新。

擷取金鑰和端點

若要成功對 Azure OpenAI 進行呼叫,您需要端點金鑰

變數名稱 價值觀
ENDPOINT 檢查來自 Azure 入口網站 的資源時,可以在 [金鑰與端點] 區段中找到服務端點。 或者,你也可以透過 Microsoft Foundry 入口網站的 部署 頁面找到該端點。 範例端點為:https://docs-test-001.openai.azure.com/
API-KEY 從 Azure 入口網站查看您的資源時,可以在 [金鑰與端點] 區段中找到此值。 您可以使用 KEY1KEY2

移至您在 Azure 入口網站中的資源。 您可以在 [資源管理] 區段中找到 [金鑰和端點] 區段。 複製您的端點和存取金鑰,因為您需要這兩者才能驗證 API 呼叫。 您可以使用 KEY1KEY2。 隨時持有兩個金鑰可讓您安全地輪替和重新產生金鑰,而不會造成服務中斷。

這是一個 Azure 入口網站中 Azure OpenAI 資源的總覽使用者介面截圖,其中端點和存取金鑰的位置以紅色圓圈標示。

環境變數

為您的金鑰和端點建立及指派永續性環境變數。

這很重要

我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。

請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請安全地將它們儲存在 Azure 金鑰保存庫、定期輪替金鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 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. 在適當的欄位中輸入模型部署的名稱。
    2. 將欄位的 "url" 值變更為影像的可公開存取 URL。

      小提示

      您也可以使用 Base 64 編碼影像資料,而不是 URL。 如需詳細資訊,請參閱 Vision 聊天操作指南

  3. 使用 python 命令執行應用程式:

    python quickstart.py
    

這很重要

請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果您使用 API 金鑰,請安全地將其儲存在 Azure 金鑰保存庫。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱 使用 Azure Key Vault 的 API 金鑰

如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。

使用本文以開始使用 OpenAI JavaScript SDK,進行部署和運用具視覺功能的聊天模型。

此 SDK 是由 OpenAI 提供的 Azure 特定類型所提供。

參考文件 | 程式庫來源程式碼 | 套件 (npm) | 範例

先決條件

備註

程式庫是由 OpenAI 進行維護。 參照版本歷程記錄來追蹤程式庫的最新更新。

Microsoft Entra ID 必要條件

針對具有 Microsoft Entra ID 的建議無金鑰驗證,您需要:

  • 安裝用於無密鑰驗證的 Azure CLI 以進行 Microsoft Entra ID 的認證。
  • Cognitive Services User 角色指派給您的使用者帳戶。 您可以在 Azure 入口網站中,在 [存取控制 (IAM)]> [新增角色指派] 下指派角色。

設定

  1. 建立新的資料夾 vision-quickstart ,並使用下列命令移至快速入門資料夾:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. 使用下列命令建立 package.json

    npm init -y
    
  3. 使用以下指令安裝適用於 JavaScript 的 OpenAI 客戶端庫:

    npm install openai
    
  4. 若要設定建議的無密碼驗證:

    npm install @azure/identity
    

擷取資源資訊

您需要擷取下列資訊,以向 Azure OpenAI 資源驗證您的應用程式:

變數名稱 價值觀
AZURE_OPENAI_ENDPOINT 在 Azure 入口網站查看資源時,您可以在 [金鑰和端點] 區段中找到此值。
AZURE_OPENAI_DEPLOYMENT_NAME 此值會對應至您在部署模型時為部署選擇的自訂名稱。 您可以在 Azure 入口網站 中的資源管理找到此值。

深入瞭解 無金鑰驗證設定環境變數

謹慎

若要搭配 SDK 使用建議的無密鑰驗證,請確定 AZURE_OPENAI_API_KEY 未設定環境變數。

為影像提示建立新的 JavaScript 應用程式

azure-samples/cognitive-services-sample-data-files 中選取圖片。 在下面的程式碼中輸入您可公開存取的影像 URL,或將環境變數設定 IMAGE_URL 為該 URL。

這很重要

如果您使用 SAS URL 來存取儲存在 Azure Blob 儲存體中的映像,您必須啟用受控識別,並將 儲存體 Blob 讀取者 角色指派給 Azure OpenAI 資源 (在 Azure 入口網站) 中執行此動作。 這可讓模型存取 Blob 儲存體中的映像。

小提示

您也可以使用 Base 64 編碼影像資料,而不是 URL。 如需詳細資訊,請參閱 Vision 聊天操作指南

  1. 使用下列程式代碼,建立 index.js 檔案。

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env.IMAGE_URL || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get Vision chats Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. 使用下列命令登入 Azure:

    az login
    
  3. 執行 JavaScript 檔案。

    node index.js
    

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。

使用本文以開始使用 OpenAI JavaScript SDK,進行部署和運用具視覺功能的聊天模型。

此 SDK 是由 OpenAI 提供的 Azure 特定類型所提供。

參考文件 | 程式庫來源程式碼 | 套件 (npm) | 範例

先決條件

備註

程式庫是由 OpenAI 進行維護。 參照版本歷程記錄來追蹤程式庫的最新更新。

Microsoft Entra ID 必要條件

針對具有 Microsoft Entra ID 的建議無金鑰驗證,您需要:

  • 安裝用於無密鑰驗證的 Azure CLI 以進行 Microsoft Entra ID 的認證。
  • Cognitive Services User 角色指派給您的使用者帳戶。 您可以在 Azure 入口網站中,在 [存取控制 (IAM)]> [新增角色指派] 下指派角色。

設定

  1. 建立新的資料夾 vision-quickstart ,並使用下列命令移至快速入門資料夾:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. 使用下列命令建立 package.json

    npm init -y
    
  3. 請使用下列命令將 package.json 更新為 ECMAScript。

    npm pkg set type=module
    
  4. 使用以下指令安裝適用於 JavaScript 的 OpenAI 客戶端庫:

    npm install openai
    
  5. 若要設定建議的無密碼驗證:

    npm install @azure/identity
    

擷取資源資訊

您需要擷取下列資訊,以向 Azure OpenAI 資源驗證您的應用程式:

變數名稱 價值觀
AZURE_OPENAI_ENDPOINT 在 Azure 入口網站查看資源時,您可以在 [金鑰和端點] 區段中找到此值。
AZURE_OPENAI_DEPLOYMENT_NAME 此值會對應至您在部署模型時為部署選擇的自訂名稱。 您可以在 Azure 入口網站 中的資源管理找到此值。

深入瞭解 無金鑰驗證設定環境變數

謹慎

若要搭配 SDK 使用建議的無密鑰驗證,請確定 AZURE_OPENAI_API_KEY 未設定環境變數。

為影像提示建立新的 JavaScript 應用程式

azure-samples/cognitive-services-sample-data-files 中選取圖片。 使用下列程式代碼中的影像 URL,或將 IMAGE_URL 環境變數設定為影像 URL。

小提示

您也可以使用 Base 64 編碼影像資料,而不是 URL。 如需詳細資訊,請參閱 Vision 聊天操作指南

  1. 使用下列程式代碼,建立 index.ts 檔案。

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get Vision chat Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. 建立檔案 tsconfig.json 以轉譯 TypeScript 程式代碼,並複製 ECMAScript 的下列程式代碼。

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. 從 TypeScript 轉譯為 JavaScript。

    tsc
    
  4. 使用下列命令登入 Azure:

    az login
    
  5. 使用下列命令執行程式碼:

    node index.js
    

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。

首先參考這篇文章,了解如何使用 Azure OpenAI .NET SDK 來部署並使用具備視覺功能的聊天模型。

先決條件

Microsoft Entra ID 必要條件

針對具有 Microsoft Entra ID 的建議無金鑰驗證,您需要:

  • 安裝用於無密鑰驗證的 Azure CLI 以進行 Microsoft Entra ID 的認證。
  • Cognitive Services User 角色指派給您的使用者帳戶。 您可以在 Azure 入口網站中,在 [存取控制 (IAM)]> [新增角色指派] 下指派角色。

設定

  1. 建立新的資料夾 vision-quickstart ,並使用下列命令移至快速入門資料夾:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. 使用下列命令建立新的主控台應用程式:

    dotnet new console
    
  3. 使用 dotnet add package 命令安裝 OpenAI .NET 用戶端連結庫:

    dotnet add package Azure.AI.OpenAI
    
  4. 如需使用 Microsoft Entra ID 推薦的無密鑰驗證,請安裝 Azure.Identity 套件:

    dotnet add package Azure.Identity
    
  5. 如需使用 Microsoft Entra ID 的建議 無密鑰驗證,請使用下列命令登入 Azure:

    az login
    

擷取資源資訊

您需要擷取下列資訊,以向 Azure OpenAI 資源驗證您的應用程式:

變數名稱 價值觀
AZURE_OPENAI_ENDPOINT 在 Azure 入口網站查看資源時,您可以在 [金鑰和端點] 區段中找到此值。
AZURE_OPENAI_DEPLOYMENT_NAME 此值會對應至您在部署模型時為部署選擇的自訂名稱。 您可以在 Azure 入口網站 中的資源管理找到此值。

深入瞭解 無金鑰驗證設定環境變數

執行快速入門

本快速入門中的範例程式代碼會針對建議的無密鑰驗證使用 Microsoft Entra 識別碼。 如果您想要使用 API 金鑰,可以將 DefaultAzureCredential 物件取代為 AzureKeyCredential 物件。

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

若要執行快速啟動,請遵循下列步驟:

  1. Program.cs 的內容替換為以下代碼,並將佔位元值更新為您自己的值。

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    string deploymentName = "gpt-4";
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/";
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>";
    
    // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 
    //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
    
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUrl = "YOUR_IMAGE_URL";
    
    var textPart = ChatMessageContentPart.CreateTextPart("Describe this picture:");
    var imgPart = ChatMessageContentPart.CreateImagePart(imageUrl); 
    
    var chatMessages = new List<ChatMessage>
    {
        new SystemChatMessage("You are a helpful assistant."),
        new UserChatMessage(textPart, imgPart)
    
    };
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    
  2. YOUR_IMAGE_URL 取代為您想要上傳且可公開存取的影像。

  3. 使用 dotnet run Visual Studio 頂端的 命令或執行按鈕執行應用程式:

    dotnet run
    

輸出

應用程式的輸出將會是您在變數中 imageUri 提供的影像描述。 助理會分析影像,並根據影像內容提供詳細的描述。

清理資源

如果您想要清除和移除 Azure OpenAI 資源,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。