Démarrage rapide : commencer la génération de texte en utilisant l’API de saisies semi-automatiques héritée
Utilisez cet article pour commencer à passer vos premiers appels à Azure OpenAI.
Prérequis
- Un abonnement Azure : créez-en un gratuitement.
- Ressource Azure OpenAI avec un modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Accéder à Azure OpenAI Studio
Accédez à Azure OpenAI Studio sur https://oai.azure.com/ et connectez-vous avec les informations d’identification qui ont accès à votre ressource Azure OpenAI. Pendant ou après le flux de travail de connexion, sélectionnez le répertoire approprié, l’abonnement Azure et la ressource Azure OpenAI.
À partir de la page d’accueil d’Azure OpenAI Studio, continuez de naviguer pour explorer des exemples de saisie semi-automatique, gérer vos déploiements et modèles, et trouver des ressources d’apprentissage telles que de la documentation et des forums de la communauté.
Terrain de jeu
Commencez à explorer les fonctionnalités Azure OpenAI avec une approche sans code au moyen du terrain de jeu GPT-3. Il s’agit simplement d’une zone de texte dans laquelle vous pouvez envoyer une invite pour générer une saisie semi-automatique. À partir de cette page, vous pouvez rapidement itérer et expérimenter les fonctionnalités.
Vous pouvez sélectionner un déploiement et choisir parmi quelques exemples préchargés pour commencer. Si votre ressource n’a pas de déploiement, sélectionnez Créer un déploiement et suivez les instructions fournies par l’assistant. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Vous pouvez tester les paramètres de configuration tels que la température et le texte de pré-réponse pour améliorer les performances de votre tâche. Vous pouvez en savoir plus sur chaque paramètre dans l’API REST.
- La sélection du bouton Générer envoie le texte entré à l’API de saisie semi-automatique et renvoie les résultats à la zone de texte.
- Sélectionnez le bouton Annuler pour annuler l’appel de génération précédente.
- Sélectionnez le bouton régénérer pour effectuer un appel d’annulation de génération ensemble.
Azure OpenAI effectue également une modération du contenu sur les entrées d’invite et les sorties générées. Les invites ou les réponses peuvent être filtrées si du contenu nuisible est détecté. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Dans le terrain de jeu Completions, vous pouvez également afficher des exemples de code Python et curl préremplis en fonction des paramètres que vous avez sélectionnés. Sélectionnez simplement Afficher le code en regard de la liste déroulante des exemples. Vous pouvez écrire une application pour effectuer la même tâche avec le kit de développement logiciel (SDK) Python OpenAI, curl ou un autre client d’API REST.
Essayer la synthèse de texte
Si vous souhaitez utiliser Azure OpenAI pour la synthèse de texte dans le terrain de jeu Completions, procédez ainsi :
Connectez-vous à Azure OpenAI Studio.
Sélectionnez l’abonnement et la ressource OpenAI avec laquelle vous souhaitez travailler.
Sélectionnez Terrain de jeux Completions sur la page d’arrivée.
Sélectionnez votre déploiement dans la liste déroulante Déploiements. Si votre ressource n’a pas de déploiement, sélectionnez Créer un déploiement, puis revenez sur cette étape.
Entrez une invite pour le modèle.
Sélectionnez
Generate
. Azure OpenAI va tenter de cerner le contexte du texte et le reformuler succinctement. Vous devez obtenir un résultat qui ressemble au texte suivant :
La précision de la réponse peut varier selon le modèle. Le modèle basé sur gpt-35-turbo-instruct
dans cet exemple est bien adapté à ce type de résumé. Toutefois, nous vous recommandons en général d’utiliser l’API de saisie semi-automatique de conversation alternative, sauf si vous avez un cas d’usage particulier qui est spécialement adapté à l’API de saisie semi-automatique.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Apprenez-en davantage sur la façon de générer la meilleure complétion dans notre guide pratique sur les achèvements.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Code source | Package (NuGet) | Échantillons
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Version actuelle de .NET Core
- Ressource Azure OpenAI Service avec le
gpt-35-turbo-instruct
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Créez une application .NET Core
Dans une fenêtre de console (par exemple cmd, PowerShell ou Bash), utilisez la commande dotnet new
pour créer une application console avec le nom azure-openai-quickstart
. Cette commande crée un projet « Hello World » simple avec un seul fichier source C# : Program.cs.
dotnet new console -n azure-openai-quickstart
Déplacez vos répertoires vers le dossier d’application nouvellement créé. Vous pouvez générer l’application avec :
dotnet build
La sortie de génération ne doit contenir aucun avertissement ni erreur.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installez la bibliothèque de client .NET OpenAI avec :
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Remarque
L’API de complétions est disponible uniquement dans les version 1.0.0-beta.17
et antérieures de la bibliothèque cliente Azure.AI.OpenAI
. Pour la dernière 2.0.0
ainsi que la version ultérieure de Azure.AI.OpenAI
, l’approche recommandée pour générer des complétions consiste à utiliser l’API de complétions de conversations instantanées.
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Créer un exemple d’application
À partir du répertoire du projet, ouvrez le fichier program.cs et remplacez le contenu par le code suivant :
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}");
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
dotnet run program.cs
Sortie
Chatbot:
Microsoft was founded on April 4, 1975.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Pour plus d’exemples, consultez le référentiel GitHub d’échantillons Azure OpenAI
Code source | Package (Go)| Exemples
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Go 1.21.0 ou version ultérieure installé localement.
- Ressource Azure OpenAI Service avec le
gpt-35-turbo-instuct
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Créer un exemple d’application
Créez un fichier nommé completions.go. Copiez le code suivant dans le fichier 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)
}
}
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Ouvrez maintenant une invite de commande et exécutez :
go mod init completions.go
Exécution suivante :
go mod tidy
go run completions.go
Sortie
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Consultez le référentiel GitHub Azure OpenAI Samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Code source | Artifact (Maven) | Échantillons
Prérequis
- Un abonnement Azure - En créer un gratuitement
- La version actuelle du JDK (Java Development Kit)
- L’outil de génération Gradle ou un autre gestionnaire de dépendances.
- Ressource Azure OpenAI Service avec le
gpt-35-turbo-instruct
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Créer une application Java
Créez un projet Gradle.
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.
mkdir myapp && cd myapp
Exécutez la commande gradle init
à partir de votre répertoire de travail. Cette commande crée des fichiers de build essentiels pour Gradle, notamment build.gradle.kts, qui est utilisé au moment de l’exécution pour créer et configurer votre application.
gradle init --type basic
Quand vous êtes invité à choisir un DSL, sélectionnez Kotlin.
Installer le Kit de développement logiciel (SDK) Java
Ce guide de démarrage rapide utilise le gestionnaire de dépendances Gradle. Vous trouverez la bibliothèque de client et des informations concernant d’autres gestionnaires de dépendances sur le référentiel central Maven.
Recherchez build.gradle.kts et ouvrez-le avec votre IDE ou votre éditeur de texte habituel. Copiez-y ensuite la configuration de build suivante. Cette configuration définit le projet sous forme d’application Java dont le point d’entrée est la classe OpenAIQuickstart. Cela importe la bibliothèque Azure AI Vision.
plugins {
java
application
}
application {
mainClass.set("GetCompletionsSample")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
implementation("org.slf4j:slf4j-simple:1.7.9")
}
Créer un exemple d’application
Créez un fichier Java.
Dans votre répertoire de travail, exécutez la commande suivante pour créer un dossier de projet source :
mkdir -p src/main/java
Accédez au nouveau dossier et créez un fichier nommé GetCompletionsSample.java.
Ouvrez GetCompletionsSample.javadans votre éditeur ou IDE préféré et collez le code suivant.
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()); } }
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Revenez au dossier racine du projet et générez l’application avec :
gradle build
Ensuite, exécutez-la avec la commande
gradle run
: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.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Consultez le référentiel GitHub Azure OpenAI Samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Code source | Artefacts (Maven) | Échantillon
Prérequis
- Un abonnement Azure - En créer un gratuitement
- La version actuelle du JDK (Java Development Kit)
- L’outil CLI Spring Boot
- Ressource Azure OpenAI Service avec le
gpt-35-turbo
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
Remarque
Spring AI affecte par défaut le nom du modèle à gpt-35-turbo
. Il n’est nécessaire de fournir la valeur SPRING_AI_AZURE_OPENAI_MODEL
que si vous avez déployé un modèle avec un autre nom.
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"
Créer une application Spring
Créez un projet Spring.
Dans une fenêtre Bash, créez un répertoire pour votre application et accédez-y.
mkdir ai-completion-demo && cd ai-completion-demo
Exécutez la commande spring init
à partir de votre répertoire de travail. Cette commande crée une structure de répertoires standard pour votre projet Spring, y compris le fichier source de classe Java principal et le fichier pom.xml utilisé pour la gestion des projets Maven.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
Les fichiers et dossiers générés ressemblent à la structure suivante :
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
Modifier l’application Spring
Modifiez le fichier pom.xml.
À partir de la racine du répertoire du projet, ouvrez le fichier pom.xml dans votre éditeur ou IDE préféré et remplacez le fichier par le contenu suivant :
<?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>
À partir du dossier src/main/java/com/example/aicompletiondemo, ouvrez AiCompletionApplication.java dans votre éditeur ou IDE préféré et collez le code suivant :
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())); }); } }
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Revenez au dossier racine du projet et exécutez l’application à l’aide de la commande suivante :
./mvnw spring-boot:run
Sortie
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
Consultez le référentiel GitHub Azure OpenAI Samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Code source | Package (npm) | Exemples
Remarque
Cet article a été mis à jour pour utiliser le dernier package npm OpenAI qui prend désormais entièrement en charge Azure OpenAI. Si vous cherchez des exemples de code pour le Kit de développement logiciel (SDK) JavaScript hérité d’Azure OpenAI, ils sont actuellement toujours disponibles dans ce référentiel.
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI Service avec le
gpt-35-turbo-instruct
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.
Installer la bibliothèque de client
Installez les packages requis pour JavaScript avec npm dans le contexte de votre nouveau répertoire :
npm install openai @azure/identity
Le fichier package.json de votre application sera mis à jour avec les dépendances.
Créer un exemple d’application
Ouvrez une invite de commandes à l’emplacement où vous avez créé le projet, puis créez un fichier nommé Completion.js. Copiez le code suivant dans le fichier 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 };
Exécutez le script avec la commande suivante :
node.exe Completion.js
Sortie
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Remarque
Si vous recevez l’erreur Une erreur s’est produite : OpenAIError : les arguments apiKey
et azureADTokenProvider
s’excluent mutuellement ; un seul peut être passé à la fois. Vous devrez peut-être supprimer une variable d’environnement préexistante pour la clé API de votre système. Même si l’exemple de code Microsoft Entra ID ne référence pas explicitement la variable d’environnement de la clé API, s’il en existe une sur le système exécutant cet exemple, cette erreur est quand même générée.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Vue d’ensemble d’Azure OpenAI
- Consultez le référentiel GitHub Azure OpenAI Samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Code source | Package (npm) | Exemples
Remarque
Cet article a été mis à jour pour utiliser le dernier package npm OpenAI qui prend désormais entièrement en charge Azure OpenAI. Si vous cherchez des exemples de code pour le Kit de développement logiciel (SDK) JavaScript hérité d’Azure OpenAI, ils sont actuellement toujours disponibles dans ce référentiel.
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- TypeScript
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI Service avec le
gpt-35-turbo-instruct
modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.
Installer la bibliothèque de client
Installez les packages requis pour JavaScript avec npm dans le contexte de votre nouveau répertoire :
npm install openai @azure/identity
Le fichier package.json de votre application sera mis à jour avec les dépendances.
Créer un exemple d’application
Ouvrez une invite de commandes à l’emplacement où vous avez créé le projet, puis créez un fichier nommé Completion.ts. Copiez le code suivant dans le fichier 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);
});
Exécutez le script en saisissant la commande suivante :
tsc
Exécutez le script avec la commande suivante :
node.exe Completion.js
Sortie
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Remarque
Si vous recevez l’erreur Une erreur s’est produite : OpenAIError : les arguments apiKey
et azureADTokenProvider
s’excluent mutuellement ; un seul peut être passé à la fois. Vous devrez peut-être supprimer une variable d’environnement préexistante pour la clé API de votre système. Même si l’exemple de code Microsoft Entra ID ne référence pas explicitement la variable d’environnement de la clé API, s’il en existe une sur le système exécutant cet exemple, cette erreur est quand même générée.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Vue d’ensemble d’Azure OpenAI
- Consultez le référentiel GitHub Azure OpenAI Samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Code source de la bibliothèque | Package (PyPi) |
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Python 3.8 ou version ultérieure
- Bibliothèques Python suivantes : os, requests, json
- Ressource Azure OpenAI Service avec un modèle
gpt-35-turbo-instruct
déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Installez la bibliothèque de client Python OpenAI avec :
pip install openai
Remarque
Cette bibliothèque est gérée par OpenAI. Reportez-vous à l’historique des versions pour suivre les dernières mises à jour de la bibliothèque.
Récupérer la clé et le point de terminaison
Pour effectuer un appel sur Azure OpenAI Service, vous aurez besoin des éléments suivants :
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
DEPLOYMENT-NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Vous trouverez cette valeur sousGestion des ressources>Modèles de déploiement dans le Portail Azure ou via la page Déploiements dans le portail Azure AI Foundry. |
Accédez à votre ressource sur le portail Azure. Le point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Créer une application Python
Créez un fichier Python appelé quickstart.py. Ensuite, ouvrez-le dans l’éditeur ou l’IDE de votre choix.
Remplacez le contenu du fichier quickstart.py par le code suivant. Modifiez le code pour ajouter votre clé, votre point de terminaison et votre nom de déploiement :
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)
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Exécutez l’application avec la commande
python
de votre fichier de démarrage rapide :python quickstart.py
Sortie
La sortie inclut le texte de réponse suivant l’invite Write a tagline for an ice cream shop.
. Azure OpenAI a retourné The coldest ice cream in town!
dans cet exemple.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Exécutez le code plusieurs fois pour voir quels autres types de réponses vous obtenez, car la réponse ne sera pas toujours la même.
Comprendre votre facture
Étant donné que notre exemple de Write a tagline for an ice cream shop.
fournit peu de contexte, il est normal que le modèle ne retourne pas toujours les résultats attendus. Vous pouvez ajuster le nombre maximal de jetons si la réponse semble inattendue ou tronquée.
Azure OpenAI effectue également une modération du contenu sur les entrées d’invite et les sorties générées. Les invites ou les réponses peuvent être filtrées si un contenu nuisible est détecté. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Apprenez-en davantage sur la façon de générer la meilleure complétion dans notre guide pratique sur les achèvements.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Python 3.8 ou version ultérieure
- Bibliothèques Python suivantes : os, requests, json
- Ressource Azure OpenAI avec un modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Configurer
Récupérer la clé et le point de terminaison
Pour effectuer un appel sur Azure OpenAI, vous aurez besoin des éléments suivants :
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
DEPLOYMENT-NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Vous trouverez cette valeur sousGestion des ressources>Déploiements dans le Portail Azure ou via la page Déploiements dans le portail Azure AI Foundry. |
Accédez à votre ressource sur le portail Azure. Le Point de terminaison et les Clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
API REST
Dans un interpréteur de commandes bash, exécutez la commande suivante. Vous devez remplacer gpt-35-turbo-instruct
par le nom de déploiement que vous avez choisi lors du déploiement du modèle gpt-35-turbo-instruct
. L’entrée du nom du modèle entraîne une erreur, sauf si vous avez choisi un nom de déploiement identique au nom du modèle sous-jacent.
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\"}"
Le format de la première ligne de la commande avec un exemple de point final serait le suivant curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
. Si vous rencontrez une erreur, vérifiez à nouveau que vous n'avez pas un doublement de la /
à la séparation entre votre point final et /openai/deployments
.
Si vous souhaitez exécuter cette commande dans une invite de commandes Windows normale, vous devez modifier le texte pour supprimer les \
et le sauts de ligne.
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Output
La sortie de l’API de saisie semi-automatique se présente comme suit.
{
"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 Service effectue également une modération du contenu sur les entrées d’invite et les sorties générées. Les invites ou les réponses peuvent être filtrées si du contenu nuisible est détecté. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Apprenez-en davantage sur la façon de générer la meilleure complétion dans notre guide pratique sur les achèvements.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Prérequis
- Un abonnement Azure - En créer un gratuitement
- Vous pouvez utiliser la dernière version, PowerShell 7, ou Windows PowerShell 5.1.
- Ressource Azure OpenAI Service avec un modèle déployé. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
Récupérer la clé et le point de terminaison
Pour effectuer un appel sur le service Azure OpenAI, vous aurez besoin des éléments suivants :
Nom de la variable | Valeur |
---|---|
ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/ . |
API-KEY |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1 , soit KEY2 . |
DEPLOYMENT-NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Vous trouverez cette valeur sousGestion des ressources>Déploiements dans le Portail Azure ou via la page Déploiements dans le portail Azure AI Foundry. |
Accédez à votre ressource sur le portail Azure. Le Point de terminaison et les Clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1
, soit KEY2
. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Créer un script PowerShell
Créez un fichier PowerShell nommé quickstart.ps1. Ensuite, ouvrez-le dans l’éditeur ou l’IDE de votre choix.
Remplacez le contenu du fichier quickstart.ps1 par le code suivant. Modifiez le code pour ajouter votre clé, votre point de terminaison et votre nom de déploiement :
# 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)"
Important
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification, comme La gestion des secrets PowerShell dans Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez l’article de sécurité Azure AI services.
Exécutez le script à l’aide de PowerShell :
./quickstart.ps1
Sortie
La sortie inclut le texte de réponse suivant l’invite Once upon a time
. Azure OpenAI a retourné There was a world beyond the mist...where a
dans cet exemple.
Once upon a time...
There was a world beyond the mist...where a
Exécutez le code plusieurs fois pour voir quels autres types de réponses vous obtenez, car la réponse ne sera pas toujours la même.
Comprendre votre facture
Étant donné que notre exemple de Once upon a time...
fournit peu de contexte, il est normal que le modèle ne retourne pas toujours les résultats attendus. Vous pouvez ajuster le nombre maximal de jetons si la réponse semble inattendue ou tronquée.
Azure OpenAI effectue également une modération du contenu sur les entrées d’invite et les sorties générées. Les invites ou les réponses peuvent être filtrées si du contenu nuisible est détecté. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Apprenez-en davantage sur la façon de générer la meilleure complétion dans notre guide pratique sur les achèvements.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.