Snabbstart: Kom igång generera text med hjälp av API:et för äldre slutföranden
Använd den här artikeln för att komma igång med dina första anrop till Azure OpenAI.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt.
- En Azure OpenAI-resurs med en distribuerad modell. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Gå till Azure OpenAI Studio
Gå till Azure OpenAI Studio vid https://oai.azure.com/ och logga in med autentiseringsuppgifter som har åtkomst till din Azure OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.
Från Azure OpenAI Studio-landningssidan går du vidare för att utforska exempel för snabb slutförande, hantera dina distributioner och modeller och hitta utbildningsresurser som dokumentation och communityforum.
Lekplats
Börja utforska Azure OpenAI-funktioner med en metod utan kod via GPT-3 Playground. Det är bara en textruta där du kan skicka en uppmaning för att generera ett slutförande. Från den här sidan kan du snabbt iterera och experimentera med funktionerna.
Du kan välja en distribution och välja bland några förinstallerade exempel för att komma igång. Om resursen inte har någon distribution väljer du Skapa en distribution och följer anvisningarna i guiden. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Du kan experimentera med konfigurationsinställningarna, till exempel temperatur och text före svar för att förbättra aktivitetens prestanda. Du kan läsa mer om varje parameter i REST-API:et.
- Om du väljer knappen Generera skickas den angivna texten till API:et för slutförande och resultatet strömmas tillbaka till textrutan.
- Välj knappen Ångra för att ångra det tidigare generationsanropet.
- Välj knappen Återskapa för att slutföra ett ångra- och generationsanrop tillsammans.
Azure OpenAI utför även con tältläge ration på promptindata och genererade utdata. Uppmaningar eller svar kan filtreras om skadligt innehåll identifieras. Mer information finns i artikeln om innehållsfilter .
På lekplatsen För slutföranden kan du också visa Python- och curlkodexempel ifyllda i förväg enligt de valda inställningarna. Välj bara Visa kod bredvid listrutan exempel. Du kan skriva ett program för att slutföra samma uppgift med OpenAI Python SDK, curl eller annan REST API-klient.
Prova textsammanfattning
Följ dessa steg om du vill använda Azure OpenAI för textsammanfattning i Lekplatsen För slutföranden:
Logga in på Azure OpenAI Studio.
Välj den prenumeration och OpenAI-resurs som du vill arbeta med.
Välj Completions playground (Slutförd lekplats ) på landningssidan.
Välj din distribution i listrutan Distributioner . Om resursen inte har någon distribution väljer du Skapa en distribution och går sedan tillbaka till det här steget.
Ange en fråga för modellen.
Välj
Generate
. Azure OpenAI försöker samla in kontexten för text och formulera om den kortfattat. Du bör få ett resultat som liknar följande text:
Svarets noggrannhet kan variera beroende på modell. Den gpt-35-turbo-instruct
baserade modellen i det här exemplet passar bra för den här typen av sammanfattning, men i allmänhet rekommenderar vi att du använder API:et för alternativa chattavslut om du inte har ett särskilt användningsfall som passar särskilt bra för API:et för slutföranden.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
- Läs mer om hur du genererar bästa möjliga slutförande i vår guide om slutföranden.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Exempel på källkodspaket (NuGet) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av .NET Core
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo-instruct
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Skapa en ny .NET Core-app
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new
kommandot för att skapa en ny konsolapp med namnet azure-openai-quickstart
. Det här kommandot skapar ett enkelt "Hello World"-projekt med en enda C#-källfil: Program.cs.
dotnet new console -n azure-openai-quickstart
Ändra katalogen till den nyligen skapade appmappen. Du kan skapa programmet med:
dotnet build
Kompileringsutdata får inte innehålla några varningar eller fel.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installera OpenAI .NET-klientbiblioteket med:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Kommentar
API:et för slutföranden är endast tillgängligt i version 1.0.0-beta.17
och tidigare av Azure.AI.OpenAI
klientbiblioteket. För den senaste 2.0.0
och högre versionen av Azure.AI.OpenAI
är den rekommenderade metoden för att generera slutföranden att använda API:et för chattavslut.
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett exempelprogram
Öppna filen program.cs från projektkatalogen och ersätt med följande kod:
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}");
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
dotnet run program.cs
Output
Chatbot:
Microsoft was founded on April 4, 1975.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Exempel på källkodspaket (Go)| |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Gå till 1.21.0 eller senare installerat lokalt.
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo-instuct
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett exempelprogram
Skapa en ny fil med namnet completions.go. Kopiera följande kod till filen 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)
}
}
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Öppna nu en kommandotolk och kör:
go mod init completions.go
Nästa körning:
go mod tidy
go run completions.go
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Exempel på källkodsartefakt (Maven) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Java Development Kit (JDK)
- Build-verktyget Gradle eller en annan beroendehanterare.
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo-instruct
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Java-program
Skapa ett nytt Gradle-projekt.
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp && cd myapp
Kör kommandot från arbetskatalogen gradle init
. Det här kommandot skapar viktiga byggfiler för Gradle, inklusive build.gradle.kts, som används vid körning för att skapa och konfigurera ditt program.
gradle init --type basic
Välj en DSL när du uppmanas till det och välj Kotlin.
Installera Java SDK
Den här snabbstarten använder Gradle-beroendehanteraren. Du hittar klientbiblioteket och information för andra beroendehanterare på Den centrala Maven-lagringsplatsen.
Leta upp build.gradle.kts och öppna det med önskad IDE eller textredigerare . Kopiera sedan i följande byggkonfiguration. Den här konfigurationen definierar projektet som ett Java-program vars startpunkt är klassen OpenAIQuickstart. Den importerar Azure AI Vision-biblioteket.
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")
}
Skapa ett exempelprogram
Skapa en Java-fil.
Från arbetskatalogen kör du följande kommando för att skapa en projektkällmapp:
mkdir -p src/main/java
Gå till den nya mappen och skapa en fil med namnet GetCompletionsSample.java.
Öppna GetCompletionsSample.java i önskad redigerare eller IDE och klistra in följande 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()); } }
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Gå tillbaka till projektrotmappen och skapa appen med:
gradle build
Kör den sedan med
gradle run
kommandot :gradle run
Output
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.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Exempel på källkodsartefakter (Maven) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Java Development Kit (JDK)
- Spring Boot CLI-verktyget
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Kommentar
Spring AI standardmodellnamnet till gpt-35-turbo
. Det är bara nödvändigt att ange SPRING_AI_AZURE_OPENAI_MODEL
värdet om du har distribuerat en modell med ett annat namn.
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"
Skapa ett nytt Spring-program
Skapa ett nytt Spring-projekt.
I ett Bash-fönster skapar du en ny katalog för din app och navigerar till den.
mkdir ai-completion-demo && cd ai-completion-demo
Kör kommandot från arbetskatalogen spring init
. Det här kommandot skapar en standardkatalogstruktur för ditt Spring-projekt, inklusive huvudkällfilen för Java-klassen och den pom.xml fil som används för att hantera Maven-baserade projekt.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
De genererade filerna och mapparna liknar följande 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
Redigera Spring-programmet
Redigera filen pom.xml .
Öppna filen pom.xml i önskad redigerare eller IDE från roten i projektkatalogen och skriv över filen med följande innehåll:
<?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>
Från mappen src/main/java/com/example/aicompletiondemo öppnar du AiCompletionApplication.java i önskad redigerare eller IDE och klistrar in följande 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())); }); } }
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Gå tillbaka till projektrotmappen och kör appen med hjälp av följande kommando:
./mvnw spring-boot:run
Output
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.5)
2023-11-07T12:47:46.126-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...
Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Exempel på källkodspaket (npm) | |
Kommentar
Den här artikeln har uppdaterats för att använda det senaste OpenAI npm-paketet som nu har fullt stöd för Azure OpenAI. Om du letar efter kodexempel för äldre Azure OpenAI JavaScript SDK är de för närvarande fortfarande tillgängliga på den här lagringsplatsen.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo-instruct
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
Installera klientbiblioteket
Installera de nödvändiga paketen för JavaScript med npm från kontexten för din nya katalog:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Skapa ett exempelprogram
Öppna en kommandotolk där du skapade det nya projektet och skapa en ny fil med namnet Completion.js. Kopiera följande kod till filen 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 };
Kör skriptet med följande kommando:
node.exe Completion.js
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Kommentar
Om du får felet: Felet inträffade: OpenAIError: Argumenten apiKey
och azureADTokenProvider
är ömsesidigt uteslutande, endast en kan skickas åt gången. Du kan behöva ta bort en befintlig miljövariabel för API-nyckeln från systemet. Även om Microsoft Entra ID-kodexemplet inte uttryckligen refererar till API-nyckelmiljövariabeln genereras det här felet om det finns en i systemet som kör det här exemplet.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Översikt över Azure OpenAI
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Exempel på källkodspaket (npm) | |
Kommentar
Den här artikeln har uppdaterats för att använda det senaste OpenAI npm-paketet som nu har fullt stöd för Azure OpenAI. Om du letar efter kodexempel för äldre Azure OpenAI JavaScript SDK är de för närvarande fortfarande tillgängliga på den här lagringsplatsen.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- TypeScript
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI Service-resurs med modellen
gpt-35-turbo-instruct
distribuerad. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
Installera klientbiblioteket
Installera de nödvändiga paketen för JavaScript med npm från kontexten för din nya katalog:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Skapa ett exempelprogram
Öppna en kommandotolk där du skapade det nya projektet och skapa en ny fil med namnet Completion.ts. Kopiera följande kod till filen 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);
});
Skapa skriptet med följande kommando:
tsc
Kör skriptet med följande kommando:
node.exe Completion.js
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Kommentar
Om du får felet: Felet inträffade: OpenAIError: Argumenten apiKey
och azureADTokenProvider
är ömsesidigt uteslutande, endast en kan skickas åt gången. Du kan behöva ta bort en befintlig miljövariabel för API-nyckeln från systemet. Även om Microsoft Entra ID-kodexemplet inte uttryckligen refererar till API-nyckelmiljövariabeln genereras det här felet om det finns en i systemet som kör det här exemplet.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Översikt över Azure OpenAI
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Paket för bibliotekskällkod | (PyPi) |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.8 eller senare version
- Följande Python-bibliotek: os, begäranden, json
- En Azure OpenAI Service-resurs med en
gpt-35-turbo-instruct
distribuerad modell. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Installera OpenAI Python-klientbiblioteket med:
pip install openai
Kommentar
Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI-tjänsten behöver du följande:
Variabelnamn | Värde |
---|---|
ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
DEPLOYMENT-NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal eller via sidan Distributioner i Azure AI Studio. |
Gå till resursen i Azure Portal. Nycklar och slutpunkt finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Python-program
Skapa en ny Python-fil med namnet quickstart.py. Öppna den sedan i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod. Ändra koden för att lägga till din nyckel, slutpunkt och distributionsnamn:
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)
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Kör programmet med
python
kommandot i snabbstartsfilen:python quickstart.py
Output
Utdata innehåller svarstext efter uppmaningen Write a tagline for an ice cream shop.
. Azure OpenAI returnerades The coldest ice cream in town!
i det här exemplet.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Kör koden några gånger till för att se vilka andra typer av svar du får eftersom svaret inte alltid är detsamma.
Förstå dina resultat
Eftersom vårt exempel på Write a tagline for an ice cream shop.
ger lite kontext är det normalt att modellen inte alltid returnerar förväntade resultat. Du kan justera det maximala antalet token om svaret verkar oväntat eller trunkerat.
Azure OpenAI utför även con tältläge ration på promptindata och genererade utdata. Uppmaningarna eller svaren kan filtreras om skadligt innehåll identifieras. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
- Läs mer om hur du genererar bästa möjliga slutförande i vår guide om slutföranden.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.8 eller senare version
- Följande Python-bibliotek: os, begäranden, json
- En Azure OpenAI-resurs med en distribuerad modell. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du följande:
Variabelnamn | Värde |
---|---|
ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du hittar även slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
DEPLOYMENT-NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsdistributioner> i Azure Portal eller via sidan Distributioner i Azure AI Studio. |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
REST-API
Kör följande kommando i ett bash-gränssnitt. Du måste ersätta gpt-35-turbo-instruct
med det distributionsnamn du valde när du distribuerade gpt-35-turbo-instruct
modellen. Om du anger modellnamnet uppstår ett fel om du inte väljer ett distributionsnamn som är identiskt med det underliggande modellnamnet.
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\"}"
Formatet för den första raden i kommandot med en exempelslutpunkt visas på följande sätt curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
. Om du stöter på ett fel kontrollerar du att du inte har en fördubbling av /
vid separationen mellan slutpunkten och /openai/deployments
.
Om du vill köra det här kommandot i en vanlig Windows-kommandotolk måste du ändra texten för att ta bort radbrytningarna \
och .
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Output
Utdata från API:et för slutföranden ser ut så här.
{
"id": "ID of your call",
"object": "text_completion",
"created": 1675444965,
"model": "gpt-35-turbo-instruct",
"choices": [
{
"text": " there lived in a little village a woman who was known as the meanest",
"index": 0,
"finish_reason": "length",
"logprobs": null
}
],
"usage": {
"completion_tokens": 16,
"prompt_tokens": 3,
"total_tokens": 19
}
}
Azure OpenAI-tjänsten utför även con tältläge ration på promptindata och genererade utdata. Uppmaningar eller svar kan filtreras om skadligt innehåll identifieras. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
- Läs mer om hur du genererar bästa möjliga slutförande i vår guide om slutföranden.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Du kan använda antingen den senaste versionen, PowerShell 7 eller Windows PowerShell 5.1.
- En Azure OpenAI Service-resurs med en distribuerad modell. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI-tjänsten behöver du följande:
Variabelnamn | Värde |
---|---|
ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du hittar även slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
DEPLOYMENT-NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsdistributioner> i Azure Portal eller via sidan Distributioner i Azure AI Studio. |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Skapa ett nytt PowerShell-skript
Skapa en ny PowerShell-fil med namnet quickstart.ps1. Öppna den sedan i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.ps1 med följande kod. Ändra koden för att lägga till din nyckel, slutpunkt och distributionsnamn:
# 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)"
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som PowerShell Secret Management med Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Kör skriptet med PowerShell:
./quickstart.ps1
Output
Utdata innehåller svarstext efter uppmaningen Once upon a time
. Azure OpenAI returnerades There was a world beyond the mist...where a
i det här exemplet.
Once upon a time...
There was a world beyond the mist...where a
Kör koden några gånger till för att se vilka andra typer av svar du får eftersom svaret inte alltid är detsamma.
Förstå dina resultat
Eftersom vårt exempel på Once upon a time...
ger lite kontext är det normalt att modellen inte alltid returnerar förväntade resultat. Du kan justera det maximala antalet token om svaret verkar oväntat eller trunkerat.
Azure OpenAI utför även con tältläge ration på promptindata och genererade utdata. Uppmaningar eller svar kan filtreras om skadligt innehåll identifieras. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
- Läs mer om hur du genererar bästa möjliga slutförande i vår guide om slutföranden.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.