Partilhar via


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

Ir para o Azure AI Foundry

Navegue até o portal do Azure AI Foundry e entre com credenciais que têm acesso ao seu recurso do Azure OpenAI. Durante ou após o processo de início de sessão, selecione o diretório apropriado, a assinatura do Azure e o recurso do Azure OpenAI.

Parque Infantil

Comece a explorar os recursos do Azure OpenAI com uma abordagem sem código por meio do playground de conclusões. É simplesmente uma caixa de texto onde você pode enviar um prompt para gerar uma conclusão. Nesta página, podes iterar e experimentar rapidamente as funcionalidades.

Captura de tela da página do playground do AI Foundry playground com seções em destaque.

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 simultaneamente uma operação de desfazer e geração.

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 caixa 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 Completações, siga estas etapas:

  1. Inicie sessão no portal do Azure AI Foundry.

  2. Selecione a assinatura e o recurso OpenAI para utilizar.

  3. Selecione Completions playground na página inicial.

  4. Selecione a sua implementação no menu Implantações. Se o recurso não tiver uma implantação, selecione Criar uma implantação e revisite esta etapa.

  5. Insira um prompt para o modelo.

    Captura de ecrã da área de experimentação do Azure AI Foundry com um exemplo de resumo de texto.

  6. 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.

Limpeza de 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

|

Pré-requisitos

Configurar

Criar uma nova aplicação .NET Core

Numa janela de consola (como cmd, PowerShell ou Bash), utilize o comando dotnet new para criar uma nova aplicação de consola 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

Observação

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 de Azure.AI.OpenAI, a abordagem recomendada para gerar conclusões é usar a API de conclusões de chat.

Recuperar a chave e o endpoint

Para efetuar uma chamada com êxito no Azure OpenAI, necessita de um endpoint e de uma chave.

Nome da variável Valor
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, pode encontrar o endpoint através 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã da interface de utilizador de visão geral de um recurso OpenAI do Azure no portal do Azure, com a localização do ponto de extremidade e das chaves de acesso assinalada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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 este artigo de segurança .

dotnet run Program.cs

Resultado

Chatbot:

Microsoft was founded on April 4, 1975.

Limpeza de 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

Código fonte | Pacote (Go)| Amostras

Pré-requisitos

Configurar

Recuperar a chave e o endpoint

Para efetuar uma chamada com êxito no Azure OpenAI, necessita de um endpoint e de uma chave.

Nome da variável Valor
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, pode encontrar o endpoint através 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã da interface de utilizador de visão geral de um recurso OpenAI do Azure no portal do Azure, com a localização do ponto de extremidade e das chaves de acesso assinalada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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 este artigo de segurança .

Agora abra um prompt de comando e execute:

go mod init completions.go

Próxima corrida:

go mod tidy
go run completions.go

Resultado

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Limpeza de 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

Código fonte | Artifact (Maven) | Exemplos

Pré-requisitos

  • Um recurso de Azure OpenAI em Azure AI Foundry Models com o modelo gpt-35-turbo-instruct implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.

Configurar

Recuperar a chave e o endpoint

Para efetuar uma chamada com êxito no Azure OpenAI, necessita de um endpoint e de uma chave.

Nome da variável Valor
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, pode encontrar o endpoint através 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã da interface de utilizador de visão geral de um recurso OpenAI do Azure no portal do Azure, com a localização do ponto de extremidade e das chaves de acesso assinalada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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 gradle init a 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 a 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

  1. 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.

  2. 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 este artigo de segurança .

  3. 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
    

Resultado

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.

Limpeza de 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

Código-fonte | Artefactos (Maven) | Exemplo

Pré-requisitos

Configurar

Recuperar a chave e o endpoint

Para efetuar uma chamada com êxito no Azure OpenAI, necessita de um endpoint e de uma chave.

Nome da variável Valor
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, pode encontrar o endpoint através 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã da interface de utilizador de visão geral de um recurso OpenAI do Azure no portal do Azure, com a localização do ponto de extremidade e das chaves de acesso assinalada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se você usar uma chave de API, armazene-a com segurança no Cofre de Chaves do Azure. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Observação

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 spring init a 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

  1. 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.3.4</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>
            <spring-ai.version>1.0.0-M5</spring-ai.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.ai</groupId>
                    <artifactId>spring-ai-bom</artifactId>
                    <version>${spring-ai.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    </project>
    
  2. 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 org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.ai.chat.client.ChatClient;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    
    @SpringBootApplication
    public class AiCompletionApplication {
    
        private static final Logger log = LoggerFactory.getLogger(AiCompletionApplication.class);
    
        public static void main(String[] args) {
            SpringApplication.run(AiCompletionApplication.class, args);
        }
    
        @Bean
        CommandLineRunner commandLineRunner(ChatClient.Builder builder) {
            return args -> {
                    var chatClient = builder.build();
                    log.info("Sending completion prompt to AI service. One moment please...");
                    var response = chatClient.prompt()
                            .user("When was Microsoft founded?")
                            .call()
                            .content();
                    log.info("Response: {}", response);
            };
        }
    }
    

    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 este artigo de segurança .

  3. Navegue de volta para a pasta raiz do projeto e execute o aplicativo usando o seguinte comando:

    ./mvnw spring-boot:run
    

Resultado

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/

:: Spring Boot ::                (v3.3.4)

2025-01-09T13:51:48.426-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Starting AiCompletionApplication using Java 17.0.12 with PID 8264 (/Users/vega/dev/msft/spring-ai-samples/ai-completion-demo/target/classes started by vega in /Users/vega/dev/msft/spring-ai-samples/ai-completion-demo)
2025-01-09T13:51:48.427-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : No active profile set, falling back to 1 default profile: "default"
2025-01-09T13:51:48.781-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Started AiCompletionApplication in 0.465 seconds (process running for 0.624)
2025-01-09T13:51:48.782-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Sending completion prompt to AI service. One moment please...
2025-01-09T13:51:50.447-05:00  INFO 8264 --- [AICompletion] [           main] c.e.a.AiCompletionApplication            : Response: Microsoft was founded on April 4, 1975, by Bill Gates and Paul Allen.

Limpeza de 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 | Pacote (npm) | Amostras

Observação

Este guia usa 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

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Atenção

Para usar a autenticação sem chave recomendada com o SDK, verifique se a AZURE_OPENAI_API_KEY variável de ambiente não está definida.

Instalar a biblioteca de cliente

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.

Instale os pacotes necessários para JavaScript com npm a partir do contexto do seu novo diretório:

npm install openai @azure/identity

O ficheiro package.json do seu aplicativo é 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 || "Your endpoint";
const apiVersion = process.env.OPENAI_API_VERSION || "2024-04-01-preview";
const deployment = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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

Resultado

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Observação

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 preexistente para a chave de 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 houver uma no sistema que executa essa amostra, esse erro ainda será gerado.

Limpeza de 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

Código fonte | Pacote (npm) | Amostras

Observação

Este guia usa 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

Obter informações do recurso

Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do Azure OpenAI:

Nome da variável Valor
AZURE_OPENAI_ENDPOINT Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá ao nome personalizado que escolheu para a implementação quando implementou um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelo no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as versões da API.

Você pode alterar a versão no código ou usar uma variável de ambiente.

Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.

Atenção

Para usar a autenticação sem chave recomendada com o SDK, verifique se a AZURE_OPENAI_API_KEY variável de ambiente não está definida.

Instalar a biblioteca de cliente

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.

Instale os pacotes necessários para JavaScript com npm a partir do contexto do seu novo diretório:

npm install openai @azure/identity

O ficheiro package.json do seu aplicativo é 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 || "Your endpoint";

// Required Azure OpenAI deployment name and API version
const apiVersion = process.env.OPENAI_API_VERSION || "2024-08-01-preview";
const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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

Resultado

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Observação

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 preexistente para a chave de 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 houver uma no sistema que executa essa amostra, esse erro ainda será gerado.

Limpeza de 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

Código-fonte da biblioteca | Pacote (PyPi) |

Pré-requisitos

Configurar

Instale a biblioteca de cliente OpenAI Python com:

pip install openai

Observação

Esta biblioteca é mantida pela OpenAI. Consulte o histórico de versões para acompanhar as atualizações mais recentes da biblioteca.

Recuperar a chave e o endpoint

Para fazer uma chamada com êxito no Azure OpenAI, você precisará do seguinte:

Nome da variável Valor
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 final através da página de Implementações no portal 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 sob Gestão de Recursos>Implementação de Modelos no portal do Azure ou através da página de Implementações no portal do Azure AI Foundry.

Vá para o seu recurso no portal do Azure. As Chaves e Ponto Final podem ser encontrados na Secçã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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com a localização do ponto de acesso e das chaves de acesso circulada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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

  1. Crie um novo arquivo Python chamado quickstart.py. Em seguida, abra-o no seu editor ou IDE preferido.

  2. Substitua o conteúdo do quickstart.py pelo código a seguir. Modifique o código para adicionar a sua chave, endpoint e nome da implementação:

import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
    
client = AzureOpenAI(
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
    azure_ad_token_provider=token_provider,
    api_version="2024-10-21"
    )
    
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 este artigo de segurança .

  1. Execute o aplicativo com o python comando em seu arquivo de início rápido:

    python quickstart.py
    

Resultado

A saída incluirá texto de resposta após a mensagem de comando Write a tagline for an ice cream shop.. 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 o nosso exemplo de Write a tagline for an ice cream shop. fornece pouco contexto, é normal que o modelo nem sempre devolva 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.

Limpeza de 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

Pré-requisitos

Configurar

Recuperar a chave e o endpoint

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 final através da página de Implementações no portal 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 Gerenciamento de Recursos>Implantações no portal do Azure ou através da página de Implantações no portal do Azure AI Foundry.

Vá para o seu recurso no portal do Azure. O Endpoint 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com a localização do ponto de acesso e das chaves de acesso circulada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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-10-21 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
  -d "{\"prompt\": \"Once upon a time\"}"

O formato da primeira linha do seu comando com um exemplo de endpoint apareceria da seguinte forma curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-10-21 \. 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 quiser executar este comando num prompt de comando normal do Windows, precisará alterar o texto para remover o \ e as quebras de linha.

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 este artigo de segurança .

Resultado

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 Azure OpenAI no Azure AI Foundry Models também executa a moderação de conteúdo nos dados de entrada de prompt e nas 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.

Limpeza de 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

Pré-requisitos

Recuperar a chave e o endpoint

Para realizar com sucesso uma requisição ao serviço Azure OpenAI, será necessário o 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 final através da página de Implementações no portal 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 Gerenciamento de Recursos>Implantações no portal do Azure ou através da página de Implantações no portal do Azure AI Foundry.

Vá para o seu recurso no portal do Azure. O Endpoint 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 alternar e regenerar as suas chaves com segurança, sem causar uma interrupção do serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com a localização do ponto de acesso e das chaves de acesso circulada a vermelho.

Variáveis de ambiente

Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.

Importante

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se você usar uma chave de API, armazene-a com segurança no Cofre de Chaves do Azure. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte Chaves de API com o Cofre de Chaves do Azure.

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

  1. Crie um novo arquivo do PowerShell chamado quickstart.ps1. Em seguida, abra-o no seu editor ou IDE preferido.

  2. Substitua o conteúdo de quickstart.ps1 pelo código a seguir. Modifique o código para adicionar a sua chave, endpoint e nome da implementaçã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 este artigo de segurança .

  3. Execute o script usando o PowerShell:

    ./quickstart.ps1
    

Resultado

A saída incluirá texto de resposta após a mensagem de comando Once upon a time. 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 o nosso exemplo de Once upon a time... fornece pouco contexto, é normal que o modelo nem sempre devolva 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.

Limpeza de 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