Inicio rápido: Introducción a la generación de texto mediante la API de finalizaciones heredadas
Use este artículo para empezar a realizar sus primeras llamadas a Azure OpenAI.
Prerrequisitos
- Una suscripción a Azure (cree una cuenta gratuita).
- Un recurso de Azure OpenAI con un modelo implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Vaya a Azure OpenAI Studio.
Vaya a Azure OpenAI Studio en https://oai.azure.com/ e inicie sesión con credenciales que le permitan acceder al recurso de Azure OpenAI. Durante o después del flujo de trabajo de inicio de sesión, seleccione el directorio, la suscripción de Azure y el recurso de Azure OpenAI adecuados.
En la página de inicio de Azure OpenAI Studio, navegue más allá para explorar ejemplos de finalización rápida, administrar las implementaciones y los modelos, y buscar recursos de aprendizaje, como documentación y foros de la comunidad.
Área de juegos
Comience a explorar las funcionalidades de OpenAI con un enfoque sin código a través del área de juegos GPT-3. Se trata simplemente de un cuadro de texto donde puede enviar un mensaje para generar una finalización. Desde esta página puede iterar y experimentar rápidamente con las funcionalidades.
Puede seleccionar una implementación y elegir entre algunos ejemplos cargados previamente para empezar. Si el recurso no tiene una implementación, seleccione Crear una implementación y siga las instrucciones proporcionadas por el asistente. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Puede experimentar con las opciones de configuración como la temperatura y respuesta previa para mejorar el rendimiento de la tarea. Puede encontrar más información sobre cada parámetro la API de REST.
- Al seleccionar el botón Generar, se enviará el texto especificado a la API de finalizaciones y se transmitirán los resultados de vuelta al cuadro de texto.
- Seleccione el botón Deshacer para deshacer la llamada de generación anterior.
- Seleccione el botón Regenerar para realizar una llamada de generación y reversión juntas.
El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para más información, consulte artículo de filtro de contenido.
En el área de juegos de finalizaciones, también puede ver ejemplos de código de Python y curl rellenados previamente según la configuración seleccionada. Solo tiene que seleccionar Ver código junto a la lista desplegable de ejemplos. Puede escribir una aplicación para completar la misma tarea con el SDK de Python de OpenAI, curl u otro cliente de API de REST.
Pruebar el resumen de texto
Para usar Azure OpenAI para el resumen de texto en el área de juegos de finalizaciones, siga estos pasos:
Inicie sesión en Azure OpenAI Studio.
Seleccione la suscripción y el recurso de OpenAI con los que quiere trabajar.
Seleccione Área de juegos de finalizaciones en la página de aterrizaje.
Seleccione la implementación en la lista desplegable Implementaciones. Si el recurso no tiene una implementación, seleccione Crear una implementación y vuelva a consultar este paso.
Escriba un mensaje para el modelo.
Seleccione
Generate
. Azure OpenAI intentará comprender el contexto del texto y parafrasearlo de forma concisa. Debe obtener un resultado similar al texto siguiente:
La precisión de la respuesta puede variar según el modelo. El modelo basado en gpt-35-turbo-instruct
de este ejemplo se adapta bien a este tipo de resumen, aunque en general se recomienda usar la API alternativa de finalizaciones de chat a menos que tenga un caso de uso particular que se adapte especialmente a la API de finalizaciones.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.
Pasos siguientes
- Más información sobre cómo generar la mejor finalización en nuestra guía paso a paso sobre las finalizaciones.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Código fuente | Paquete (NuGet) | Muestras
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La versión actual de .NET Core
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo-instruct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Creación de una aplicación de .NET Core
En una ventana de consola (por ejemplo, cmd, PowerShell o Bash), use el comando dotnet new
para crear una nueva aplicación de consola con el nombre azure-openai-quickstart
. Este comando crea un sencillo proyecto "Hola mundo" con un solo archivo de origen de C#: Program.cs.
dotnet new console -n azure-openai-quickstart
Cambie el directorio a la carpeta de aplicaciones recién creada. Para compilar la aplicación:
dotnet build
La salida de la compilación no debe contener advertencias ni errores.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Instalar la biblioteca cliente de OpenAI .NET con:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Nota:
La API de finalizaciones solo está disponible en la versión 1.0.0-beta.17
y las versiones anteriores de la biblioteca cliente de Azure.AI.OpenAI
. Para la versión más reciente de 2.0.0
y posterior de Azure.AI.OpenAI
, el enfoque recomendado para generar finalizaciones es usar la API de finalizaciones de chat.
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Crear una aplicación de ejemplo
En el directorio del proyecto, abra el archivo program.cs y reemplácelo con el código siguiente:
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}");
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
dotnet run program.cs
Output
Chatbot:
Microsoft was founded on April 4, 1975.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero debe eliminar los modelos implementados.
Pasos siguientes
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Código fuente | Paquete (Go)| Muestras
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Go 1.21.0 o posterior instalado localmente.
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo-instuct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Crear una aplicación de ejemplo
Cree un nuevo archivo llamado completions.go. Copie el código siguiente en el archivo 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)
}
}
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Ahora abra un símbolo del sistema y ejecute:
go mod init completions.go
Próxima ejecución:
go mod tidy
go run completions.go
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Código fuente | Artefacto (Maven) | Muestras
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La última versión de Java Development Kit (JDK)
- La herramienta de compilación de Gradle u otro administrador de dependencias.
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo-instruct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Creación de una aplicación Java
Cree un proyecto de Gradle.
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
mkdir myapp && cd myapp
Ejecute el comando gradle init
desde el directorio de trabajo. Este comando creará archivos de compilación esenciales para Gradle, como build.gradle.kts, que se usa en tiempo de ejecución para crear y configurar la aplicación.
gradle init --type basic
Cuando se le solicite que elija un DSL, seleccione Kotlin.
Instalación del SDK de Java
En este inicio rápido se usa el administrador de dependencias Gradle. Puede encontrar la biblioteca de cliente y la información de otros administradores de dependencias en el repositorio central de Maven.
Busque build.gradle.kts y ábralo con el IDE o el editor de texto que prefiera. A continuación, cópielo en la siguiente configuración de compilación. Esta configuración define el proyecto como una aplicación Java cuyo punto de entrada es la clase OpenAIQuickstart. Importa la biblioteca de Visión de Azure AI.
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")
}
Crear una aplicación de ejemplo
Cree un archivo de Java.
En el directorio de trabajo, ejecute el siguiente comando para crear una carpeta de origen del proyecto:
mkdir -p src/main/java
Vaya a la nueva carpeta y cree un archivo llamado GetCompletionsSample.java.
Abra GetCompletionsSample.java en el editor o IDE que prefiera y pegue el código siguiente.
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()); } }
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Vuelva a la carpeta raíz del proyecto y compile la aplicación con:
gradle build
A continuación, ejecútela con el comando
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.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Código fuente | Artifacts (Maven) | Muestra
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La última versión de Java Development Kit (JDK)
- Herramienta de la CLI de Spring Boot
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Nota:
Spring AI tiene como valor predeterminado el nombre del modelo en gpt-35-turbo
. Solo es necesario proporcionar el valor SPRING_AI_AZURE_OPENAI_MODEL
si ha implementado un modelo con otro nombre.
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"
Creación de una nueva aplicación de Spring
Cree un nuevo proyecto de Spring.
En una ventana de Bash, cree un nuevo directorio para la aplicación y diríjase a él.
mkdir ai-completion-demo && cd ai-completion-demo
Ejecute el comando spring init
desde el directorio de trabajo. Este comando crea una estructura de directorio estándar para el proyecto de Spring, incluido el archivo de origen de la clase Java principal y el archivo pom.xml que se usa para administrar proyectos basados en Maven.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
Los archivos y carpetas generados son similares a la estructura siguiente:
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
Edición de la aplicación Spring
Edite el archivo pom.xml.
Desde la raíz del directorio del proyecto, abra el archivo pom.xml en su editor o IDE preferido y sobrescriba el archivo con el siguiente contenido:
<?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>
En la carpeta src/main/java/com/example/aicompletiondemo, abra AiCompletionApplication.java en el editor o IDE preferidos y pegue el código siguiente:
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())); }); } }
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Vuelva a la carpeta raíz del proyecto y ejecute la aplicación mediante el comando siguiente:
./mvnw spring-boot:run
Output
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.5)
2023-11-07T12:47:46.126-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...
Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Código fuente | Paquete (npm) | Muestras
Nota:
Este artículo se ha actualizado para usar el paquete OpenAI npm más reciente que ahora es totalmente compatible con Azure OpenAI. Si busca ejemplos de código para el SDK de JavaScript de Azure OpenAI heredado, estos siguen estando disponibles en este repositorio.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Versiones de LTS de Node.js
- La CLI de Azure se ha usado para la autenticación sin contraseña en un entorno de desarrollo local, cree el contexto necesario iniciando sesión con la CLI de Azure.
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo-instruct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
Instalación de la biblioteca cliente
Instale los paquetes necesarios de JavaScript con npm desde el contexto del nuevo directorio:
npm install openai @azure/identity
El archivo package.json de la aplicación se actualizará con las dependencias.
Crear una aplicación de ejemplo
Abra un símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado Completion.js. Copie el código siguiente en el archivo 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 };
Ejecute el script con el siguiente comando:
node.exe Completion.js
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Nota:
Si recibe el error: Se ha producido un error: OpenAIError: los argumentos apiKey
y azureADTokenProvider
son mutuamente excluyentes; solo se puede pasar uno cada vez. Es posible que tenga que quitar una variable de entorno preexistente para la clave de API del sistema. Aunque el ejemplo de código de Microsoft Entra ID no hace referencia explícitamente a la variable de entorno de clave de API, si hay uno presente en el sistema que ejecuta este ejemplo, se seguirá generando este error.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Introducción a Azure OpenAI
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Código fuente | Paquete (npm) | Muestras
Nota:
Este artículo se ha actualizado para usar el paquete OpenAI npm más reciente que ahora es totalmente compatible con Azure OpenAI. Si busca ejemplos de código para el SDK de JavaScript de Azure OpenAI heredado, estos siguen estando disponibles en este repositorio.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Versiones de LTS de Node.js
- TypeScript
- La CLI de Azure se ha usado para la autenticación sin contraseña en un entorno de desarrollo local, cree el contexto necesario iniciando sesión con la CLI de Azure.
- Un recurso de Azure OpenAI Service con el modelo
gpt-35-turbo-instruct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.
Nombre de la variable | Valor |
---|---|
ENDPOINT |
El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
Instalación de la biblioteca cliente
Instale los paquetes necesarios de JavaScript con npm desde el contexto del nuevo directorio:
npm install openai @azure/identity
El archivo package.json de la aplicación se actualizará con las dependencias.
Crear una aplicación de ejemplo
Abra un símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado Completion.ts. Copie el código siguiente en el archivo Completion.js.
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);
});
Compile el script con el siguiente comando:
tsc
Ejecute el script con el siguiente comando:
node.exe Completion.js
Output
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Nota:
Si recibe el error: Se ha producido un error: OpenAIError: los argumentos apiKey
y azureADTokenProvider
son mutuamente excluyentes; solo se puede pasar uno cada vez. Es posible que tenga que quitar una variable de entorno preexistente para la clave de API del sistema. Aunque el ejemplo de código de Microsoft Entra ID no hace referencia explícitamente a la variable de entorno de clave de API, si hay uno presente en el sistema que ejecuta este ejemplo, se seguirá generando este error.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Introducción a Azure OpenAI
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Código fuente de la biblioteca | Paquete (PyPi) |
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Python 3.8 o una versión posterior
- Las siguientes librerías de Python: os, requests, json
- Un recurso de Azure OpenAI Service con un modelo
gpt-35-turbo-instruct
implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Instalar la biblioteca cliente de OpenAI Python con:
pip install openai
Nota:
OpenAI mantiene esta biblioteca. Consulte el historial de versiones para realizar el seguimiento de las actualizaciones más recientes de la biblioteca.
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada a Azure OpenAI Service, necesitará lo siguiente:
Nombre de la variable | Valor |
---|---|
ENDPOINT |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. También puede encontrar el punto de conexión a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá al nombre personalizado que eligió para la implementación al implementar un modelo. Este valor se puede encontrar en Administración de recursos>Implementaciones de modelos en Azure Portal o a través de la página Implementaciones en el portal de Azure AI Foundry. |
Vaya al recurso en Azure Portal. Las claves y el punto de conexión se pueden encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Creación de una nueva aplicación de Python
Cree un nuevo archivo de Python denominado quickstart.py. A continuación, ábralo en el editor o IDE preferidos.
Reemplace el contenido de quickstart-file.py por el código siguiente. Modifique el código para agregar la clave, el punto de conexión y el nombre de implementación:
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)
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Ejecute la aplicación con el comando
python
en el archivo de inicio rápido:python quickstart.py
Resultados
La salida incluirá texto de respuesta que sigue a la solicitud Write a tagline for an ice cream shop.
. Azure OpenAI ha devuelto The coldest ice cream in town!
en este ejemplo.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Ejecute el código varias veces más para ver qué otros tipos de respuestas obtiene, ya que la respuesta no siempre será la misma.
Descripción de los resultados
Dado que nuestro ejemplo de Write a tagline for an ice cream shop.
proporciona poco contexto, es normal que el modelo no devuelva siempre los resultados esperados. Puede ajustar el número máximo de tokens si la respuesta parece inesperada o truncada.
El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.
Pasos siguientes
- Más información sobre cómo generar la mejor finalización en nuestra guía paso a paso sobre las finalizaciones.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Python 3.8 o una versión posterior
- Las siguientes librerías de Python: os, requests, json
- Un recurso de Azure OpenAI con un modelo implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Configuración
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada a Azure OpenAI, necesitará lo siguiente:
Nombre de la variable | Valor |
---|---|
ENDPOINT |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. También puede encontrar el punto de conexión a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá al nombre personalizado que eligió para la implementación al implementar un modelo. Este valor se puede encontrar en Administración de recursos>Implementaciones en Azure Portal o a través de la página Implementaciones en el portal de Azure AI Foundry. |
Vaya al recurso en Azure Portal. El punto de conexión y las claves se pueden encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
API DE REST
En un shell de Bash, ejecute el siguiente comando. Debe reemplazar gpt-35-turbo-instruct
por el nombre de implementación que eligió cuando implementó el modelo gpt-35-turbo-instruct
. Si escribe el nombre del modelo, se producirá un error a menos que elija un nombre de implementación idéntico al nombre del modelo subyacente.
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\"}"
El formato de su primera línea del comando con un ejemplo de punto de conexión aparecería como se indica en curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
. Si encuentra un error, compruebe de nuevo para asegurarse de que no tenga duplicado el /
en la separación entre su punto de conexión y /openai/deployments
.
Si desea ejecutar este comando en un símbolo del sistema normal de Windows, tendría que modificar el texto para quitar \
y los saltos de línea.
Importante
En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Salida
La salida de la API de finalizaciones tendrá el siguiente aspecto.
{
"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
}
}
El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.
Pasos siguientes
- Más información sobre cómo generar la mejor finalización en nuestra guía paso a paso sobre las finalizaciones.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Puede utilizar la versión más reciente, PowerShell 7 o Windows PowerShell 5.1.
- Un recurso de Azure OpenAI Service con un modelo implementado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
Recuperación de la clave y el punto de conexión
Para realizar correctamente una llamada en el servicio Azure OpenAI, necesitará lo siguiente:
Nombre de la variable | Valor |
---|---|
ENDPOINT |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. También puede encontrar el punto de conexión a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá al nombre personalizado que eligió para la implementación al implementar un modelo. Este valor se puede encontrar en Administración de recursos>Implementaciones en Azure Portal o a través de la página Implementaciones en el portal de Azure AI Foundry. |
Vaya al recurso en Azure Portal. El punto de conexión y las claves se pueden encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1
o KEY2
. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.
Variables de entorno
Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Creación de un script de PowerShell
Cree un nuevo archivo de PowerShell denominado quickstart.ps1. A continuación, ábralo en el editor o IDE preferidos.
Reemplace el contenido de quickstart.ps1 por el código siguiente. Modifique el código para agregar la clave, el punto de conexión y el nombre de implementación:
# 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)"
Importante
En entornos de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como PowerShell Secret Management con Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Ejecute el script con PowerShell:
./quickstart.ps1
Salida
La salida incluirá texto de respuesta que sigue a la solicitud Once upon a time
. Azure OpenAI ha devuelto There was a world beyond the mist...where a
en este ejemplo.
Once upon a time...
There was a world beyond the mist...where a
Ejecute el código varias veces más para ver qué otros tipos de respuestas obtiene, ya que la respuesta no siempre será la misma.
Descripción de los resultados
Dado que nuestro ejemplo de Once upon a time...
proporciona poco contexto, es normal que el modelo no devuelva siempre los resultados esperados. Puede ajustar el número máximo de tokens si la respuesta parece inesperada o truncada.
El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.
Pasos siguientes
- Más información sobre cómo generar la mejor finalización en nuestra guía paso a paso sobre las finalizaciones.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.