Freigeben über


Schnellstart: Verwenden von Bildern in Ihren KI-Chats

Hier erfahren Sie alles über die ersten Schritte mit GPT-4 Turbo mit Bildern mit Azure OpenAI Service.

Hinweis

Modellauswahl

Die neuesten visionfähigen Modelle sind gpt-4o und gpt-4o mini. Diese Modelle befinden sich in der öffentliche Vorschauversion. Das neueste verfügbare GA-Modell ist gpt-4 Version turbo-2024-04-09.

Wichtig

Bei der Verwendung von Chatabschlussmodellen mit Vision-Funktionen können zusätzliche Nutzungsgebühren anfallen.

In diesem Artikel erfahren Sie, wie Sie Azure AI Foundry zum Bereitstellen und Testen eines Chatabschlussmodells mit Bildverständnis nutzen.

Voraussetzungen

Vorbereiten Ihrer Medien

Sie benötigen ein Bild, um diesen Schnellstart abzuschließen. Sie können dieses Beispielbild oder ein beliebiges anderes Bild verwenden, das Ihnen zur Verfügung steht.

Foto eines Autounfalls, das zum Abschließen des Schnellstarts verwendet werden kann

Aufrufen von Azure KI Foundry

  1. Navigieren Sie zu Azure KI Foundry, und melden Sie sich mit den Anmeldeinformationen für Ihre Azure OpenAI-Ressource an. Wählen Sie während oder nach dem Anmeldeworkflow das passende Verzeichnis, Azure-Abonnement und die Azure OpenAI-Ressource aus.
  2. Wählen Sie den Hub aus, in dem Sie arbeiten möchten.
  3. Wählen Sie im linken Navigationsmenü Modelle + Endpunkte aus und wählen Sie + Modell bereitstellen aus.
  4. Wählen Sie eine Bereitstellung mit Image aus, indem Sie als Modellnamen gpt-4o oder gpt-4o-mini auswählen. Wählen Sie im angezeigten Fenster einen Namen und einen Bereitstellungstyp aus. Stellen Sie sicher, dass Ihre Azure OpenAI-Ressource verbunden ist. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.
  5. Klicken Sie auf Bereitstellen.
  6. Wählen Sie als Nächstes Ihr neues Modell aus, und wählen Sie In Playground öffnenaus. Im Chat-Playground sollte die von Ihnen erstellte-Bereitstellung in der Dropdownliste Bereitstellung ausgewählt sein.

Playground

In dieser Chatsitzung weisen Sie den Assistenten an, Sie beim Verstehen von Bildern zu unterstützen, die Sie eingeben.

Allgemeine Hilfe zum Einrichten von Assistenten, Chatsitzungen, Einstellungen und Panels finden Sie im Schnellstart zu Chats.

Starten einer Chatsitzung zum Analysieren von Bildern

In dieser Chatsitzung weisen Sie den Assistenten an, Sie beim Verstehen der angegebenen Bilder zu unterstützen.

  1. Stellen Sie zunächst sicher, dass Ihre Bereitstellung mit Image im Dropdownmenü Bereitstellung ausgewählt ist.

  2. Geben Sie im Kontexttextfeld im Bereich Setup diesen Prompt ein an, den Assistenten zu leiten: "You're an AI assistant that helps people find information." Sie können den Prompt auch auf Ihr Bild oder Szenario anpassen.

    Hinweis

    Es wird empfohlen, die Systemnachricht so zu aktualisieren, dass sie spezifisch für die Aufgabe ist, damit das Modell sinnvoll antworten kann.

  3. Wählen Sie zum Speichern der Änderungen Änderungen übernehmen aus.

  4. Wählen Sie im Chatsitzungsbereich die Schaltfläche „Anlage“ und dann Bild hochladen aus. Wählen Sie Ihr Bild aus.

  5. Fügen Sie den folgenden Prompt im Chatfeld hinzu: Describe this image.Wählen Sie dann das Symbol „Senden“ aus, um ihn zu senden.

  6. Das Symbol „Senden“ wird durch eine Stoppschaltfläche ersetzt. Wenn Sie sie auswählen, beendet der Assistent die Verarbeitung Ihrer Anforderung. Lassen Sie den Assistenten die Antwort für diese Schnellstartanleitung abschließen.

  7. Der Assistent antwortet mit einer Beschreibung des Bilds.

  8. Senden Sie eine weitere Anweisung im Zusammenhang mit der Analyse Ihres Bilds. Sie können "What should I highlight about this image to my insurance company?" eingeben.

  9. Sie sollten eine Antwort empfangen, die etwa dem folgenden Beispiel ähnelt:

    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.
    

Anzeigen und Exportieren von Code

Zu jedem Zeitpunkt in der Chatsitzung können Sie den Schalter JSON-Rohdaten anzeigen oben im Chatfenster aktivieren, um die als JSON formatierte Unterhaltung anzuzeigen. Hier sehen Sie den Status zu Beginn der Schnellstart-Chatsitzung:

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

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Dieser Artikel behandelt die ersten Schritte mit den Azure OpenAI-REST-APIs, um das GPT-4 Turbo with Vision-Modell bereitzustellen und zu verwenden.

Voraussetzungen

Hinweis

Es wird derzeit nicht unterstützt, die Inhaltsfilterung für das GPT-4 Turbo mit Vision-Modell zu deaktivieren.

Abrufen von Schlüssel und Endpunkt

Um die Azure OpenAI-APIs erfolgreich aufzurufen, benötigen Sie die folgenden Informationen zu Ihrer Azure OpenAI-Ressource:

Variable Name Wert
Endpunkt api_base Der Endpunktwert befindet sich unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Sie finden den Endpunkt auch über die Seite Bereitstellungen im Azure KI Foundry-Portal. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/.
Schlüssel api_key Den Schlüsselwert finden Sie ebenfalls unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Azure generiert zwei Schlüssel für Ihre Ressource. Sie können beide Werte verwenden.

Wechseln Sie zu Ihrer Ressource im Azure-Portal. Wählen Sie im Navigationsbereich unter Ressourcenverwaltung die Option Schlüssel und Endpunkt aus. Kopieren Sie den Wert unter Endpunkt und einen Zugriffsschlüsselwert. Sie können entweder den Wert unter SCHLÜSSEL 1 oder unter SCHLÜSSEL 2 verwenden. Wenn Sie zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und erneut generieren, ohne Dienstunterbrechungen zu verursachen.

Screenshot der Seite „Schlüssel und Endpunkt“ für eine Azure OpenAI-Ressource im Azure-Portal.

Erstellen einer neuen Python-Anwendung

Erstellen Sie eine neue Python-Datei namens quickstart.py. Öffnen Sie die Datei in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.

  1. Ersetzen Sie den Inhalt von quickstart.py durch den folgenden Code.

    # 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. Nehmen Sie die folgenden Änderungen vor:

    1. Geben Sie Ihre Endpunkt-URL und ihren Schlüssel in die entsprechenden Felder ein.
    2. Geben Sie Ihren GPT-4 Turbo with Vision-Bereitstellungsnamen in das entsprechende Feld ein.
    3. Ändern Sie den Wert des "image"-Felds in die URL Ihres Bilds.

      Tipp

      Sie können ebenfalls Base64-codierte Bilddaten anstelle einer URL verwenden. Weitere Informationen finden Sie in der Schrittanleitung für GPT-4 Turbo mit Vision.

  3. Führen Sie die Anwendung mit Befehl python aus:

    python quickstart.py
    

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Dieser Artikel behandelt die ersten Schritte mit dem Python-SDK von Azure OpenAI, um das Modell für GPT-4 Turbo mit Vision bereitzustellen und zu verwenden.

Quellcode der Bibliothek | Paket (PyPi) |

Voraussetzungen

Einrichten

Installieren Sie die OpenAI Python-Clientbibliothek mit:

pip install openai

Hinweis

Diese Bibliothek wird von OpenAI verwaltet. Lesen Sie den Versionsverlauf, um die neuesten Updates für die Bibliothek nachzuverfolgen.

Abrufen von Schlüssel und Endpunkt

Für erfolgreiche Azure OpenAI-Aufrufe benötigen Sie einen Endpunkt und einen Schlüssel.

Variablenname Wert
ENDPOINT Der Dienstendpunkt befindet sich im Abschnitt Schlüssel und Endpunkt, wenn Sie Ihre Ressource aus dem Azure-Portal untersuchen. Alternativ können Sie den Endpunkt über die Seite Bereitstellungen im Azure KI Foundry-Portal finden. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/.
API-KEY Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden.

Wechseln Sie zu Ihrer Ressource im Azure-Portal. Den Abschnitt Schlüssel und Endpunkt finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1 oder KEY2 verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.

Screenshot der Benutzeroberfläche mit der Übersicht über eine Azure OpenAI-Ressource im Azure-Portal, in der die Speicherorte für Endpunkt und Zugriffsschlüssel rot umrandet sind

Umgebungsvariablen

Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.

Wichtig

Es wird empfohlen, die Microsoft Entra ID-Authentifizierung mit verwalteten Identitäten für Azure-Ressourcen zu kombinieren, um das Speichern von Anmeldeinformationen mit den in der Cloud ausgeführten Anwendungen zu vermeiden.

Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, rotieren Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe von rollenbasierter Zugriffssteuerung und Netzwerkzugriffsbeschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.

Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Erstellen einer neuen Python-Anwendung

Erstellen Sie eine neue Python-Datei namens quickstart.py. Öffnen Sie die Datei in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.

  1. Ersetzen Sie den Inhalt von quickstart.py durch den folgenden Code.

    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. Nehmen Sie die folgenden Änderungen vor:

    1. Geben Sie den Namen Ihrer Bereitstellung für GPT-4 Turbo mit Vision in das entsprechende Feld ein.
    2. Ändern Sie den Wert des "url"-Felds in die URL Ihres Bilds.

      Tipp

      Sie können ebenfalls Base64-codierte Bilddaten anstelle einer URL verwenden. Weitere Informationen finden Sie in der Schrittanleitung für GPT-4 Turbo mit Vision.

  3. Führen Sie die Anwendung mit Befehl python aus:

    python quickstart.py
    

Wichtig

Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Wenn Sie einen API-Schlüssel verwenden, speichern Sie ihn sicher in Azure Key Vault. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.

Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Dieser Artikel behandelt die ersten Schritte mit dem JavaScript SDK für OpenAI, um das Modell für GPT-4 Turbo mit Vision bereitzustellen und zu verwenden.

Dieses SDK wird von OpenAI mit Azure-spezifischen Typen bereitgestellt, die von Azure bereitgestellt werden.

Referenzdokumentation | Quellcode der Bibliothek | Paket (npm) | Beispiele

Voraussetzungen

Hinweis

Diese Bibliothek wird von OpenAI verwaltet. Lesen Sie den Versionsverlauf, um die neuesten Updates für die Bibliothek nachzuverfolgen.

Voraussetzungen für Microsoft Entra ID

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Die Azure CLI installieren, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird
  • Weisen Sie Ihrem Benutzerkonto die Cognitive Services User-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal.
OPENAI_API_VERSION Erfahren Sie mehr über API-Versionen.

Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.

Achtung

Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die Umgebungsvariable AZURE_OPENAI_API_KEY nicht festgelegt ist.

Erstellen einer Node.-Anwendung

Erstellen Sie in einem Konsolenfenster (etwa cmd, PowerShell oder Bash) ein neues Verzeichnis für Ihre App, und rufen Sie es auf. Führen Sie dann den Befehl npm init aus, um eine Knotenanwendung mit einer Datei des Typs package.json zu erstellen.

npm init

Installieren der Clientbibliothek

Installieren der Clientbibliotheken:

npm install openai @azure/identity

Die Datei package.json Ihrer App wird mit den Abhängigkeiten aktualisiert.

Erstellen einer neuen JavaScript-Anwendung für Bildprompts

Wählen Sie ein Bild unter azure-samples/cognitive-services-sample-data-files aus, und legen Sie die URL für ein Bild in den Umgebungsvariablen fest.

  1. Ersetzen Sie den Inhalt von quickstart.js durch den folgenden Code.

    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. Nehmen Sie die folgenden Änderungen vor:

    1. Geben Sie den Namen Ihrer Bereitstellung für GPT-4 Turbo mit Vision in das entsprechende Feld ein.
    2. Ändern Sie den Wert des "url"-Felds in die URL Ihres Bilds.

      Tipp

      Sie können ebenfalls Base64-codierte Bilddaten anstelle einer URL verwenden. Weitere Informationen finden Sie in der Schrittanleitung für GPT-4 Turbo mit Vision.

  3. Führen Sie die Anwendung mit dem folgenden Befehl aus:

    node quickstart.js
    

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Dieser Artikel behandelt die ersten Schritte mit dem JavaScript SDK für OpenAI, um das Modell für GPT-4 Turbo mit Vision bereitzustellen und zu verwenden.

Dieses SDK wird von OpenAI mit Azure-spezifischen Typen bereitgestellt, die von Azure bereitgestellt werden.

Referenzdokumentation | Quellcode der Bibliothek | Paket (npm) | Beispiele

Voraussetzungen

Hinweis

Diese Bibliothek wird von OpenAI verwaltet. Lesen Sie den Versionsverlauf, um die neuesten Updates für die Bibliothek nachzuverfolgen.

Voraussetzungen für Microsoft Entra ID

Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:

  • Die Azure CLI installieren, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird
  • Weisen Sie Ihrem Benutzerkonto die Cognitive Services User-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.

Abrufen von Ressourceninformationen

Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:

Variablenname Wert
AZURE_OPENAI_ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen.
AZURE_OPENAI_DEPLOYMENT_NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal.
OPENAI_API_VERSION Erfahren Sie mehr über API-Versionen.

Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.

Achtung

Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die Umgebungsvariable AZURE_OPENAI_API_KEY nicht festgelegt ist.

Erstellen einer Node.-Anwendung

Erstellen Sie in einem Konsolenfenster (etwa cmd, PowerShell oder Bash) ein neues Verzeichnis für Ihre App, und rufen Sie es auf. Führen Sie dann den Befehl npm init aus, um eine Knotenanwendung mit einer Datei des Typs package.json zu erstellen.

npm init

Installieren der Clientbibliothek

Installieren der Clientbibliotheken:

npm install openai @azure/identity

Die Datei package.json Ihrer App wird mit den Abhängigkeiten aktualisiert.

Erstellen einer neuen JavaScript-Anwendung für Bildprompts

Wählen Sie ein Bild unter azure-samples/cognitive-services-sample-data-files aus, und legen Sie die URL für ein Bild in den Umgebungsvariablen fest.

  1. Erstellen Sie die Datei quickstart.ts, und fügen Sie den folgenden Code ein.

    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. Nehmen Sie die folgenden Änderungen vor:

    1. Geben Sie den Namen Ihrer Bereitstellung für GPT-4 Turbo mit Vision in das entsprechende Feld ein.
    2. Ändern Sie den Wert des "url"-Felds in die URL Ihres Bilds.

      Tipp

      Sie können ebenfalls Base64-codierte Bilddaten anstelle einer URL verwenden. Weitere Informationen finden Sie in der Schrittanleitung für GPT-4 Turbo mit Vision.

  3. Erstellen Sie die Anwendung mit dem folgenden Befehl:

    tsc
    
  4. Führen Sie die Anwendung mit dem folgenden Befehl aus:

    node quickstart.js
    

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Dieser Artikel behandelt die ersten Schritte mit dem .NET SDK von Azure OpenAI, um das Modell für GPT-4 Turbo mit Vision bereitzustellen und zu verwenden.

Voraussetzungen

Einrichten

Abrufen von Schlüssel und Endpunkt

Für erfolgreiche Azure OpenAI-Aufrufe benötigen Sie einen Endpunkt und einen Schlüssel.

Variablenname Wert
AZURE_OPENAI_ENDPOINT Der Dienstendpunkt befindet sich im Abschnitt Schlüssel und Endpunkt, wenn Sie Ihre Ressource aus dem Azure-Portal untersuchen. Alternativ können Sie den Endpunkt über die Seite Bereitstellungen im Azure KI Foundry-Portal finden. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden.

Wechseln Sie zu Ihrer Ressource im Azure-Portal. Die Werte für Endpunkt und Schlüssel finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1 oder KEY2 verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.

Screenshot der Benutzeroberfläche mit der Übersicht über eine Azure OpenAI-Ressource im Azure-Portal, in dem die Speicherorte für Endpunkt und Zugriffsschlüssel rot hervorgehoben sind.

Erstellen der .NET App

  1. Erstellen Sie eine .NET-App mit dem Befehl dotnet new:

    dotnet new console -n OpenAISpeech
    
  2. Wechseln Sie in das Verzeichnis der neuen App:

    cd OpenAISpeech
    

Installieren der Clientbibliothek

Installieren der Azure.OpenAI Clientbibliothek:

dotnet add package Azure.AI.OpenAI

Die passwortlose Authentifizierung ist sicherer als schlüsselbasierte Alternativen und ist der empfohlene Ansatz für die Verbindung mit Azure-Diensten. Wenn Sie die passwortlose Authentifizierung auswählen, müssen Sie Folgendes ausführen:

  1. Fügen Sie das Paket Azure.Identity hinzu.

    dotnet add package Azure.Identity
    
  2. Weisen Sie Ihrem Benutzerkonto die Cognitive Services User-Rolle zu. Dies kann im Azure-Portal auf Ihrer OpenAI-Ressource unter Access Control (IAM)>Rollenzuweisung hinzufügen erfolgen.

  3. Melden Sie sich mit Visual Studio oder der Azure CLI über az login in Azure an.

Aktualisieren des App-Codes

  1. Ersetzen Sie den Inhalt von program.cs durch den folgenden Code, und aktualisieren Sie die Platzhalterwerte durch Ihren eigenen.

    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}");
    

Wichtig

Es wird empfohlen, die Microsoft Entra ID-Authentifizierung mit verwalteten Identitäten für Azure-Ressourcen zu kombinieren, um das Speichern von Anmeldeinformationen mit den in der Cloud ausgeführten Anwendungen zu vermeiden.

Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, rotieren Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe von rollenbasierter Zugriffssteuerung und Netzwerkzugriffsbeschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.

Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.

  1. Führen Sie die Anwendung mit dem Befehl dotnet run oder der Schaltfläche „Ausführen“ oben in Visual Studio aus:

    dotnet run
    

Die App generiert eine Audiodatei an dem Speicherort, den Sie für die Variable speechFilePath angegeben haben. Geben Sie die Datei auf Ihrem Gerät wieder, um die generierte Audiowiedergabe zu hören.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Nächste Schritte