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 fluxo de trabalho 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, é possível iterar e experimentar rapidamente as capacidades.

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.

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

Pré-requisitos

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

Recuperar chave e ponto de extremidade

Para realizar com sucesso uma chamada ao Azure OpenAI, precisa-se de um ponto de extremidade e 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã da IU de descriçã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

Saída

Chatbot:

Microsoft was founded on April 4, 1975.

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

Código fonte | Pacote (Go)| Amostras

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para realizar com sucesso uma chamada ao Azure OpenAI, precisa-se de um ponto de extremidade e 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã da IU de descriçã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

Saída

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

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) | 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 chave e ponto de extremidade

Para realizar com sucesso uma chamada ao Azure OpenAI, precisa-se de um ponto de extremidade e 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã da IU de descriçã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 atual. 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
    

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.

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

Pré-requisitos

Configurar

Recuperar chave e ponto de extremidade

Para realizar com sucesso uma chamada ao Azure OpenAI, precisa-se de um ponto de extremidade e 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã da IU de descriçã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.

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 spring init a partir do seu diretório atual. 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
    

Saída

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

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

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

Nota

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

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

Recuperar 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 Implantações de Modelo de Gerenciamento de>Recursos 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

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

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

Nota

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

Recuperar 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 Implantações de Modelo de Gerenciamento de>Recursos 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

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

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

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

Pré-requisitos

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 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 o endpoint podem ser encontradas na secção de Gestão 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com o local do ponto de extremidade e das chaves de acesso circundado 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
    

Saída

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.

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

Pré-requisitos

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 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 Gestão de Recursos>Implantações no portal do Azure ou através da página 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com o local do ponto de extremidade e das chaves de acesso circundado 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 .

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

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

Pré-requisitos

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 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 Gestão de Recursos>Implantações no portal do Azure ou através da página 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 chaves de forma segura sem interromper o serviço.

Captura de ecrã do painel de visão geral de um recurso do Azure OpenAI no portal do Azure com o local do ponto de extremidade e das chaves de acesso circundado 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
    

Saída

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.

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