Udostępnij za pośrednictwem


Szybki start: rozpoczynanie generowania tekstu przy użyciu starszego interfejsu API uzupełniania

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

Wymagania wstępne

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 usługi Azure 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.

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 ukończenia można również wyświetlić przykłady kodu python i curl wstępnie wypełnione 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 na potrzeby podsumowania tekstu na placu zabaw ukończenia, 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ę Place zabaw dla ukończenia na stronie 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. Wprowadź monit dotyczący modelu.

    Zrzut ekranu przedstawiający stronę placu zabaw programu Azure OpenAI Studio z przykładem 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:

Dokładność odpowiedzi może się różnić w zależności od modelu. Model gpt-35-turbo-instruct oparty w tym przykładzie jest dobrze dostosowany do tego typu podsumowania, jednak ogólnie zalecamy użycie interfejsu API uzupełniania alternatywnych czatów, chyba że masz konkretny przypadek użycia, który jest szczególnie odpowiedni dla interfejsu API uzupełniania.

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

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 --version 1.0.0-beta.17

Uwaga

Interfejs API uzupełniania jest dostępny tylko w wersji 1.0.0-beta.17 i starszej Azure.AI.OpenAI wersji biblioteki klienta. W przypadku najnowszej 2.0.0 i nowszej Azure.AI.OpenAIwersji programu zalecane jest użycie interfejsu API uzupełniania czatów.

Pobieranie klucza i punktu końcowego

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

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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

Konfiguruj

Pobieranie klucza i punktu końcowego

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

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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"
	"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 := azcore.NewKeyCredential(azureOpenAIKey)

	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)),
		DeploymentName: &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

  • 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ńcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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

Konfiguruj

Pobieranie klucza i punktu końcowego

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

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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 |

Uwaga

Ten artykuł został zaktualizowany w celu użycia najnowszego pakietu npm openAI, który teraz w pełni obsługuje usługę Azure OpenAI. Jeśli szukasz przykładów kodu dla starszego zestawu SDK języka JavaScript usługi Azure OpenAI, są one obecnie nadal dostępne w tym repozytorium.

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

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

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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.

Instalowanie biblioteki klienta

Zainstaluj wymagane pakiety dla języka JavaScript za pomocą narzędzia npm z poziomu kontekstu nowego katalogu:

npm install openai @azure/identity

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 { AzureOpenAI } = require("openai");
const { 
  DefaultAzureCredential, 
  getBearerTokenProvider 
} = require("@azure/identity");

// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
const apiVersion = "2024-04-01-preview";
const deployment = "gpt-35-turbo-instruct"; //The deployment name for your completions API model. The instruct model is the only new model that supports the legacy API.

// keyless authentication    
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);

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

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

  const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment });  

  const result = await client.completions.create({ prompt, model: deployment, max_tokens: 128 });

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

main().catch((err) => {
  console.error("Error occurred:", err);
});

module.exports = { main };

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

node.exe Completion.js

Wyjście

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Uwaga

Jeśli wystąpi błąd: Wystąpił błąd: OpenAIError: apiKey argumenty i azureADTokenProvider wzajemnie się wykluczają; jednocześnie można przekazać tylko jeden argument. Może być konieczne usunięcie istniejącej zmiennej środowiskowej dla klucza interfejsu API z systemu. Mimo że przykładowy kod Microsoft Entra ID nie odwołuje się jawnie do zmiennej środowiskowej klucza interfejsu API, jeśli jest obecny w systemie wykonującym ten przykład, ten błąd będzie nadal generowany.

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 | (npm)Samples |

Uwaga

Ten artykuł został zaktualizowany w celu użycia najnowszego pakietu npm openAI, który teraz w pełni obsługuje usługę Azure OpenAI. Jeśli szukasz przykładów kodu dla starszego zestawu SDK języka JavaScript usługi Azure OpenAI, są one obecnie nadal dostępne w tym repozytorium.

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

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

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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.

Instalowanie biblioteki klienta

Zainstaluj wymagane pakiety dla języka JavaScript za pomocą narzędzia npm z poziomu kontekstu nowego katalogu:

npm install openai @azure/identity

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.ts. Skopiuj następujący kod do pliku Completion.ts.

import { 
  DefaultAzureCredential, 
  getBearerTokenProvider 
} from "@azure/identity";
import { AzureOpenAI } from "openai";
import { type Completion } from "openai/resources/index";

// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";

// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-08-01-preview";
const deploymentName = "gpt-35-turbo-instruct";

// keyless authentication    
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);

// Chat prompt and max tokens
const prompt = ["When was Microsoft founded?"];
const maxTokens = 128;

function getClient(): AzureOpenAI {
  return new AzureOpenAI({
    endpoint,
    azureADTokenProvider,
    apiVersion,
    deployment: deploymentName,
  });
}
async function getCompletion(
  client: AzureOpenAI,
  prompt: string[],
  max_tokens: number
): Promise<Completion> {
  return client.completions.create({
    prompt,
    model: "",
    max_tokens,
  });
}
async function printChoices(completion: Completion): Promise<void> {
  for (const choice of completion.choices) {
    console.log(choice.text);
  }
}
export async function main() {
  console.log("== Get completions Sample ==");

  const client = getClient();
  const completion = await getCompletion(client, prompt, maxTokens);
  await printChoices(completion);
}

main().catch((err) => {
  console.error("Error occurred:", err);
});

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

tsc

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

node.exe Completion.js

Wyjście

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Uwaga

Jeśli wystąpi błąd: Wystąpił błąd: OpenAIError: apiKey argumenty i azureADTokenProvider wzajemnie się wykluczają; jednocześnie można przekazać tylko jeden argument. Może być konieczne usunięcie istniejącej zmiennej środowiskowej dla klucza interfejsu API z systemu. Mimo że przykładowy kod Microsoft Entra ID nie odwołuje się jawnie do zmiennej środowiskowej klucza interfejsu API, jeśli jest obecny w systemie wykonującym ten przykład, ten błąd będzie nadal generowany.

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

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. Zapoznaj się z historią wydania, aby śledzić najnowsze aktualizacje biblioteki.

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI Service, 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. Punkt końcowy można również znaleźć na stronie Wdrożenia w usłudze Azure AI 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 za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Zmienne środowiskowe

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

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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

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. Punkt końcowy można również znaleźć na stronie Wdrożenia w usłudze Azure AI 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.
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 zarządzania>zasobami w witrynie Azure Portal lub za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Zmienne środowiskowe

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

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

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. Punkt końcowy można również znaleźć na stronie Wdrożenia w usłudze Azure AI 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.
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 zarządzania>zasobami w witrynie Azure Portal lub za pośrednictwem strony Wdrożenia w usłudze Azure AI 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.

Zmienne środowiskowe

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

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

$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