Schnellstart: Erste Schritte beim Generieren von Text mithilfe von Azure OpenAI Service

Die Informationen in diesem Artikel helfen Ihnen dabei, Ihre ersten Aufrufe von Azure OpenAI zu erstellen.

Voraussetzungen

  • Azure-Abonnement – kostenloses Abonnement erstellen.

  • Zugriff auf Azure OpenAI im gewünschten Azure-Abonnement gewährt.

    Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf Azure OpenAI beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen. Öffnen Sie ein Issue in diesem Repository, um uns bei einem Problem zu kontaktieren.

  • Eine Azure OpenAI-Ressource mit einem bereitgestellten Modell. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Tipp

Probieren Sie das neue vereinte Azure KI Studio (Vorschau) aus, das Funktionen aus mehreren Azure AK-Diensten vereint.

Wechseln zu Azure OpenAI Studio

Navigieren Sie unter „https://oai.azure.com/“ zu Azure OpenAI Studio, und melden Sie sich mit den Anmeldeinformationen an, mit denen Sie Zugriff auf Ihre OpenAI-Ressource haben. Wählen Sie während oder nach dem Anmeldeworkflow das passende Verzeichnis, Azure-Abonnement und die Azure OpenAI-Ressource aus.

Navigieren Sie weiter auf der Azure OpenAI Studio-Landing Page, um sich Beispiele für die Vervollständigung von Aufforderungen anzusehen, Ihre Bereitstellungen und Modelle zu verwalten und Lernressourcen wie Dokumentationen und Communityforen zu finden.

Screenshot der Azure OpenAI Studio-Zielseite.

Wechseln Sie zum Playground, um mit dem Workflow zu experimentieren und ihn zu optimieren.

Playground

Beginnen Sie mit der Erkundung der Azure OpenAI-Funktionen mit einem No-Code-Ansatz mithilfe des GPT-3 Playground. Es handelt sich ganz einfach um ein Textfeld, in das Sie einen Befehlstext eingeben, um eine Vervollständigung zu generieren. Auf dieser Seite können Sie die Funktionen ganz einfach schrittweise erkunden und mit ihnen experimentieren.

Screenshot: Playground von Azure OpenAI Studio mit verschiedenen Abschnitten

Sie können für den Start eine Bereitstellung auswählen und sich für eines der vorab geladenen Beispiele entscheiden. Wenn Ihre Ressource keine Bereitstellung aufweist, wählen Sie Bereitstellung erstellen aus, und folgen Sie den Anweisungen des Assistenten. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Sie können mit den Konfigurationseinstellungen wie Temperatur und Pre-Response-Text experimentieren, um die Leistungsfähigkeit Ihres Tasks zu verbessern. Weitere Informationen zu den einzelnen Parametern finden Sie in der REST-API.

  • Durch Auswahl der Schaltfläche Generieren wird der eingegebene Text an die Vervollständigungs-API gesendet, und die Ergebnisse werden zurück in das Textfeld gestreamt.
  • Wählen Sie die Schaltfläche Rückgängig machen aus, um den vorherigen Generierungsaufruf rückgängig zu machen.
  • Wählen Sie die Schaltfläche Erneut generieren aus, um einen Aufruf zum Rückgängigmachen und gleichzeitig einen zum Generieren abzuschließen.

Azure OpenAI führt außerdem Inhaltsmoderation für die Eingabeaufforderungen und generierten Ausgaben aus. Die Eingabeaufforderungen oder Antworten können gefiltert werden, wenn schädliche Inhalte erkannt werden. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.

Im GPT-3 Playground können Sie auch Python- und Curl-Codebeispiele anzeigen, die anhand Ihren ausgewählten Einstellungen vorab eingefügt wurden. Wählen Sie einfach Code anzeigen neben der Dropdownliste mit den Beispielen aus. Sie können eine Anwendung schreiben, um dieselbe Aufgabe mit dem OpenAI Python SDK, mit Curl oder mit einem anderen REST-API-Client auszuführen.

Textzusammenfassung ausprobieren

Um Azure OpenAI für die Textzusammenfassung im GPT-3 Playground zu verwenden, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich bei Azure OpenAI Studio an.

  2. Wählen Sie das Abonnement und die OpenAI-Ressource aus, mit denen Sie arbeiten möchten.

  3. Wählen Sie oben auf der Landing Page GPT-3 Playground aus.

  4. Wählen Sie Ihre Bereitstellung in der Dropdownliste Bereitstellungen aus. Wenn Ihre Ressource keine Bereitstellung aufweist, wählen Sie Bereitstellung erstellen aus, und kehren Sie dann zu diesem Schritt zurück.

  5. Wählen Sie in der Dropdownliste Beispiele die Option Text zusammenfassen aus.

    Screenshot: Seite „Playground“ von Azure OpenAI Studio mit Auswahl von „Summarize Text“ in der Dropdownliste

  6. Wählen Sie Generate aus. Azure OpenAI wird versuchen, den Kontext des Texts zu erfassen und eine kurze und prägnante Zusammenfassung erstellen. Sie sollten ein Ergebnis erhalten, das dem folgenden Text ähnelt:

    Tl;dr A neutron star is the collapsed core of a supergiant star. These incredibly dense objects are incredibly fascinating due to their strange properties and their potential for phenomena such as extreme gravitational forces and a strong magnetic field.
    

Die Genauigkeit der Antwort kann je nach Modell variieren. Das auf Davinci basierende Modell in diesem Beispiel eignet sich für solche Zusammenfassungen sehr gut. Ein Codex-basiertes Modell würde dagegen bei dieser speziellen Aufgabe keine so gute Leistung erbringen.

Bereinigen von Ressourcen

Wenn Sie eine 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

Quellcode | Paket (NuGeT) | Beispiele

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto
  • Der Zugriff auf den Azure OpenAI Service im gewünschten Azure-Abonnement wurde erteilt. Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf den Azure OpenAI Service beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen.
  • Aktuelle Version von .NET Core
  • Eine Azure OpenAI Service-Ressource mit dem bereitgestellten Modell gpt-35-turbo-instruct. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Einrichten

Erstellen einer neuen .NET Core-Anwendung

Verwenden Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) den Befehl dotnet new zum Erstellen einer neuen Konsolen-App mit dem Namen azure-openai-quickstart. Dieser Befehl erstellt ein einfaches „Hallo Welt“-Projekt mit einer einzigen C#-Quelldatei: Program.cs.

dotnet new console -n azure-openai-quickstart

Wechseln Sie zum Ordner der neu erstellten App. Sie können die Anwendung mit folgendem Befehl erstellen:

dotnet build

Die Buildausgabe sollte keine Warnungen oder Fehler enthalten.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Installieren Sie die OpenAI .NET-Clientbibliothek mit:

dotnet add package Azure.AI.OpenAI --prerelease

Abrufen von Schlüssel und Endpunkt

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

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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. 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 der Übersicht für eine OpenAI-Ressource im Azure-Portal, Speicherorte für Endpunkt und Zugriffsschlüssel sind rot umrandet.

Umgebungsvariablen

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Erstellen einer Beispielanwendung

Öffnen Sie im Projektverzeichnis die Datei program.cs, und ersetzen Sie den Inhalt durch den folgenden Code:

using Azure;
using Azure.AI.OpenAI;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));

CompletionsOptions completionsOptions = new()
{
    DeploymentName = "gpt-35-turbo-instruct", 
    Prompts = { "When was Microsoft founded?" },
};

Response<Completions> completionsResponse = client.GetCompletions(completionsOptions);
string completion = completionsResponse.Value.Choices[0].Text;
Console.WriteLine($"Chatbot: {completion}");

Wichtig

Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

dotnet run program.cs

Ausgabe

Chatbot:

Microsoft was founded on April 4, 1975.

Bereinigen von Ressourcen

Wenn Sie eine OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.

Nächste Schritte

Quellcode | Paket (Go)| Beispiele

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto
  • Der Zugriff auf den Azure OpenAI Service im gewünschten Azure-Abonnement wurde erteilt. Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf den Azure OpenAI Service beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen.
  • Lokale Installation von Go 1.21.0 oder höher.
  • Eine Azure OpenAI Service-Ressource mit dem bereitgestellten Modell gpt-35-turbo-instuct. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Einrichten

Abrufen von Schlüssel und Endpunkt

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

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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. 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 der Übersicht für eine OpenAI-Ressource im Azure-Portal, Speicherorte für Endpunkt und Zugriffsschlüssel sind rot umrandet.

Umgebungsvariablen

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Erstellen einer Beispielanwendung

Erstellen Sie eine neue Datei mit dem Namen completions.go. Kopieren Sie den folgenden Code in die Datei „completion.go“.

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)

func main() {
	azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
	modelDeploymentID := "gpt-35-turbo-instruct"

	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")

	if azureOpenAIKey == "" || modelDeploymentID == "" || azureOpenAIEndpoint == "" {
		fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
		return
	}

	keyCredential, err := azopenai.NewKeyCredential(azureOpenAIKey)

	if err != nil {
		// TODO: handle error
	}

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		// TODO: handle error
	}

	resp, err := client.GetCompletions(context.TODO(), azopenai.CompletionsOptions{
		Prompt:       []string{"What is Azure OpenAI, in 20 words or less"},
		MaxTokens:    to.Ptr(int32(2048)),
		Temperature:  to.Ptr(float32(0.0)),
		Deployment: modelDeploymentID,
	}, nil)

	if err != nil {
		// TODO: handle error
	}

	for _, choice := range resp.Choices {
		fmt.Fprintf(os.Stderr, "Result: %s\n", *choice.Text)
	}

}

Wichtig

Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

Öffnen Sie nun eine Eingabeaufforderung, und führen Sie Folgendes aus:

go mod init completions.go

Nächste Ausführung:

go mod tidy
go run completions.go

Ausgabe

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.

Nächste Schritte

Quellcode | Artefakt (Maven) | Beispiele

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto
  • Der Zugriff auf den Azure OpenAI Service im gewünschten Azure-Abonnement wurde erteilt. Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf den Azure OpenAI Service beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen.
  • Eine Azure OpenAI Service-Ressource mit dem bereitgestellten Modell gpt-35-turbo-instruct. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Einrichten

Abrufen von Schlüssel und Endpunkt

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

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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. 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 der Übersicht für eine OpenAI-Ressource im Azure-Portal, Speicherorte für Endpunkt und Zugriffsschlüssel sind rot umrandet.

Umgebungsvariablen

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Erstellen einer neuen Java-Anwendung

Erstellen eines neuen Gradle-Projekts

Erstellen Sie in einem Konsolenfenster (etwa cmd, PowerShell oder Bash) ein neues Verzeichnis für Ihre App, und rufen Sie es auf.

mkdir myapp && cd myapp

Führen Sie den Befehl gradle init in Ihrem Arbeitsverzeichnis aus. Mit diesem Befehl werden grundlegende Builddateien für Gradle, u. a. die Datei build.gradle.kts, erstellt. Diese Datei wird zur Laufzeit zum Erstellen und Konfigurieren Ihrer Anwendung verwendet.

gradle init --type basic

Wenn Sie zur Auswahl einer DSL aufgefordert werden, wählen Sie Kotlin aus.

Installieren des Java SDK

In dieser Schnellstartanleitung wird der Gradle-Abhängigkeits-Manager verwendet. Die Clientbibliothek und Informationen zu anderen Abhängigkeits-Managern finden Sie im zentralen Maven-Repository.

Navigieren Sie zur Datei build.gradle.kts, und öffnen Sie sie in Ihrer bevorzugten IDE bzw. Ihrem bevorzugten Text-Editor. Kopieren Sie anschließend die folgende Buildkonfiguration. Diese Konfiguration definiert das Projekt als Java-Anwendung, deren Einstiegspunkt die Klasse OpenAIQuickstart ist. Dies importiert die Azure KI Vision-Bibliothek.

plugins {
    java
    application
}
application { 
    mainClass.set("GetCompletionsSample")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
    implementation("org.slf4j:slf4j-simple:1.7.9")
}

Erstellen einer Beispielanwendung

  1. Erstellen einer Java-Datei

    Führen Sie in Ihrem Arbeitsverzeichnis den folgenden Befehl aus, um einen Projektquellordner zu erstellen:

    mkdir -p src/main/java
    

    Navigieren Sie zum neuen Ordner, und erstellen Sie eine Datei mit dem Namen GetCompletionsSample.java.

  2. Öffnen Sie GetCompletionsSample.java in Ihrem bevorzugten Editor oder Ihrer IDE, und fügen Sie den folgenden Code ein.

    package com.azure.ai.openai.usage;
    
    import com.azure.ai.openai.OpenAIClient;
    import com.azure.ai.openai.OpenAIClientBuilder;
    import com.azure.ai.openai.models.Choice;
    import com.azure.ai.openai.models.Completions;
    import com.azure.ai.openai.models.CompletionsOptions;
    import com.azure.ai.openai.models.CompletionsUsage;
    import com.azure.core.credential.AzureKeyCredential;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class GetCompletionsSample {
    
        public static void main(String[] args) {
            String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");;
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");;
            String deploymentOrModelId = "gpt-35-turbo-instruct";
    
            OpenAIClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .buildClient();
    
            List<String> prompt = new ArrayList<>();
            prompt.add("When was Microsoft founded?");
    
            Completions completions = client.getCompletions(deploymentOrModelId, new CompletionsOptions(prompt));
    
            System.out.printf("Model ID=%s is created at %s.%n", completions.getId(), completions.getCreatedAt());
            for (Choice choice : completions.getChoices()) {
                System.out.printf("Index: %d, Text: %s.%n", choice.getIndex(), choice.getText());
            }
    
            CompletionsUsage usage = completions.getUsage();
            System.out.printf("Usage: number of prompt token is %d, "
                    + "number of completion token is %d, and number of total tokens in request and response is %d.%n",
                usage.getPromptTokens(), usage.getCompletionTokens(), usage.getTotalTokens());
        }
    }
    

    Wichtig

    Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

  3. Navigieren Sie zurück zum Projektstammordner, und erstellen Sie die App mit:

    gradle build
    

    Führen Sie ihn dann mit dem gradle run-Befehl aus:

    gradle run
    

Ausgabe

Model ID=cmpl-7JZRbWuEuHX8ozzG3BXC2v37q90mL is created at 1684898835.
Index: 0, Text:

Microsoft was founded on April 4, 1975..
Usage: number of prompt token is 5, number of completion token is 11, and number of total tokens in request and response is 16.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.

Nächste Schritte

Quellcode | Artifacts (Maven) | Beispiel

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
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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. 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 der Übersicht für eine OpenAI-Ressource im Azure-Portal, Speicherorte für Endpunkt und Zugriffsschlüssel sind rot umrandet.

Umgebungsvariablen

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

Hinweis

Spring KI setzt den Modellnamen standardmäßig auf gpt-35-turbo. Es ist nur erforderlich, den SPRING_AI_AZURE_OPENAI_MODEL Wert bereitzustellen, wenn Sie ein Modell mit einem anderen Namen bereitgestellt haben.

export SPRING_AI_AZURE_OPENAI_API_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE"
export SPRING_AI_AZURE_OPENAI_ENDPOINT="REPLACE_WITH_YOUR_ENDPOINT_HERE"
export SPRING_AI_AZURE_OPENAI_MODEL="REPLACE_WITH_YOUR_MODEL_NAME_HERE"

Erstellen einer neuen Spring-Anwendung

Erstellen Sie ein neues Spring-Projekt.

Erstellen Sie in einem Bash-Fenster ein neues Verzeichnis für Ihre App, und navigieren Sie dorthin.

mkdir ai-completion-demo && cd ai-completion-demo

Führen Sie den Befehl spring init in Ihrem Arbeitsverzeichnis aus. Dieser Befehl erstellt eine Standardverzeichnisstruktur für Ihr Spring-Projekt, einschließlich der Hauptquelldatei der Java-Klassen und der Datei pom.xml, die für die Verwaltung von Maven-basierten Projekten verwendet wird.

spring init -a ai-completion-demo -n AICompletion --force --build maven -x

Die generierten Dateien und Ordner ähneln der folgenden Struktur:

ai-completion-demo/
|-- pom.xml
|-- mvn
|-- mvn.cmd
|-- HELP.md
|-- src/
    |-- main/
    |   |-- resources/
    |   |   |-- application.properties
    |   |-- java/
    |       |-- com/
    |           |-- example/
    |               |-- aicompletiondemo/
    |                   |-- AiCompletionApplication.java
    |-- test/
        |-- java/
            |-- com/
                |-- example/
                    |-- aicompletiondemo/
                        |-- AiCompletionApplicationTests.java

Bearbeiten der Spring-Anwendung

  1. Bearbeiten Sie die pom.xml-Datei.

    Öffnen Sie im Stammverzeichnis des Projektverzeichnisses die Datei pom.xml in Ihrem bevorzugten Editor oder Ihrer IDE, und überschreiben Sie die Datei mit folgendem Inhalt:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>3.2.0</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>ai-completion-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>AICompletion</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>17</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.experimental.ai</groupId>
                <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId>
                <version>0.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <releases>
                    <enabled>false</enabled>
                </releases>
            </repository>
        </repositories>
    </project>
    
  2. Öffnen Sie im Ordner src/main/java/com/example/aicompletiondemoAiCompletionApplication.java in Ihrem bevorzugten Editor oder Ihrer IDE, und fügen Sie den folgenden Code ein:

    package com.example.aicompletiondemo;
    
    import java.util.Collections;
    import java.util.List;
    
    import org.springframework.ai.client.AiClient;
    import org.springframework.ai.prompt.Prompt;
    import org.springframework.ai.prompt.messages.Message;
    import org.springframework.ai.prompt.messages.MessageType;
    import org.springframework.ai.prompt.messages.UserMessage;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class AiCompletionApplication implements CommandLineRunner
    {
        private static final String ROLE_INFO_KEY = "role";
    
        @Autowired
        private AiClient aiClient;
    
        public static void main(String[] args) {
            SpringApplication.run(AiCompletionApplication.class, args);
        }
    
        @Override
        public void run(String... args) throws Exception
        {
            System.out.println(String.format("Sending completion prompt to AI service. One moment please...\r\n"));
    
            final List<Message> msgs =
                    Collections.singletonList(new UserMessage("When was Microsoft founded?"));
    
            final var resps = aiClient.generate(new Prompt(msgs));
    
            System.out.println(String.format("Prompt created %d generated response(s).", resps.getGenerations().size()));
    
            resps.getGenerations().stream()
              .forEach(gen -> {
                  final var role = gen.getInfo().getOrDefault(ROLE_INFO_KEY, MessageType.ASSISTANT.getValue());
    
                  System.out.println(String.format("Generated respose from \"%s\": %s", role, gen.getText()));
              });
        }
    
    }
    

    Wichtig

    Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

  3. Navigieren Sie zurück zum Projektstammordner, und führen Sie die App mithilfe des folgenden Befehls aus:

    ./mvnw spring-boot:run
    

Output

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-07T12:47:46.126-06:00  INFO 98687 --- [           main] c.e.a.AiCompletionApplication            : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00  INFO 98687 --- [           main] c.e.a.AiCompletionApplication            : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...

Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.

Nächste Schritte

Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele

Quellcode | Paket (npm) | Beispiele

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
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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. 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 der Übersicht für eine OpenAI-Ressource im Azure-Portal, Speicherorte für Endpunkt und Zugriffsschlüssel sind rot umrandet.

Umgebungsvariablen

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

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 Sie die Azure OpenAI-Clientbibliothek für JavaScript mit npm:

npm install @azure/openai

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

Erstellen einer Beispielanwendung

Öffnen Sie am Ort, an dem Sie das neue Projekt erstellt haben, eine Eingabeaufforderung, und erstellen Sie eine neue Datei mit dem Namen „Completion.js“. Kopieren Sie den folgenden Code in die Datei „Completion.js“.

const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;

const prompt = ["When was Microsoft founded?"];

async function main() {
  console.log("== Get completions Sample ==");

  const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
  const deploymentId = "gpt-35-turbo-instruct";
  const result = await client.getCompletions(deploymentId, prompt);

  for (const choice of result.choices) {
    console.log(choice.text);
  }
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

module.exports = { main };

Wichtig

Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

Führen Sie das Skript mit dem folgenden Befehl aus:

node.exe Completion.js

Ausgabe

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Bereinigen von Ressourcen

Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.

Nächste Schritte

Quellcode der Bibliothek | Paket (PyPi) |

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto

  • Zugriff auf Azure OpenAI im gewünschten Azure-Abonnement gewährt

    Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf Azure OpenAI beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen. Öffnen Sie ein Problem in diesem Repository, um uns bei einem Problem zu kontaktieren.

  • Python 3.8 oder eine höhere Version

  • Die folgenden Python-Bibliotheken: os, requests, json.

  • Eine Azure OpenAI Service-Ressource mit einem bereitgestellten gpt-35-turbo-instruct-Modell. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Einrichten

Installieren Sie die Python-Clientbibliothek mit:

pip install openai

Hinweis

Diese Bibliothek wird von OpenAI verwaltet und es handelt sich derzeit um eine Vorschauversion. Sehen Sie sich die den Releaseverlauf oder den version.py-Commitverlauf an, um die neuesten Updates der Bibliothek nachzuverfolgen.

Abrufen von Schlüssel und Endpunkt

Um erfolgreich einen Aufruf im Azure OpenAI Service auszuführen, benötigen Sie Folgendes:

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Code anzeigen. 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.
DEPLOYMENT-NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Modellbereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen.

Wechseln Sie zu Ihrer Ressource im Azure-Portal. Die Werte für 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: Übersichtsblatt für eine OpenAI-Ressource im Azure-Portal mit rot markiertem Speicherort für Endpunkt und Zugriffsschlüssel

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

Umgebungsvariablen

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

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

  1. Erstellen Sie eine neue Python-Datei namens „quickstart.py“. Öffnen Sie diese anschließend in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.

  2. Ersetzen Sie den Inhalt von „quickstart.py“ durch den folgenden Code. Bearbeiten Sie den Code, und fügen Sie Ihren Schlüssel, Ihren Endpunkt und den Namen Ihrer Bereitstellung hinzu:

import os
from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-02-01",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )
    
deployment_name='REPLACE_WITH_YOUR_DEPLOYMENT_NAME' #This will correspond to the custom name you chose for your deployment when you deployed a model. Use a gpt-35-turbo-instruct deployment. 
    
# Send a completion call to generate an answer
print('Sending a test completion job')
start_phrase = 'Write a tagline for an ice cream shop. '
response = client.completions.create(model=deployment_name, prompt=start_phrase, max_tokens=10)
print(start_phrase+response.choices[0].text)

Wichtig

Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

  1. Führen Sie die Anwendung mit dem Befehl python für die Schnellstartdatei aus:

    python quickstart.py
    

Output

Die Ausgabe enthält Antworttext nach der Eingabeaufforderung „Write a tagline for an ice cream shop.“. Azure OpenAI hat in diesem Beispiel The coldest ice cream in town! zurückgegeben.

Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!

Führen Sie den Code noch einige Male aus, um festzustellen, welche anderen Arten von Antworten Sie erhalten, da die Antworten nicht immer gleich sind.

Verstehen der Ergebnisse

Da unser Beispiel „Write a tagline for an ice cream shop.“ nur wenig Kontext umfasst, ist es normal, dass das Modell nicht immer die erwarteten Ergebnisse zurückgibt. Sie können die maximale Tokenanzahl anpassen, wenn die Antwort unerwartet oder abgeschnitten erscheint.

Azure OpenAI führt außerdem Inhaltsmoderation für die Eingabeaufforderungen und generierten Ausgaben aus. Die Eingabeaufforderungen oder Antworten können gefiltert werden, wenn schädliche Inhalte erkannt werden. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.

Bereinigen von Ressourcen

Wenn Sie eine 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

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto

  • Zugriff auf Azure OpenAI im gewünschten Azure-Abonnement gewährt

    Derzeit wird der Zugriff auf diesen Dienst nur auf Antrag gewährt. Sie können den Zugriff auf den Azure OpenAI-Dienst beantragen, indem Sie das Formular unter https://aka.ms/oai/access ausfüllen. Öffnen Sie ein Issue in diesem Repository, um uns bei einem Problem zu kontaktieren.

  • Python 3.8 oder eine höhere Version

  • Die folgenden Python-Bibliotheken: os, requests, json.

  • Eine Azure OpenAI-Ressource mit einem bereitgestellten Modell. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.

Einrichten

Abrufen von Schlüssel und Endpunkt

Um erfolgreich einen Aufruf für Azure OpenAI auszuführen, benötigen Sie Folgendes:

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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.
DEPLOYMENT-NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Bereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen.

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: Übersichtsblatt für eine OpenAI-Ressource im Azure-Portal mit rot markiertem Speicherort für Endpunkt und Zugriffsschlüssel

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

Umgebungsvariablen

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

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST-API

Führen Sie in der Bash-Shell die folgenden Befehle aus. Sie müssen gpt-35-turbo-instruct durch den Bereitstellungsnamen ersetzen, den Sie bei der Bereitstellung des gpt-35-turbo-instruct-Modells ausgewählt haben. Die Eingabe des Modellnamens führt zu einem Fehler, es sei denn, Sie haben einen Bereitstellungsnamen ausgewählt, der mit dem zugrunde liegenden Modellnamen identisch ist.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo-instruct/completions?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d "{\"prompt\": \"Once upon a time\"}"

Das Format Ihrer ersten Befehlszeile mit einem Beispielendpunkt würde wie folgt aussehen: curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \. Wenn Sie auf einen Fehler stoßen, überprüfen Sie, ob möglicherweise ein doppelter / an der Trennung zwischen Ihrem Endpunkt und /openai/deployments vorhanden ist.

Wenn Sie diesen Befehl an einer normalen Windows-Eingabeaufforderung ausführen möchten, müssen Sie den Text ändern, um \ und Zeilenumbrüche zu entfernen.

Wichtig

Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

Ausgabe

Die Ausgabe der Vervollständigungs-API sieht wie folgt aus.

{
    "id": "ID of your call",
    "object": "text_completion",
    "created": 1675444965,
    "model": "gpt-35-turbo-instruct",
    "choices": [
        {
            "text": " there lived in a little village a woman who was known as the meanest",
            "index": 0,
            "finish_reason": "length",
            "logprobs": null
        }
    ],
    "usage": {
        "completion_tokens": 16,
        "prompt_tokens": 3,
        "total_tokens": 19
    }
}

Azure OpenAI Service führt außerdem Inhaltsmoderation für die Eingabeaufforderungen und generierten Ausgaben aus. Die Eingabeaufforderungen oder Antworten können gefiltert werden, wenn schädliche Inhalte erkannt werden. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.

Bereinigen von Ressourcen

Wenn Sie eine 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

Voraussetzungen

Abrufen von Schlüssel und Endpunkt

Um erfolgreich einen Aufruf im Azure OpenAI Service auszuführen, benötigen Sie Folgendes:

Variablenname Wert
ENDPOINT Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. 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.
DEPLOYMENT-NAME Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Bereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen.

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: Übersichtsblatt für eine OpenAI-Ressource im Azure-Portal mit rot markiertem Speicherort für Endpunkt und Zugriffsschlüssel

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

Umgebungsvariablen

$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'

Erstellen eines neuen PowerShell-Skripts

  1. Erstellen Sie eine neue PowerShell-Datei mit dem Namen „quickstart.ps1“. Öffnen Sie diese anschließend in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.

  2. Ersetzen Sie den Inhalt von quickstart.ps1 durch den folgenden Code. Bearbeiten Sie den Code, und fügen Sie Ihren Schlüssel, Ihren Endpunkt und den Namen Ihrer Bereitstellung hinzu:

    # Azure OpenAI metadata variables
    $openai = @{
        api_key     = $Env:AZURE_OPENAI_API_KEY
        api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
        api_version = '2023-05-15' # this may change in the future
        name        = 'YOUR-DEPLOYMENT-NAME-HERE' #This will correspond to the custom name you chose for your deployment when you deployed a model.
    }
    
    # Completion text
    $prompt = 'Once upon a time...'
    
    # Header for authentication
    $headers = [ordered]@{
        'api-key' = $openai.api_key
    }
    
    # Adjust these values to fine-tune completions
    $body = [ordered]@{
        prompt      = $prompt
        max_tokens  = 10
        temperature = 2
        top_p       = 0.5
    } | ConvertTo-Json
    
    # Send a completion call to generate an answer
    $url = "$($openai.api_base)/openai/deployments/$($openai.name)/completions?api-version=$($openai.api_version)"
    
    $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
    return "$prompt`n$($response.choices[0].text)"
    

    Wichtig

    Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie die PowerShell-Geheimnisverwaltung mit Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie im Azure KI Services-Artikel Sicherheit.

  3. Führen Sie das Skript mit PowerShell aus:

    ./quickstart.ps1
    

Ausgabe

Die Ausgabe enthält Antworttext nach der Eingabeaufforderung „Once upon a time“. Azure OpenAI hat in diesem Beispiel There was a world beyond the mist...where a zurückgegeben.

Once upon a time...
 There was a world beyond the mist...where a

Führen Sie den Code noch einige Male aus, um festzustellen, welche anderen Arten von Antworten Sie erhalten, da die Antworten nicht immer gleich sind.

Verstehen der Ergebnisse

Da unser Beispiel „Once upon a time...“ nur wenig Kontext umfasst, ist es normal, dass das Modell nicht immer die erwarteten Ergebnisse zurückgibt. Sie können die maximale Tokenanzahl anpassen, wenn die Antwort unerwartet oder abgeschnitten erscheint.

Azure OpenAI führt außerdem Inhaltsmoderation für die Eingabeaufforderungen und generierten Ausgaben aus. Die Eingabeaufforderungen oder Antworten können gefiltert werden, wenn schädliche Inhalte erkannt werden. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.

Bereinigen von Ressourcen

Wenn Sie eine 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