Guia de início rápido: comece a gerar texto usando a API de conclusão herdada
Use este artigo para começar a fazer suas primeiras chamadas para o Azure OpenAI.
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente.
- Um recurso OpenAI do Azure com um modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Ir para o Azure OpenAI Studio
Navegue até Azure OpenAI Studio em https://oai.azure.com/ e entre com credenciais que têm acesso ao seu recurso do Azure OpenAI. Durante ou após o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso do Azure OpenAI.
Na página inicial do Azure OpenAI Studio, navegue mais para explorar exemplos para conclusão imediata, gerenciar suas implantações e modelos e encontrar recursos de aprendizagem, como documentação e fóruns da comunidade.
Parque Infantil
Comece a explorar os recursos do Azure OpenAI com uma abordagem sem código por meio do GPT-3 Playground. É simplesmente uma caixa de texto onde você pode enviar um prompt para gerar uma conclusão. Nesta página, você pode iterar e experimentar rapidamente os recursos.
Você pode selecionar uma implantação e escolher entre alguns exemplos pré-carregados para começar. Se o recurso não tiver uma implantação, selecione Criar uma implantação e siga as instruções fornecidas pelo assistente. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Você pode experimentar as definições de configuração, como temperatura e texto de pré-resposta, para melhorar o desempenho da tarefa. Você pode ler mais sobre cada parâmetro na API REST.
- Selecionar o botão Gerar enviará o texto inserido para a API de conclusão e transmitirá os resultados de volta para a caixa de texto.
- Selecione o botão Desfazer para desfazer a chamada da geração anterior.
- Selecione o botão Regenerar para concluir uma chamada de desfazer e gerar juntos.
O Azure OpenAI também executa a moderação de conteúdo nas entradas de prompt e saídas geradas. As solicitações ou respostas podem ser filtradas se for detetado conteúdo nocivo. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.
No playground Completions você também pode visualizar exemplos de código Python e curl pré-preenchidos de acordo com suas configurações selecionadas. Basta selecionar Ver código ao lado da lista suspensa de exemplos. Você pode escrever um aplicativo para concluir a mesma tarefa com o OpenAI Python SDK, curl ou outro cliente de API REST.
Experimente o resumo de texto
Para usar o Azure OpenAI para resumo de texto no playground de Conclusão, siga estas etapas:
Entre no Azure OpenAI Studio.
Selecione a assinatura e o recurso OpenAI para trabalhar.
Selecione Finalizações playground na página de destino.
Selecione sua implantação na lista suspensa Implantações . Se o recurso não tiver uma implantação, selecione Criar uma implantação e revisite esta etapa.
Insira um prompt para o modelo.
Selecione
Generate
. O Azure OpenAI tentará capturar o contexto do texto e reformulá-lo de forma sucinta. Você deve obter um resultado semelhante ao seguinte texto:
A precisão da resposta pode variar de acordo com o modelo. O gpt-35-turbo-instruct
modelo baseado neste exemplo é adequado para esse tipo de resumo, embora, em geral, recomendemos o uso da API de conclusão de chat alternativa, a menos que você tenha um caso de uso específico que seja particularmente adequado para a API de conclusão.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Saiba mais sobre como gerar a melhor conclusão em nosso guia de instruções sobre conclusão.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Pacote de código-fonte (NuGet) | Amostras |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- A versão atual do .NET Core
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo-instruct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Criar uma nova aplicação .NET Core
Em uma janela de console (como cmd, PowerShell ou Bash), use o dotnet new
comando para criar um novo aplicativo de console com o nome azure-openai-quickstart
. Este comando cria um projeto "Hello World" simples com um único arquivo de origem C#: Program.cs.
dotnet new console -n azure-openai-quickstart
Altere seu diretório para a pasta do aplicativo recém-criada. Você pode criar o aplicativo com:
dotnet build
A saída da compilação não deve conter avisos ou erros.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Instale a biblioteca de cliente OpenAI .NET com:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Nota
A API de conclusão só está disponível na versão 1.0.0-beta.17
e anterior da Azure.AI.OpenAI
biblioteca do cliente. Para a versão mais recente 2.0.0
e superior do , a abordagem recomendada para gerar conclusões é usar a API de conclusão de Azure.AI.OpenAI
chat.
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um aplicativo de exemplo
No diretório do projeto, abra o arquivo program.cs e substitua pelo seguinte código:
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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
dotnet run program.cs
Saída
Chatbot:
Microsoft was founded on April 4, 1975.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI
Pacote de código | fonte (Go)| Amostras
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Go 1.21.0 ou superior instalado localmente.
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo-instuct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um aplicativo de exemplo
Crie um novo arquivo chamado completions.go. Copie o código a seguir para o arquivo 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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Agora abra um prompt de comando e execute:
go mod init completions.go
Próxima execução:
go mod tidy
go run completions.go
Saída
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Código | fonte Artifact (Maven)Samples |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- A versão atual do Java Development Kit (JDK)
- A ferramenta de compilação Gradle ou outro gerenciador de dependência.
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo-instruct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma nova aplicação Java
Crie um novo projeto Gradle.
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.
mkdir myapp && cd myapp
Execute o comando a gradle init
partir do seu diretório de trabalho. Este comando criará arquivos de compilação essenciais para o Gradle, incluindo build.gradle.kts, que é usado em tempo de execução para criar e configurar seu aplicativo.
gradle init --type basic
Quando solicitado a escolher uma DSL, selecione Kotlin.
Instalar o Java SDK
Este guia de início rápido usa o gerenciador de dependência do Gradle. Você pode encontrar a biblioteca do cliente e informações para outros gerenciadores de dependência no Maven Central Repository.
Localize build.gradle.kts e abra-o com o seu IDE ou editor de texto preferido. Em seguida, copie na seguinte configuração de compilação. Esta configuração define o projeto como uma aplicação Java cujo ponto de entrada é a classe OpenAIQuickstart. Ele importa a biblioteca do 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")
}
Criar um aplicativo de exemplo
Crie um arquivo Java.
No diretório de trabalho, execute o seguinte comando para criar uma pasta de origem do projeto:
mkdir -p src/main/java
Navegue até a nova pasta e crie um arquivo chamado GetCompletionsSample.java.
Abra GetCompletionsSample.java em seu editor ou IDE preferido e cole no código a seguir.
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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Navegue de volta para a pasta raiz do projeto e crie o aplicativo com:
gradle build
Em seguida, execute-o com o
gradle run
comando:gradle run
Saída
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.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Código-fonte Artefatos (Maven) | Exemplo |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- A versão atual do Java Development Kit (JDK)
- A ferramenta CLI do Spring Boot
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
Nota
O Spring AI padroniza o nome do modelo como gpt-35-turbo
. Só é necessário fornecer o SPRING_AI_AZURE_OPENAI_MODEL
valor se você tiver implantado um modelo com um nome diferente.
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"
Criar um novo aplicativo Spring
Crie um novo projeto Spring.
Em uma janela Bash, crie um novo diretório para seu aplicativo e navegue até ele.
mkdir ai-completion-demo && cd ai-completion-demo
Execute o comando a spring init
partir do seu diretório de trabalho. Este comando cria uma estrutura de diretórios padrão para seu projeto Spring, incluindo o arquivo de origem da classe Java principal e o arquivo pom.xml usado para gerenciar projetos baseados no Maven.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
Os arquivos e pastas gerados se assemelham à seguinte estrutura:
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
Editar o aplicativo Spring
Edite o arquivo pom.xml .
Na raiz do diretório do projeto, abra o arquivo pom.xml em seu editor ou IDE preferido e substitua o arquivo pelo seguinte conteúdo:
<?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>
Na pasta src/main/java/com/example/aicompletiondemo , abra AiCompletionApplication.java em seu editor ou IDE preferido e cole o seguinte código:
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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Navegue de volta para a pasta raiz do projeto e execute o aplicativo usando o seguinte comando:
./mvnw spring-boot:run
Saída
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Pacote de código-fonte (npm) | Amostras |
Nota
Este artigo foi atualizado para usar o pacote npm OpenAI mais recente, que agora suporta totalmente o Azure OpenAI. Se você estiver procurando exemplos de código para o SDK JavaScript do Azure OpenAI herdado, eles ainda estão disponíveis neste repositório.
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Versões LTS do Node.js
- CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo-instruct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.
Instalar a biblioteca de cliente
Instale os pacotes necessários para JavaScript com npm a partir do contexto do seu novo diretório:
npm install openai @azure/identity
O arquivo de package.json do seu aplicativo será atualizado com as dependências.
Criar um aplicativo de exemplo
Abra um prompt de comando onde você criou o novo projeto e crie um novo arquivo chamado Completion.js. Copie o código a seguir para o arquivo 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 };
Execute o script com o seguinte comando:
node.exe Completion.js
Saída
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Nota
Se você receber o erro: Ocorreu um erro: OpenAIError: Os apiKey
argumentos e azureADTokenProvider
são mutuamente exclusivos, apenas um pode ser passado de cada vez. Talvez seja necessário remover uma variável de ambiente pré-existente para a chave API do seu sistema. Mesmo que o exemplo de código de ID do Microsoft Entra não esteja fazendo referência explícita à variável de ambiente de chave de API, se uma estiver presente no sistema que executa essa amostra, esse erro ainda será gerado.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Visão geral do Azure OpenAI
- Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Pacote de código-fonte (npm) | Amostras |
Nota
Este artigo foi atualizado para usar o pacote npm OpenAI mais recente, que agora suporta totalmente o Azure OpenAI. Se você estiver procurando exemplos de código para o SDK JavaScript do Azure OpenAI herdado, eles ainda estão disponíveis neste repositório.
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Versões LTS do Node.js
- TypeScript
- CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do Serviço OpenAI do Azure com o
gpt-35-turbo-instruct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Value |
---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.
Instalar a biblioteca de cliente
Instale os pacotes necessários para JavaScript com npm a partir do contexto do seu novo diretório:
npm install openai @azure/identity
O arquivo de package.json do seu aplicativo será atualizado com as dependências.
Criar um aplicativo de exemplo
Abra um prompt de comando onde você criou o novo projeto e crie um novo arquivo chamado Completion.ts. Copie o código a seguir para o arquivo 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);
});
Crie o script com o seguinte comando:
tsc
Execute o script com o seguinte comando:
node.exe Completion.js
Saída
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Nota
Se você receber o erro: Ocorreu um erro: OpenAIError: Os apiKey
argumentos e azureADTokenProvider
são mutuamente exclusivos, apenas um pode ser passado de cada vez. Talvez seja necessário remover uma variável de ambiente pré-existente para a chave API do seu sistema. Mesmo que o exemplo de código de ID do Microsoft Entra não esteja fazendo referência explícita à variável de ambiente de chave de API, se uma estiver presente no sistema que executa essa amostra, esse erro ainda será gerado.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Visão geral do Azure OpenAI
- Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Pacote de código-fonte | da biblioteca (PyPi) |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Python 3.8 ou versão posterior
- As seguintes bibliotecas Python: os, requests, json
- Um recurso do Serviço OpenAI do Azure com um
gpt-35-turbo-instruct
modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Instale a biblioteca de cliente OpenAI Python com:
pip install openai
Nota
Esta biblioteca é mantida pela OpenAI. Consulte o histórico de versões para acompanhar as atualizações mais recentes da biblioteca.
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Serviço OpenAI do Azure, você precisará do seguinte:
Nome da variável | Value |
---|---|
ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Implantações de Modelo de Gerenciamento de>Recursos no portal do Azure ou por meio da página Implantações no portal do Azure AI Foundry. |
Vá para o seu recurso no portal do Azure. As chaves e o ponto de extremidade podem ser encontrados na seção Gerenciamento de recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma aplicação Python nova
Crie um novo arquivo Python chamado quickstart.py. Em seguida, abra-o no seu editor ou IDE preferido.
Substitua o conteúdo do quickstart.py pelo código a seguir. Modifique o código para adicionar sua chave, ponto de extremidade e nome de implantação:
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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Execute o aplicativo com o
python
comando em seu arquivo de início rápido:python quickstart.py
Saída
A saída incluirá texto de resposta após o Write a tagline for an ice cream shop.
prompt. O Azure OpenAI retornou The coldest ice cream in town!
neste exemplo.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Execute o código mais algumas vezes para ver que outros tipos de respostas você obtém, pois a resposta nem sempre será a mesma.
Compreender os seus resultados
Como nosso exemplo fornece Write a tagline for an ice cream shop.
pouco contexto, é normal que o modelo nem sempre retorne os resultados esperados. Você pode ajustar o número máximo de tokens se a resposta parecer inesperada ou truncada.
O Azure OpenAI também executa a moderação de conteúdo nas entradas de prompt e saídas geradas. As solicitações ou respostas podem ser filtradas se for detetado conteúdo nocivo. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Saiba mais sobre como gerar a melhor conclusão em nosso guia de instruções sobre conclusão.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Python 3.8 ou versão posterior
- As seguintes bibliotecas Python: os, requests, json
- Um recurso OpenAI do Azure com um modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisará do seguinte:
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Implantações de Gerenciamento de>Recursos no portal do Azure ou por meio da página Implantações no portal do Azure AI Foundry. |
Vá para o seu recurso no portal do Azure. O Ponto de Extremidade e as Chaves podem ser encontrados na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
API REST
Em um shell bash, execute o seguinte comando. Você precisará substituir gpt-35-turbo-instruct
pelo nome de implantação escolhido quando implantou o gpt-35-turbo-instruct
modelo. Inserir o nome do modelo resultará em um erro, a menos que você escolha um nome de implantação idêntico ao nome do modelo subjacente.
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\"}"
O formato da sua primeira linha do comando com um exemplo de ponto de extremidade apareceria da seguinte forma curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
. Se você encontrar um erro, verifique duas vezes para se certificar de que você não tem uma duplicação do /
na separação entre seu ponto de extremidade e /openai/deployments
.
Se você quiser executar esse comando em um prompt de comando normal do Windows, será necessário alterar o texto para remover as quebras de \
linha e .
Importante
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Saída
A saída da API de conclusão terá a seguinte aparência.
{
"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
}
}
O Serviço OpenAI do Azure também executa a moderação de conteúdo nas entradas de prompt e saídas geradas. As solicitações ou respostas podem ser filtradas se for detetado conteúdo nocivo. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Saiba mais sobre como gerar a melhor conclusão em nosso guia de instruções sobre conclusão.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Você pode usar a versão mais recente, o PowerShell 7 ou o Windows PowerShell 5.1.
- Um recurso do Serviço OpenAI do Azure com um modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no serviço Azure OpenAI, você precisará do seguinte:
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
DEPLOYMENT-NAME |
Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Implantações de Gerenciamento de>Recursos no portal do Azure ou por meio da página Implantações no portal do Azure AI Foundry. |
Vá para o seu recurso no portal do Azure. O Ponto de Extremidade e as Chaves podem ser encontrados na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Criar um novo script do PowerShell
Crie um novo arquivo do PowerShell chamado quickstart.ps1. Em seguida, abra-o no seu editor ou IDE preferido.
Substitua o conteúdo de quickstart.ps1 pelo código a seguir. Modifique o código para adicionar sua chave, ponto de extremidade e nome de implantação:
# 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
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Gerenciamento Secreto do PowerShell com o Cofre de Chaves do Azure. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Execute o script usando o PowerShell:
./quickstart.ps1
Saída
A saída incluirá texto de resposta após o Once upon a time
prompt. O Azure OpenAI retornou There was a world beyond the mist...where a
neste exemplo.
Once upon a time...
There was a world beyond the mist...where a
Execute o código mais algumas vezes para ver que outros tipos de respostas você obtém, pois a resposta nem sempre será a mesma.
Compreender os seus resultados
Como nosso exemplo fornece Once upon a time...
pouco contexto, é normal que o modelo nem sempre retorne os resultados esperados. Você pode ajustar o número máximo de tokens se a resposta parecer inesperada ou truncada.
O Azure OpenAI também executa a moderação de conteúdo nas entradas de prompt e saídas geradas. As solicitações ou respostas podem ser filtradas se for detetado conteúdo nocivo. Para obter mais informações, consulte o artigo sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Saiba mais sobre como gerar a melhor conclusão em nosso guia de instruções sobre conclusão.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.