Quickstart: Aan de slag met het genereren van tekst met behulp van de verouderde voltooiings-API
Gebruik dit artikel om aan de slag te gaan met het maken van uw eerste aanroepen naar Azure OpenAI.
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Een Azure OpenAI-resource met een model dat is geïmplementeerd. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Ga naar Azure OpenAI Studio
Navigeer naar Azure OpenAI Studio op https://oai.azure.com/ en meld u aan met referenties die toegang hebben tot uw Azure OpenAI-resource. Selecteer tijdens of na de aanmeldingswerkstroom de juiste map, het Azure-abonnement en de Azure OpenAI-resource.
Navigeer op de landingspagina van Azure OpenAI Studio verder om voorbeelden te verkennen voor het voltooien van aanvragen, uw implementaties en modellen te beheren en leerbronnen te vinden, zoals documentatie en communityforums.
Speelplaats
Begin met het verkennen van azure OpenAI-mogelijkheden met een no-code-benadering via de GPT-3 Playground. Het is gewoon een tekstvak waarin u een prompt kunt indienen om een voltooiing te genereren. Op deze pagina kunt u snel herhalen en experimenteren met de mogelijkheden.
U kunt een implementatie selecteren en kiezen uit enkele vooraf geladen voorbeelden om aan de slag te gaan. Als uw resource geen implementatie heeft, selecteert u Een implementatie maken en volgt u de instructies van de wizard. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
U kunt experimenteren met de configuratie-instellingen, zoals temperatuur en tekst vooraf, om de prestaties van uw taak te verbeteren. Meer informatie over elke parameter vindt u in de REST API.
- Als u de knop Genereren selecteert, wordt de ingevoerde tekst naar de voltooiings-API verzonden en worden de resultaten terug naar het tekstvak gestreamd.
- Selecteer de knop Ongedaan maken om de aanroep van de vorige generatie ongedaan te maken.
- Selecteer de knop Opnieuw genereren om een aanroep ongedaan maken en genereren samen te voltooien.
Azure OpenAI voert ook con tentmodus ration uit op de promptinvoer en gegenereerde uitvoer. De prompts of antwoorden kunnen worden gefilterd als schadelijke inhoud wordt gedetecteerd. Zie het artikel over het inhoudsfilter voor meer informatie.
In de voltooiingsspeeltuin kunt u ook vooraf ingevulde Python- en curl-codevoorbeelden bekijken op basis van uw geselecteerde instellingen. Selecteer Code weergeven naast de vervolgkeuzelijst voorbeelden. U kunt een toepassing schrijven om dezelfde taak te voltooien met de OpenAI Python SDK, curl of andere REST API-client.
Tekstsamenvatting uitproberen
Als u de Azure OpenAI wilt gebruiken voor tekstsamenvatting in de speeltuin Voltooiingen, voert u de volgende stappen uit:
Meld u aan bij Azure OpenAI Studio.
Selecteer het abonnement en openAI-resource waarmee u wilt werken.
Selecteer Voltooiingsspeeltuin op de landingspagina.
Selecteer uw implementatie in de vervolgkeuzelijst Implementaties . Als uw resource geen implementatie heeft, selecteert u Een implementatie maken en gaat u opnieuw naar deze stap.
Voer een prompt in voor het model.
Selecteer
Generate
. Azure OpenAI probeert de context van tekst vast te leggen en deze beknopt te herformuleren. U krijgt een resultaat dat lijkt op de volgende tekst:
De nauwkeurigheid van het antwoord kan per model verschillen. Het gpt-35-turbo-instruct
gebaseerde model in dit voorbeeld is zeer geschikt voor dit type samenvatting, maar over het algemeen raden we u aan de API voor alternatieve chatvoltooiingen te gebruiken, tenzij u een bepaalde use case hebt die bijzonder geschikt is voor de voltooiings-API.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
- Meer informatie over het genereren van de beste voltooiing in onze instructiegids voor voltooiingen.
- Bekijk de GitHub-opslagplaats azure OpenAI-voorbeelden voor meer voorbeelden.
Voorbeelden van broncodepakket | (NuGet) |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van .NET Core
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo-instruct
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Een nieuwe .NET Core-app maken
Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht dotnet new
om een nieuwe console-app te maken met de naam azure-openai-quickstart
. Met deze opdracht maakt u een eenvoudig 'Hallo wereld'-project met één C#-bronbestand: Program.cs.
dotnet new console -n azure-openai-quickstart
Wijzig uw map in de zojuist gemaakte app-map. U kunt de toepassing maken met:
dotnet build
De build-uitvoer mag geen waarschuwingen of fouten bevatten.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installeer de OpenAI .NET-clientbibliotheek met:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Notitie
De voltooiings-API is alleen beschikbaar in versie 1.0.0-beta.17
en eerder van de Azure.AI.OpenAI
clientbibliotheek. Voor de nieuwste 2.0.0
en hogere versie van is de aanbevolen methode voor het genereren van Azure.AI.OpenAI
voltooiingen de API voor chatvoltooiingen te gebruiken.
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Een voorbeeldtoepassing maken
Open in de projectmap het program.cs-bestand en vervang het door de volgende code:
using Azure;
using Azure.AI.OpenAI;
using static System.Environment;
string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
var client = new OpenAIClient(
new Uri(endpoint),
new AzureKeyCredential(key));
CompletionsOptions completionsOptions = new()
{
DeploymentName = "gpt-35-turbo-instruct",
Prompts = { "When was Microsoft founded?" },
};
Response<Completions> completionsResponse = client.GetCompletions(completionsOptions);
string completion = completionsResponse.Value.Choices[0].Text;
Console.WriteLine($"Chatbot: {completion}");
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
dotnet run program.cs
Uitvoer
Chatbot:
Microsoft was founded on April 4, 1975.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
Voorbeelden van broncodepakket | (Go)|
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Go 1.21.0 of hoger lokaal geïnstalleerd.
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo-instuct
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Een voorbeeldtoepassing maken
Maak een nieuw bestand met de naam completions.go. Kopieer de volgende code naar het bestand 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)
}
}
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Open nu een opdrachtprompt en voer het volgende uit:
go mod init completions.go
Volgende uitvoering:
go mod tidy
go run completions.go
Uitvoer
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
Voorbeelden van broncodeartefacten (Maven) | |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van de Java Development Kit (JDK)
- Het hulpprogramma Gradle of een andere afhankelijkheidsbeheerder.
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo-instruct
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Een nieuwe Java-toepassing maken
Maak een nieuw Gradle-project.
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
mkdir myapp && cd myapp
Voer de opdracht gradle init
uit vanuit uw werkmap. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, inclusief build.gradle.kts, dat tijdens runtime wordt gebruikt om de toepassing te maken en te configureren.
gradle init --type basic
Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.
De Java SDK installeren
Deze quickstart maakt gebruik van de Gradle-afhankelijkheidsmanager. U vindt de clientbibliotheek en informatie voor andere afhankelijkheidsbeheerders in de Maven Central Repository.
Zoek build.gradle.kts en open het met uw favoriete IDE of teksteditor. Kopieer het vervolgens in de volgende buildconfiguratie. Deze configuratie definieert het project als een Java-toepassing waarvan het toegangspunt de klasse OpenAIQuickstart is. De Azure AI Vision-bibliotheek wordt geïmporteerd.
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")
}
Een voorbeeldtoepassing maken
Maak een Java-bestand.
Voer de volgende opdracht uit vanuit uw werkmap om een projectbronmap te maken:
mkdir -p src/main/java
Navigeer naar de nieuwe map en maak een bestand met de naam GetCompletionsSample.java.
Open GetCompletionsSample.java in de gewenste editor of IDE en plak de volgende code.
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()); } }
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Ga terug naar de hoofdmap van het project en bouw de app met:
gradle build
Voer het vervolgens uit met de
gradle run
opdracht:gradle run
Uitvoer
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.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
Voorbeeld van broncodeartefacten (Maven) | |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van de Java Development Kit (JDK)
- Het Hulpprogramma Spring Boot CLI
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Notitie
In Spring AI wordt de modelnaam standaard ingesteld op gpt-35-turbo
. Het is alleen nodig om de SPRING_AI_AZURE_OPENAI_MODEL
waarde op te geven als u een model met een andere naam hebt geïmplementeerd.
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"
Een nieuwe Spring-toepassing maken
Maak een nieuw Spring-project.
Maak in een Bash-venster een nieuwe map voor uw app en navigeer ernaartoe.
mkdir ai-completion-demo && cd ai-completion-demo
Voer de opdracht spring init
uit vanuit uw werkmap. Met deze opdracht maakt u een standaardmapstructuur voor uw Spring-project, inclusief het belangrijkste Bronbestand van Java-klasse en het pom.xml-bestand dat wordt gebruikt voor het beheren van op Maven gebaseerde projecten.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
De gegenereerde bestanden en mappen lijken op de volgende structuur:
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
De Spring-toepassing bewerken
Bewerk het pom.xml bestand.
Open vanuit de hoofdmap van de projectmap het pom.xml-bestand in de gewenste editor of IDE en overschrijf het bestand met de volgende inhoud:
<?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>
Open in de map src/main/java/com/example/aicompletiondemo AiCompletionApplication.java in uw favoriete editor of IDE en plak de volgende code:
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())); }); } }
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Ga terug naar de hoofdmap van het project en voer de app uit met behulp van de volgende opdracht:
./mvnw spring-boot:run
Uitvoer
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
Bekijk de GitHub-opslagplaats met Azure OpenAI-voorbeelden voor meer voorbeelden
Voorbeelden van broncodepakket | (npm) |
Notitie
Dit artikel is bijgewerkt om het nieuwste OpenAI npm-pakket te gebruiken dat nu volledig ondersteuning biedt voor Azure OpenAI. Als u op zoek bent naar codevoorbeelden voor de verouderde Azure OpenAI JavaScript SDK, zijn ze momenteel nog steeds beschikbaar in deze opslagplaats.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- LTS-versies van Node.js
- Azure CLI die wordt gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo-instruct
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
De clientbibliotheek installeren
Installeer de vereiste pakketten voor JavaScript met npm vanuit de context van uw nieuwe map:
npm install openai @azure/identity
Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Een voorbeeldtoepassing maken
Open een opdrachtprompt waarin u het nieuwe project hebt gemaakt en maak een nieuw bestand met de naam Completion.js. Kopieer de volgende code naar het Completion.js-bestand.
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 };
Voer het script uit met de volgende opdracht:
node.exe Completion.js
Uitvoer
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Notitie
Als u de fout krijgt: Er is een fout opgetreden: OpenAIError: De apiKey
argumenten sluiten azureADTokenProvider
elkaar wederzijds uit. Er kan slechts één tegelijk worden doorgegeven. Mogelijk moet u een vooraf bestaande omgevingsvariabele voor de API-sleutel uit uw systeem verwijderen. Hoewel het codevoorbeeld microsoft Entra-id niet expliciet verwijst naar de omgevingsvariabele van de API-sleutel, wordt deze fout nog steeds gegenereerd als er een aanwezig is op het systeem dat dit voorbeeld uitvoert.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
Voorbeelden van broncodepakket | (npm) |
Notitie
Dit artikel is bijgewerkt om het nieuwste OpenAI npm-pakket te gebruiken dat nu volledig ondersteuning biedt voor Azure OpenAI. Als u op zoek bent naar codevoorbeelden voor de verouderde Azure OpenAI JavaScript SDK, zijn ze momenteel nog steeds beschikbaar in deze opslagplaats.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- LTS-versies van Node.js
- TypeScript
- Azure CLI die wordt gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-serviceresource met het
gpt-35-turbo-instruct
geïmplementeerde model. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
De clientbibliotheek installeren
Installeer de vereiste pakketten voor JavaScript met npm vanuit de context van uw nieuwe map:
npm install openai @azure/identity
Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Een voorbeeldtoepassing maken
Open een opdrachtprompt waarin u het nieuwe project hebt gemaakt en maak een nieuw bestand met de naam Completion.ts. Kopieer de volgende code naar het Completion.ts-bestand.
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);
});
Bouw het script met de volgende opdracht:
tsc
Voer het script uit met de volgende opdracht:
node.exe Completion.js
Uitvoer
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Notitie
Als u de fout krijgt: Er is een fout opgetreden: OpenAIError: De apiKey
argumenten sluiten azureADTokenProvider
elkaar wederzijds uit. Er kan slechts één tegelijk worden doorgegeven. Mogelijk moet u een vooraf bestaande omgevingsvariabele voor de API-sleutel uit uw systeem verwijderen. Hoewel het codevoorbeeld microsoft Entra-id niet expliciet verwijst naar de omgevingsvariabele van de API-sleutel, wordt deze fout nog steeds gegenereerd als er een aanwezig is op het systeem dat dit voorbeeld uitvoert.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.
Volgende stappen
| Broncodepakket bibliotheek (PyPi) |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Python 3.8 of nieuwere versie
- De volgende Python-bibliotheken: besturingssysteem, aanvragen, json
- Een Azure OpenAI-serviceresource met een
gpt-35-turbo-instruct
model dat is geïmplementeerd. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Installeer de OpenAI Python-clientbibliotheek met:
pip install openai
Notitie
Deze bibliotheek wordt onderhouden door OpenAI. Raadpleeg de releasegeschiedenis om de meest recente updates voor de bibliotheek bij te houden.
Sleutel en eindpunt ophalen
Als u een aanroep wilt maken op basis van de Azure OpenAI-service, hebt u het volgende nodig:
Naam van de variabele | Weergegeven als |
---|---|
ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
DEPLOYMENT-NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal of via de pagina Implementaties in Azure AI Studio. |
Ga naar uw resource in Azure Portal. De sleutels en het eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Een nieuwe Python-toepassing maken
Maak een nieuw Python-bestand met de naam quickstart.py. Open deze vervolgens in uw favoriete editor of IDE.
Vervang de inhoud van quickstart.py door de volgende code. Wijzig de code om uw sleutel, eindpunt en implementatienaam toe te voegen:
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)
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Voer de toepassing uit met de
python
opdracht in uw quickstart-bestand:python quickstart.py
Uitvoer
De uitvoer bevat antwoordtekst na de Write a tagline for an ice cream shop.
prompt. Azure OpenAI is The coldest ice cream in town!
geretourneerd in dit voorbeeld.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Voer de code nog een paar keer uit om te zien welke andere typen antwoorden u krijgt, omdat het antwoord niet altijd hetzelfde is.
Inzicht in uw resultaten
Omdat ons voorbeeld Write a tagline for an ice cream shop.
weinig context biedt, is het normaal dat het model niet altijd verwachte resultaten retourneert. U kunt het maximum aantal tokens aanpassen als het antwoord onverwacht of afgekapt lijkt.
Azure OpenAI voert ook con tentmodus ration uit op de promptinvoer en gegenereerde uitvoer. De prompts of antwoorden kunnen worden gefilterd als schadelijke inhoud wordt gedetecteerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
- Meer informatie over het genereren van de beste voltooiing in onze instructiegids voor voltooiingen.
- Bekijk de GitHub-opslagplaats azure OpenAI-voorbeelden voor meer voorbeelden.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Python 3.8 of nieuwere versie
- De volgende Python-bibliotheken: besturingssysteem, aanvragen, json
- Een Azure OpenAI-resource met een model dat is geïmplementeerd. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Instellingen
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u het volgende nodig:
Naam van de variabele | Waarde |
---|---|
ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
DEPLOYMENT-NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management-implementaties> in Azure Portal of via de pagina Implementaties in Azure AI Studio. |
Ga naar uw resource in Azure Portal. Het eindpunt en de sleutels vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
REST-API
Voer in een bash-shell de volgende opdracht uit. U moet vervangen door gpt-35-turbo-instruct
de implementatienaam die u hebt gekozen bij het implementeren van het gpt-35-turbo-instruct
model. Als u de modelnaam invoert, treedt er een fout op, tenzij u een implementatienaam hebt gekozen die identiek is aan de naam van het onderliggende model.
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\"}"
De indeling van de eerste regel van de opdracht met een voorbeeldeindpunt wordt als volgt curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
weergegeven. Als er een fout wordt weergegeven, controleert u of er geen verdubbeling van de /
scheiding tussen uw eindpunt en /openai/deployments
.
Als u deze opdracht wilt uitvoeren in een normale Windows-opdrachtprompt, moet u de tekst wijzigen om de \
regeleinden te verwijderen.
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Uitvoer
De uitvoer van de voltooiings-API ziet er als volgt uit.
{
"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
}
}
De Azure OpenAI-service voert ook con tentmodus ration uit op de promptinvoer en gegenereerde uitvoer. De prompts of antwoorden kunnen worden gefilterd als schadelijke inhoud wordt gedetecteerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
- Meer informatie over het genereren van de beste voltooiing in onze instructiegids voor voltooiingen.
- Bekijk de GitHub-opslagplaats azure OpenAI-voorbeelden voor meer voorbeelden.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- U kunt de nieuwste versie, PowerShell 7 of Windows PowerShell 5.1 gebruiken.
- Een Azure OpenAI-serviceresource met een model dat is geïmplementeerd. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
Sleutel en eindpunt ophalen
Als u een aanroep wilt maken op basis van de Azure OpenAI-service, hebt u het volgende nodig:
Naam van de variabele | Waarde |
---|---|
ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in Azure AI Studio. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
DEPLOYMENT-NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management-implementaties> in Azure Portal of via de pagina Implementaties in Azure AI Studio. |
Ga naar uw resource in Azure Portal. Het eindpunt en de sleutels vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1
of KEY2
gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Een nieuw PowerShell-script maken
Maak een nieuw PowerShell-bestand met de naam quickstart.ps1. Open deze vervolgens in uw favoriete editor of IDE.
Vervang de inhoud van quickstart.ps1 door de volgende code. Wijzig de code om uw sleutel, eindpunt en implementatienaam toe te voegen:
# 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)"
Belangrijk
Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Het PowerShell-geheimbeheer met Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.
Voer het script uit met behulp van PowerShell:
./quickstart.ps1
Uitvoer
De uitvoer bevat antwoordtekst na de Once upon a time
prompt. Azure OpenAI is There was a world beyond the mist...where a
geretourneerd in dit voorbeeld.
Once upon a time...
There was a world beyond the mist...where a
Voer de code nog een paar keer uit om te zien welke andere typen antwoorden u krijgt, omdat het antwoord niet altijd hetzelfde is.
Inzicht in uw resultaten
Omdat ons voorbeeld Once upon a time...
weinig context biedt, is het normaal dat het model niet altijd verwachte resultaten retourneert. U kunt het maximum aantal tokens aanpassen als het antwoord onverwacht of afgekapt lijkt.
Azure OpenAI voert ook con tentmodus ration uit op de promptinvoer en gegenereerde uitvoer. De prompts of antwoorden kunnen worden gefilterd als schadelijke inhoud wordt gedetecteerd. Zie het artikel over het inhoudsfilter voor meer informatie.
Resources opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Volgende stappen
- Meer informatie over het genereren van de beste voltooiing in onze instructiegids voor voltooiingen.
- Bekijk de GitHub-opslagplaats azure OpenAI-voorbeelden voor meer voorbeelden.