Szybki start: rozpoczynanie generowania tekstu przy użyciu usługi Azure OpenAI Service

Skorzystaj z tego artykułu, aby rozpocząć wykonywanie pierwszych wywołań do usługi Azure OpenAI.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.

  • Dostęp jest udzielany usłudze Azure OpenAI w żądanej subskrypcji platformy Azure.

    Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI, wypełniając formularz pod adresem https://aka.ms/oai/access. Otwórz problem w tym repozytorium, aby skontaktować się z nami, jeśli masz problem.

  • Zasób usługi Azure OpenAI z wdrożonym modelem. Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Napiwek

Wypróbuj nową ujednoliconą usługę Azure AI Studio (wersja zapoznawcza), która łączy funkcje z wielu usług azure AI.

Przejdź do programu Azure OpenAI Studio

Przejdź do usługi Azure OpenAI Studio pod adresem https://oai.azure.com/ i zaloguj się przy użyciu poświadczeń, które mają dostęp do zasobu openAI. Podczas lub po przepływie pracy logowania wybierz odpowiedni katalog, subskrypcję platformy Azure i zasób usługi Azure OpenAI.

Na stronie docelowej usługi Azure OpenAI Studio przejdź dalej, aby zapoznać się z przykładami monitowania o ukończenie, zarządzać wdrożeniami i modelami oraz znajdować zasoby szkoleniowe, takie jak dokumentacja i fora społeczności.

Zrzut ekranu przedstawiający stronę docelową programu Azure OpenAI Studio.

Przejdź do obszaru zabaw, aby pracować z eksperymentami i dostrajać przepływ pracy.

Plac zabaw

Zacznij eksplorować możliwości platformy Azure OpenAI przy użyciu podejścia bez kodu za pośrednictwem platformy GPT-3 Playground. Jest to po prostu pole tekstowe, w którym można przesłać monit o wygenerowanie ukończenia. Na tej stronie można szybko iterować i eksperymentować z możliwościami.

Zrzut ekranu przedstawiający stronę placu zabaw programu Azure OpenAI Studio z wyróżnionymi sekcjami.

Możesz wybrać wdrożenie i wybrać kilka wstępnie załadowanych przykładów, aby rozpocząć pracę. Jeśli zasób nie ma wdrożenia, wybierz pozycję Utwórz wdrożenie i postępuj zgodnie z instrukcjami podanymi przez kreatora. Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Możesz eksperymentować z ustawieniami konfiguracji, takimi jak temperatura i tekst wstępnego reagowania, aby poprawić wydajność zadania. Więcej informacji na temat każdego parametru można przeczytać w interfejsie API REST.

  • Wybranie przycisku Generuj spowoduje wysłanie wprowadzonego tekstu do interfejsu API uzupełniania i przesyłanie strumieniowe wyników z powrotem do pola tekstowego.
  • Wybierz przycisk Cofnij, aby cofnąć poprzednie wywołanie generacji.
  • Wybierz przycisk Wygeneruj ponownie, aby ukończyć wywołanie cofania i generowania razem.

Usługa Azure OpenAI wykonuje również funkcję con tryb namiotu ration na danych wejściowych monitu i wygenerowanych danych wyjściowych. Monity lub odpowiedzi mogą być filtrowane w przypadku wykrycia szkodliwej zawartości. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Na placu zabaw GPT-3 można również wyświetlić wstępnie wypełnione przykłady kodu python i curl zgodnie z wybranymi ustawieniami. Po prostu wybierz pozycję Wyświetl kod obok listy rozwijanej przykłady. Możesz napisać aplikację, aby wykonać to samo zadanie za pomocą zestawu SDK języka Python openAI, narzędzia curl lub innego klienta interfejsu API REST.

Wypróbuj podsumowanie tekstu

Aby użyć interfejsu Azure OpenAI do podsumowania tekstu w GPT-3 Playground, wykonaj następujące kroki:

  1. Zaloguj się do programu Azure OpenAI Studio.

  2. Wybierz subskrypcję i zasób OpenAI do pracy.

  3. Wybierz pozycję GPT-3 Playground w górnej części strony docelowej.

  4. Wybierz wdrożenie z listy rozwijanej Wdrożenia . Jeśli zasób nie ma wdrożenia, wybierz pozycję Utwórz wdrożenie , a następnie ponownie zapoznaj się z tym krokiem.

  5. Wybierz pozycję Podsumuj tekst z listy rozwijanej Przykłady .

    Zrzut ekranu przedstawiający stronę placu zabaw programu Azure OpenAI Studio z widocznym wyborem podsumowania tekstu

  6. Wybierz opcję Generate. Usługa Azure OpenAI podejmie próbę przechwycenia kontekstu tekstu i zwięzłego ponownego pisania. Powinien zostać wyświetlony wynik podobny do następującego tekstu:

    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.
    

Dokładność odpowiedzi może się różnić w zależności od modelu. Model oparty na języku Davinci w tym przykładzie jest dobrze dopasowany do tego typu podsumowania, natomiast model oparty na języku Codex nie byłby dobrze sprawdzany w tym konkretnym zadaniu.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

Przykłady pakietu kodu źródłowego | (NuGet)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI Service, wypełniając formularz pod adresem https://aka.ms/oai/access.
  • Bieżąca wersja platformy .NET Core
  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo-instruct . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Tworzenie nowej aplikacji .NET Core

W oknie konsoli (takim jak cmd, PowerShell lub Bash) użyj dotnet new polecenia , aby utworzyć nową aplikację konsolową o nazwie azure-openai-quickstart. To polecenie tworzy prosty projekt "Hello World" z pojedynczym plikiem źródłowym języka C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Zmień katalog na nowo utworzony folder aplikacji. Aplikację można skompilować za pomocą następujących funkcji:

dotnet build

Dane wyjściowe kompilacji nie powinny zawierać żadnych ostrzeżeń ani błędów.

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

Zainstaluj bibliotekę klienta platformy .NET openAI za pomocą następujących funkcji:

dotnet add package Azure.AI.OpenAI --prerelease

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie przykładowej aplikacji

W katalogu projektu otwórz plik program.cs i zastąp ciąg następującym kodem:

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

Ważne

W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

dotnet run program.cs

Wyjście

Chatbot:

Microsoft was founded on April 4, 1975.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Przykłady pakietu kodu źródłowego | (Go)|

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI Service, wypełniając formularz pod adresem https://aka.ms/oai/access.
  • Przejdź do wersji 1.21.0 lub nowszej zainstalowanej lokalnie.
  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo-instuct . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie przykładowej aplikacji

Utwórz nowy plik o nazwie completions.go. Skopiuj następujący kod do pliku completions.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)
	}

}

Ważne

W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

Teraz otwórz wiersz polecenia i uruchom polecenie:

go mod init completions.go

Następny przebieg:

go mod tidy
go run completions.go

Wyjście

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Przykłady artefaktu kodu | źródłowego (Maven)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI Service, wypełniając formularz pod adresem https://aka.ms/oai/access.
  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo-instruct . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji Java

Utwórz nowy projekt Gradle.

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

mkdir myapp && cd myapp

gradle init Uruchom polecenie z katalogu roboczego. To polecenie spowoduje utworzenie podstawowych plików kompilacji dla narzędzia Gradle, w tym pliku build.gradle.kts, który jest używany w czasie wykonywania do tworzenia i konfigurowania aplikacji.

gradle init --type basic

Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.

Instalowanie zestawu Java SDK

W tym przewodniku Szybki start jest używany menedżer zależności narzędzia Gradle. Bibliotekę klienta i informacje dotyczące innych menedżerów zależności można znaleźć w repozytorium centralnym programu Maven.

Znajdź plik build.gradle.kts i otwórz go przy użyciu preferowanego środowiska IDE lub edytora tekstów. Następnie skopiuj poniższą konfigurację kompilacji. Ta konfiguracja definiuje projekt jako aplikację Java, której punktem wejścia jest klasa OpenAIQuickstart. Importuje bibliotekę usługi Azure AI Vision.

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

Tworzenie przykładowej aplikacji

  1. Utwórz plik Java.

    W katalogu roboczym uruchom następujące polecenie, aby utworzyć folder źródłowy projektu:

    mkdir -p src/main/java
    

    Przejdź do nowego folderu i utwórz plik o nazwie GetCompletionsSample.java.

  2. Otwórz GetCompletionsSample.java w preferowanym edytorze lub środowisku IDE i wklej następujący kod.

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

    Ważne

    W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

  3. Wróć do folderu głównego projektu i skompiluj aplikację za pomocą polecenia:

    gradle build
    

    Następnie uruchom go za pomocą gradle run polecenia :

    gradle run
    

Wyjście

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.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Przykład artefaktów kodu | źródłowego (Maven)Sample |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI Service, wypełniając formularz pod adresem https://aka.ms/oai/access.
  • Bieżąca wersja zestawu Java Development Kit (JDK)
  • Narzędzie interfejsu wiersza polecenia platformy Spring Boot
  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Uwaga

Platforma Spring AI domyślnie określa nazwę modelu na gpt-35-turbo. Należy podać SPRING_AI_AZURE_OPENAI_MODEL wartość tylko wtedy, gdy wdrożono model o innej nazwie.

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"

Tworzenie nowej aplikacji Spring

Utwórz nowy projekt Spring.

W oknie powłoki Bash utwórz nowy katalog dla aplikacji i przejdź do niego.

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

spring init Uruchom polecenie z katalogu roboczego. To polecenie tworzy standardową strukturę katalogów dla projektu Spring, w tym główny plik źródłowy klasy Java i plik pom.xml używany do zarządzania projektami opartymi na programie Maven.

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

Wygenerowane pliki i foldery przypominają następującą 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

Edytowanie aplikacji Spring

  1. Edytuj plik pom.xml.

    W katalogu głównym katalogu projektu otwórz plik pom.xml w preferowanym edytorze lub środowisku IDE i zastąp plik następującym zawartością:

    <?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. W folderze src/main/java/com/example/aicompletiondemo otwórz AiCompletionApplication.java w preferowanym edytorze lub środowisku IDE i wklej następujący kod:

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

    Ważne

    W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

  3. Wróć do folderu głównego projektu i uruchom aplikację przy użyciu następującego polecenia:

    ./mvnw spring-boot:run
    

Wyjście

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI

Przykłady pakietu kodu źródłowego | (npm)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI Service, wypełniając formularz pod adresem https://aka.ms/oai/access.
  • Wersje LTS Node.js
  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo-instruct . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init aby utworzyć aplikację węzła z plikiem package.json .

npm init

Instalowanie biblioteki klienta

Zainstaluj bibliotekę klienta azure OpenAI dla języka JavaScript za pomocą narzędzia npm:

npm install @azure/openai

Plik package.json aplikacji zostanie zaktualizowany o zależności.

Tworzenie przykładowej aplikacji

Otwórz wiersz polecenia, w którym utworzono nowy projekt, i utwórz nowy plik o nazwie Completion.js. Skopiuj następujący kod do pliku 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 };

Ważne

W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

Uruchom skrypt za pomocą następującego polecenia:

node.exe Completion.js

Wyjście

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Pakiet kodu | źródłowego biblioteki (PyPi) |

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie

  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure

    Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI, wypełniając formularz pod adresem https://aka.ms/oai/access. Otwórz problem w tym repozytorium, aby skontaktować się z nami, jeśli masz problem.

  • Środowisko Python w wersji 3.8 lub nowszej

  • Następujące biblioteki języka Python: os, requests, json

  • Zasób usługi Azure OpenAI z wdrożonym modelem gpt-35-turbo-instruct . Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Zainstaluj bibliotekę klienta języka Python openAI za pomocą następujących elementów:

pip install openai

Uwaga

Ta biblioteka jest utrzymywana przez interfejs OpenAI i jest obecnie dostępna w wersji zapoznawczej. Zapoznaj się z historią wydania lub historią zatwierdzeń version.py, aby śledzić najnowsze aktualizacje biblioteki.

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebne są następujące elementy:

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Alternatywnie możesz znaleźć wartość w kodzie widoku placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz użyć wartości KEY1 lub KEY2.
DEPLOYMENT-NAME Ta wartość będzie odpowiadać nazwie niestandardowej wybranej dla wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal lub alternatywnie w obszarze Wdrożenia zarządzania>w usłudze Azure OpenAI Studio.

Przejdź do zasobu w witrynie Azure Portal. Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający blok przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji w języku Python

  1. Utwórz nowy plik w języku Python o nazwie quickstart.py. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.

  2. Zastąp zawartość quickstart.py następującym kodem. Zmodyfikuj kod, aby dodać klucz, punkt końcowy i nazwę wdrożenia:

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)

Ważne

W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

  1. Uruchom aplikację za python pomocą polecenia w pliku Szybki start:

    python quickstart.py
    

Wyjście

Dane wyjściowe będą zawierać tekst odpowiedzi po Write a tagline for an ice cream shop. wierszu polecenia. Usługa Azure OpenAI zwrócona The coldest ice cream in town! w tym przykładzie.

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

Uruchom kod jeszcze kilka razy, aby zobaczyć, jakie inne typy odpowiedzi otrzymasz, ponieważ odpowiedź nie zawsze będzie taka sama.

Informacje o wynikach

Ponieważ nasz przykład Write a tagline for an ice cream shop. zawiera niewielki kontekst, normalne jest, że model nie zawsze zwraca oczekiwane wyniki. Możesz dostosować maksymalną liczbę tokenów, jeśli odpowiedź wydaje się nieoczekiwana lub obcięta.

Usługa Azure OpenAI wykonuje również funkcję con tryb namiotu ration na danych wejściowych monitu i wygenerowanych danych wyjściowych. Monity lub odpowiedzi mogą być filtrowane w przypadku wykrycia szkodliwej zawartości. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie

  • Dostęp udzielony usłudze Azure OpenAI w żądanej subskrypcji platformy Azure

    Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI, wypełniając formularz pod adresem https://aka.ms/oai/access. Otwórz problem w tym repozytorium, aby skontaktować się z nami, jeśli masz problem.

  • Środowisko Python w wersji 3.8 lub nowszej

  • Następujące biblioteki języka Python: os, requests, json

  • Zasób usługi Azure OpenAI z wdrożonym modelem. Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie nawiązać połączenie z usługą Azure OpenAI, potrzebne są następujące elementy:

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Wartość tę można też znaleźć w obszarze Azure OpenAI Studio>Środowisko testowe>Widok kodu. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.
DEPLOYMENT-NAME Ta wartość będzie odpowiadać nazwie niestandardowej wybranej dla wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Zarządzanie zasobami>Wdrożenia w witrynie Azure Portal albo w obszarze Zarządzanie>Wdrożenia w usłudze Azure OpenAI Studio.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający blok przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Interfejs API REST

W powłoce bash uruchom następujące polecenie. Musisz zastąpić gpt-35-turbo-instruct ciąg nazwą wdrożenia wybraną podczas wdrażania gpt-35-turbo-instruct modelu. Wprowadzenie nazwy modelu spowoduje błąd, chyba że wybrano nazwę wdrożenia identyczną z bazową nazwą modelu.

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\"}"

Format pierwszego wiersza polecenia z przykładowym punktem końcowym będzie wyświetlany w następujący sposób curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \. Jeśli wystąpi błąd, sprawdź dwukrotnie, aby upewnić się, że nie masz podwojenia / wartości między punktem końcowym i /openai/deployments.

Jeśli chcesz uruchomić to polecenie w normalnym wierszu polecenia systemu Windows, musisz zmienić tekst, aby usunąć \ podziały wierszy i.

Ważne

W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

Wyjście

Dane wyjściowe z interfejsu API uzupełniania będą wyglądać w następujący sposób.

{
    "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
    }
}

Usługa Azure OpenAI wykonuje również con tryb namiotu ration na danych wejściowych monitu i wygenerowanych danych wyjściowych. Monity lub odpowiedzi mogą być filtrowane w przypadku wykrycia szkodliwej zawartości. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

Wymagania wstępne

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebne są następujące elementy:

Nazwa zmiennej Wartość
ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Wartość tę można też znaleźć w obszarze Azure OpenAI Studio>Środowisko testowe>Widok kodu. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.
DEPLOYMENT-NAME Ta wartość będzie odpowiadać nazwie niestandardowej wybranej dla wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Zarządzanie zasobami>Wdrożenia w witrynie Azure Portal albo w obszarze Zarządzanie>Wdrożenia w usłudze Azure OpenAI Studio.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający blok przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Zmienne środowiskowe

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

Tworzenie nowego skryptu programu PowerShell

  1. Utwórz nowy plik programu PowerShell o nazwie quickstart.ps1. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.

  2. Zastąp zawartość pliku quickstart.ps1 następującym kodem. Zmodyfikuj kod, aby dodać klucz, punkt końcowy i nazwę wdrożenia:

    # 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 = '2024-02-01' # 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)"
    

    Ważne

    W środowisku produkcyjnym użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak Zarządzanie wpisami tajnymi programu PowerShell za pomocą usługi Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

  3. Uruchom skrypt przy użyciu programu PowerShell:

    ./quickstart.ps1
    

Wyjście

Dane wyjściowe będą zawierać tekst odpowiedzi po Once upon a time wierszu polecenia. Usługa Azure OpenAI zwrócona There was a world beyond the mist...where a w tym przykładzie.

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

Uruchom kod jeszcze kilka razy, aby zobaczyć, jakie inne typy odpowiedzi otrzymasz, ponieważ odpowiedź nie zawsze będzie taka sama.

Informacje o wynikach

Ponieważ nasz przykład Once upon a time... zawiera niewielki kontekst, normalne jest, że model nie zawsze zwraca oczekiwane wyniki. Możesz dostosować maksymalną liczbę tokenów, jeśli odpowiedź wydaje się nieoczekiwana lub obcięta.

Usługa Azure OpenAI wykonuje również funkcję con tryb namiotu ration na danych wejściowych monitu i wygenerowanych danych wyjściowych. Monity lub odpowiedzi mogą być filtrowane w przypadku wykrycia szkodliwej zawartości. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki