Dela via


Snabbstart: Använda bilder i dina AI-chattar

Kom igång med GPT-4 Turbo med bilder med Azure OpenAI Service.

Kommentar

Modellval

De senaste visionskompatibla modellerna är gpt-4o och gpt-4o mini. Dessa modeller är i offentlig förhandsversion. Den senaste tillgängliga GA-modellen är gpt-4 version turbo-2024-04-09.

Viktigt!

Extra användningsavgifter kan tillkomma när du använder chattmodeller med visionsfunktioner.

Använd den här artikeln om du vill komma igång med Azure AI Foundry för att distribuera och testa en modell för chattens slutförande med bildtolkning.

Förutsättningar

Förbereda media

Du behöver en avbildning för att slutföra den här snabbstarten. Du kan använda den här exempelbilden eller någon annan bild som du har tillgänglig.

Foto av en bilolycka som kan användas för att slutföra snabbstarten.

Gå till Azure AI Foundry

  1. Bläddra till Azure AI Foundry och logga in med de autentiseringsuppgifter som är associerade med din Azure OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.
  2. Välj den hubb som du vill arbeta i.
  3. På den vänstra navigeringsmenyn väljer du Modeller + slutpunkter och väljer + Distribuera modell.
  4. Välj en avbildningskompatibel distribution genom att välja modellnamn: gpt-4o eller gpt-4o-mini. I fönstret som visas väljer du ett namn och en distributionstyp. Kontrollera att din Azure OpenAI-resurs är ansluten. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
  5. Välj distribuera.
  6. Välj sedan din nya modell och välj Öppna på lekplatsen. I chattlekplatsen bör distributionen du skapade väljas i listrutan Distribution .

Lekplats

I den här chattsessionen instruerar du assistenten att hjälpa dig att förstå bilder som du matar in.

Allmän hjälp med assistentkonfiguration, chattsessioner, inställningar och paneler finns i snabbstarten Chatt.

Starta en chattsession för att analysera bilder

I den här chattsessionen instruerar du assistenten att hjälpa dig att förstå bilder som du matar in.

  1. Börja genom att se till att din avbildningskompatibla distribution har valts i listrutan Distribution .

  2. I textrutan kontext på installationspanelen anger du den här uppmaningen som vägleder assistenten: "You're an AI assistant that helps people find information." Eller så kan du anpassa uppmaningen till din bild eller ditt scenario.

    Kommentar

    Vi rekommenderar att du uppdaterar systemmeddelandet så att det är specifikt för uppgiften för att undvika ohjälpsamma svar från modellen.

  3. Välj Tillämpa ändringar för att spara ändringarna.

  4. I chattsessionsfönstret väljer du knappen bifogad fil och sedan Ladda upp bild. Välj din bild.

  5. Lägg till följande uppmaning i chattfältet: Describe this imageoch välj sedan ikonen skicka för att skicka den.

  6. Ikonen skicka ersätts med en stoppknapp. Om du väljer det slutar assistenten att bearbeta din begäran. För den här snabbstarten låter du assistenten slutföra svaret.

  7. Assistenten svarar med en beskrivning av bilden.

  8. Ställ en uppföljningsfråga som rör analysen av din bild. Du kan ange, "What should I highlight about this image to my insurance company?".

  9. Du bör få ett relevant svar som liknar det som visas här:

    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.
    

Visa och exportera kod

När som helst i chattsessionen kan du aktivera växeln Visa rå JSON överst i chattfönstret för att se konversationen formaterad som JSON. Så här ser det ut i början av snabbstartschattsessionen:

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

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Använd den här artikeln för att komma igång med Azure OpenAI REST API:er för att distribuera och använda GPT-4 Turbo med Vision-modellen.

Förutsättningar

Kommentar

Det stöds för närvarande inte att inaktivera innehållsfiltrering för GPT-4 Turbo med Vision-modellen.

Hämta nyckel och slutpunkt

Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:

Olika Name Värde
Slutpunkt api_base Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/.
Tangent api_key Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena.

Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Med två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.

Skärmbild som visar sidan Nycklar och slutpunkt för en Azure OpenAI-resurs i Azure Portal.

Skapa ett nytt Python-program

Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.

  1. Ersätt innehållet i quickstart.py med följande kod.

    # 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. Gör följande ändringar:

    1. Ange din slutpunkts-URL och nyckel i lämpliga fält.
    2. Ange ditt GPT-4 Turbo med visionens distributionsnamn i lämpligt fält.
    3. Ändra värdet för fältet "image" till URL:en för din bild.

      Dricks

      Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.

  3. Kör programmet med python kommandot :

    python quickstart.py
    

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Använd den här artikeln för att komma igång med Azure OpenAI Python SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.

Paket för bibliotekskällkod | (PyPi) |

Förutsättningar

Konfigurera

Installera OpenAI Python-klientbiblioteket med:

pip install openai

Kommentar

Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.

Hämta nyckel och slutpunkt

Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.

Variabelnamn Värde
ENDPOINT Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/.
API-KEY Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2.

Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1 eller KEY2. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.

Skärmbild av översiktsgränssnittet för en Azure OpenAI-resurs i Azure Portal med slutpunkten och åtkomstnycklarnas plats inringad i rött.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Viktigt!

Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.

Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Skapa ett nytt Python-program

Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.

  1. Ersätt innehållet i quickstart.py med följande kod.

    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. Gör följande ändringar:

    1. Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
    2. Ändra värdet för fältet "url" till URL:en för din bild.

      Dricks

      Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.

  3. Kör programmet med python kommandot :

    python quickstart.py
    

Viktigt!

Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder en API-nyckel lagrar du den på ett säkert sätt i Azure Key Vault. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Använd den här artikeln för att komma igång med OpenAI JavaScript SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.

Denna SDK tillhandahålls av OpenAI med Azure-specifika typer som tillhandahålls av Azure.

Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |

Förutsättningar

Kommentar

Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Skapa ett Node-program

Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init sedan kommandot för att skapa ett nodprogram med en package.json fil.

npm init

Installera klientbiblioteket

Installera klientbiblioteken med:

npm install openai @azure/identity

Appens package.json-fil uppdateras med beroendena.

Skapa ett nytt JavaScript-program för avbildningsprompter

Välj en bild från azure-samples/cognitive-services-sample-data-files och ange URL:en för en bild i miljövariablerna.

  1. Ersätt innehållet i quickstart.js med följande kod.

    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"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "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 GPT-4 Turbo with vision 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. Gör följande ändringar:

    1. Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
    2. Ändra värdet för fältet "url" till URL:en för din bild.

      Dricks

      Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.

  3. Kör programmet med följande kommando:

    node quickstart.js
    

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Använd den här artikeln för att komma igång med OpenAI JavaScript SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.

Denna SDK tillhandahålls av OpenAI med Azure-specifika typer som tillhandahålls av Azure.

Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |

Förutsättningar

Kommentar

Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Skapa ett Node-program

Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init sedan kommandot för att skapa ett nodprogram med en package.json fil.

npm init

Installera klientbiblioteket

Installera klientbiblioteken med:

npm install openai @azure/identity

Appens package.json-fil uppdateras med beroendena.

Skapa ett nytt JavaScript-program för avbildningsprompter

Välj en bild från azure-samples/cognitive-services-sample-data-files och ange URL:en för en bild i miljövariablerna.

  1. Skapa en quickstart.ts och klistra in följande kod.

    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"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "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 GPT-4 Turbo with vision 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. Gör följande ändringar:

    1. Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
    2. Ändra värdet för fältet "url" till URL:en för din bild.

      Dricks

      Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.

  3. Skapa programmet med följande kommando:

    tsc
    
  4. Kör programmet med följande kommando:

    node quickstart.js
    

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Använd den här artikeln för att komma igång med Azure OpenAI .NET SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.

Förutsättningar

Konfigurera

Hämta nyckel och slutpunkt

Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2.

Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln när du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1 eller KEY2. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.

Skärmbild av översiktsgränssnittet för en Azure OpenAI-resurs i Azure Portal med platsen slutpunkt och åtkomstnycklar markerad.

Skapa .NET-appen

  1. Skapa en .NET-app med kommandot dotnet new :

    dotnet new console -n OpenAISpeech
    
  2. Ändra till katalogen för den nya appen:

    cd OpenAISpeech
    

Installera klientbiblioteket

Azure.OpenAI Installera klientbiblioteket:

dotnet add package Azure.AI.OpenAI

Lösenordsfri autentisering är säkrare än nyckelbaserade alternativ och är den rekommenderade metoden för att ansluta till Azure-tjänster. Om du väljer att använda lösenordslös autentisering måste du slutföra följande:

  1. Lägg till paketet Azure.Identity.

    dotnet add package Azure.Identity
    
  2. Cognitive Services User Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal på din OpenAI-resurs under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

  3. Logga in på Azure med Visual Studio eller Azure CLI via az login.

Uppdatera appkoden

  1. Ersätt innehållet i program.cs med följande kod och uppdatera platshållarvärdena med dina egna.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT");
    var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY");
    // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth
    var deploymentName = "gpt-4"; // Default name, update with your own if needed
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    List<ChatMessage> messages = [
        new UserChatMessage(
            ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"),
            ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png"))
    ];
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    

Viktigt!

Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.

Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

  1. Kör programmet med hjälp av dotnet run kommandot eller körningsknappen överst i Visual Studio:

    dotnet run
    

Appen genererar en ljudfil på den plats som du angav för variabeln speechFilePath . Spela upp filen på enheten för att höra det genererade ljudet.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg