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
- Subskrypcja platformy Azure — utwórz bezpłatnie.
- 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).
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.
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.
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:
Zaloguj się do programu Azure OpenAI Studio.
Wybierz subskrypcję i zasób OpenAI do pracy.
Wybierz pozycję Place zabaw dla ukończenia na stronie docelowej.
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.
Wprowadź monit dotyczący modelu.
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
- Dowiedz się więcej o sposobie generowania najlepszego ukończenia w naszym przewodniku z instrukcjami dotyczącymi uzupełniania.
- 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 | (NuGet)Samples |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- 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 --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.OpenAI
wersji 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.
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
- 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 | (Go)|
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- 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ń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.
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
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI
Przykłady artefaktu kodu | źródłowego (Maven)Samples |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Bieżąca wersja zestawu Java Development Kit (JDK)
- Narzędzie kompilacji narzędzia Gradle lub inny menedżer zależności.
- 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.
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
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.
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.
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
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI
Przykład artefaktów kodu | źródłowego (Maven)Sample |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- 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ń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.
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
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>
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.
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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- 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.
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
- Omówienie usługi Azure OpenAI
- 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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- TypeScript
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- 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.
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
- Omówienie usługi Azure OpenAI
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI
Pakiet kodu | źródłowego biblioteki (PyPi) |
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Ś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. 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.
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
Utwórz nowy plik w języku Python o nazwie quickstart.py. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.
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.
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
- Dowiedz się więcej o sposobie generowania najlepszego ukończenia w naszym przewodniku z instrukcjami dotyczącymi uzupełniania.
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Ś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. 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.
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
- Dowiedz się więcej o sposobie generowania najlepszego ukończenia w naszym przewodniku z instrukcjami dotyczącymi uzupełniania.
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Możesz użyć najnowszej wersji, programu PowerShell 7 lub programu Windows PowerShell 5.1.
- 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).
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.
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
Utwórz nowy plik programu PowerShell o nazwie quickstart.ps1. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.
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.
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
- Dowiedz się więcej o sposobie generowania najlepszego ukończenia w naszym przewodniku z instrukcjami dotyczącymi uzupełniania.
- Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.