Compartilhar via


Início Rápido: Usar imagens em seus chats de IA

Começar a usar o GPT-4 Turbo com imagens e o Serviço OpenAI do Azure.

Observação

Escolha do modelo

Os modelos mais recentes compatíveis com a pesquisa visual são gpt-4o e gpt-4o mini. Esses modelos estão em versão prévia pública. O modelo mais recente em disponibilidade geral é o gpt-4 versão turbo-2024-04-09.

Importante

As taxas de uso extras podem ser aplicadas ao usar modelos de conclusão de chat com a funcionalidade de visão.

Use este artigo para começar a usar a Fábrica de IA do Azure para implantar e testar um modelo de conclusão de chat com compreensão de imagem.

Pré-requisitos

Prepare sua mídia

Você precisa de uma imagem para concluir esse início rápido. Você pode usar essa imagem de exemplo ou qualquer outra imagem disponível.

Foto de um acidente de carro que pode ser usada para concluir o início rápido.

Vá para o Azure AI Foundry

  1. Navegue até o Azure AI Foundry e entre com as credenciais associadas ao seu recurso do OpenAI do Azure. Durante o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso OpenAI do Azure.
  2. Selecione o hub no qual você gostaria de trabalhar.
  3. No menu de navegação à esquerda, selecione Modelos + pontos de extremidade e selecione + Implantar modelo.
  4. Escolha uma implantação com capacidade para imagens selecionando o nome do modelo: gpt-4o ou gpt-4o-mini. Na janela exibida, selecione um nome e um tipo de implantação. Verifique se o recurso do OpenAI do Azure está conectado. Para obter mais informações sobre a implantação do modelo, consulte o Guia de implantação de recursos.
  5. Selecione Implantar.
  6. Em seguida, selecione o novo modelo e selecione Abrir no playground. No playground de chat, a implantação que você criou deve ser selecionada na lista de seleção Implantação.

Playground

Nesta sessão de chat, instrua o assistente para ajudar você na compreensão das imagens que você insere.

Para obter ajuda geral com o assistente de configuração, sessões de chat, configurações e painéis, consulte o Início rápido com chat.

Iniciar uma sessão de chat para analisar imagens

Nesta sessão de chat, você está instruindo o assistente a ajudar no reconhecimento das imagens que você insere.

  1. Para começar, verifique se a implantação com capacidade para imagens está selecionada na lista suspensa Implantação.

  2. Na caixa de texto de contexto no painel Configuração, forneça essa solicitação para orientar o assistente: "You're an AI assistant that helps people find information." ou você pode adaptar a solicitação à sua imagem ou cenário.

    Observação

    É recomendável atualizar a Mensagem do Sistema para ser específica para a tarefa, a fim de evitar respostas inúteis do modelo.

  3. Selecione Aplicar alterações para salvar suas alterações.

  4. No painel de sessão de chat, selecione o botão anexo e Carregar imagem. Escolha sua imagem.

  5. Adicione a seguinte solicitação no campo de chat: Describe this image e, depois, selecione o ícone de enviar para enviá-la.

  6. O ícone de enviar é substituído pelo botão Parar. Se você selecioná-lo, o assistente interromperá o processamento da sua solicitação. Para este início rápido, deixe o assistente concluir sua resposta.

  7. O assistente responde com uma descrição da imagem.

  8. Faça uma pergunta de acompanhamento relacionada à análise de sua imagem. Você pode entrar, "What should I highlight about this image to my insurance company?".

  9. Você deve receber uma resposta relevante semelhante à mostrada aqui:

    When reporting the incident to your insurance company, you should highlight the following key points from the image:  
    
    1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight.  
    
    2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident.  
    
    3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective.  
    
    4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes.  
    
    5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context.  
    
    6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well.  
    
    Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
    

Exibir e exportar os dados

Em qualquer momento da sessão de chat, você pode habilitar a opção Mostrar JSON bruto na parte superior da janela de chat para ver a conversa formatada como JSON. Esta é a aparência no início da sessão de chat de início rápido:

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Use este artigo para começar a usar as APIs REST do OpenAI do Azure para implantar e usar o modelo GPT-4 Turbo com Visão.

Pré-requisitos

Observação

Atualmente, não há suporte para desativar a filtragem de conteúdo para o modelo GPT-4 Turbo com Visão.

Recuperar chave e ponto de extremidade

Para chamar com êxito as APIs do OpenAI do Azure, você precisa das seguintes informações sobre seu recurso do OpenAI do Azure:

Variável Nome Valor
Ponto de extremidade api_base O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um ponto de extremidade de exemplo é: https://docs-test-001.openai.azure.com/.
Chave api_key O valor da chave está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer dos dois valores.

Acesse o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto de Extremidade em Gerenciamento de Recursos. Copie o valor do Ponto de Extremidade e um valor de chave de acesso. Você pode usar o valor da CHAVE 1 ou o valor da CHAVE 2. Ter duas chaves para permitir girar e regenerar chaves com segurança, sem causar interrupção de serviço.

Captura de tela que mostra a página Chaves e Ponto de Extremidade de um recurso do OpenAI do Azure no portal do Azure.

Criar um novo aplicativo Python

Crie um novo arquivo Python denominado quickstart.py. Abra o novo arquivo em seu IDE ou editor preferido.

  1. Substitua o conteúdo do quickstart.py pelo código a seguir.

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. Faça as seguintes alterações:

    1. Insira a URL do ponto de extremidade e a chave nos campos apropriados.
    2. Digite seu nome de implantação do GPT-4 Turbo com Visão no campo apropriado.
    3. Altere o valor do campo "image" para a URL da imagem.

      Dica

      Você também pode usar dados de imagem codificados em base 64 em vez de uma URL. Para obter mais informações, consulte o Guia de instruções do GPT-4 Turbo com Visão.

  3. Execute o aplicativo com o comando python:

    python quickstart.py
    

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Use este artigo para começar a usar a SDK do Python do OpenAI do Azure para implantar e usar o modelo GPT-4 Turbo com Visão.

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

Pré-requisitos

Configuração

Instalar a biblioteca de clientes do OpenAI Python com:

pip install openai

Observação

Essa biblioteca é mantida pelo OpenAI. Consulte o histórico de lançamentos para acompanhar as atualizações mais recentes na biblioteca.

Recuperar chave e ponto de extremidade

Para efetuar uma chamada com êxito no Serviço OpenAI do Azure, um ponto de extremidade e uma chave serão necessários.

Nome da variável Valor
ENDPOINT O ponto de extremidade de serviço pode ser encontrado na seção Chaves e Ponto de extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um ponto de extremidade de exemplo é: https://docs-test-001.openai.azure.com/.
API-KEY Esse valor pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar o recurso no portal do Azure. Você pode usar KEY1 ou KEY2.

Acesse o seu recurso no portal do Azure. A seção Chaves e Ponto de Extremidade pode ser encontrada na seção Gerenciamento de Recursos. Copie o ponto de extremidade e as chave de acesso, pois você precisará de ambos para autenticar suas chamadas à API. Você pode usar KEY1 ou KEY2. Ter sempre duas chaves permite girar e regenerar chaves com segurança, sem causar interrupção de serviço.

Captura de tela da visão geral da interface do usuário de um recurso OpenAI do Azure no portal do Azure com o ponto de extremidade e a localização das chaves de acesso ressaltadas com um círculo vermelho.

Variáveis de ambiente

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

Importante

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

Use as 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 Azure Key Vault, gire as chaves regularmente e restrinja o acesso ao Azure Key Vault 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, confira Chaves de API com Azure Key Vault.

Para obter mais informações sobre a segurança dos serviços de IA, confira 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 novo aplicativo Python

Crie um novo arquivo Python denominado quickstart.py. Abra o novo arquivo em seu IDE ou editor preferido.

  1. Substitua o conteúdo do quickstart.py pelo código a seguir.

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. Faça as seguintes alterações:

    1. Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
    2. Altere o valor do campo "url" para a URL da imagem.

      Dica

      Você também pode usar dados de imagem codificados em base 64 em vez de uma URL. Para obter mais informações, consulte o Guia de instruções do GPT-4 Turbo com Visão.

  3. Execute o aplicativo com o comando python:

    python quickstart.py
    

Importante

Use as 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 Azure Key Vault. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com Azure Key Vault.

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

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Use este artigo para começar a usar o SDK do OpenAI JavaScript para implantar e usar o modelo GPT-4 Turbo com Visão.

Esse SDK é fornecido pelo OpenAI com tipos específicos do Azure fornecidos pelo Azure.

Documentação de referência | Código-fonte da biblioteca | Pacote (npm) | Exemplos

Pré-requisitos

Observação

Essa biblioteca é mantida pelo OpenAI. Consulte o histórico de lançamentos para acompanhar as atualizações mais recentes na biblioteca.

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a função de Cognitive Services User à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Recuperar as informações do recurso

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

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 Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as Versões de API.

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

Cuidado

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

Criar um aplicativo Node

Em uma janela de console (como cmd, PowerShell ou Bash), crie um novo diretório para seu aplicativo e navegue até ele. Em seguida, execute o comando npm init para criar um aplicativo de nó com um arquivo package.json.

npm init

Instalar a biblioteca de clientes

Instale as bibliotecas de cliente com:

npm install openai @azure/identity

O arquivo package.json do seu aplicativo será atualizado com as dependências.

Criar um novo aplicativo JavaScript para prompts de imagem

Selecione uma imagem de azure-samples/cognitive-services-sample-data-files e defina a URL para uma imagem nas variáveis de ambiente.

  1. Substitua o conteúdo de quickstart.js pelo código a seguir.

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Faça as seguintes alterações:

    1. Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
    2. Altere o valor do campo "url" para a URL da imagem.

      Dica

      Você também pode usar dados de imagem codificados em base 64 em vez de uma URL. Para obter mais informações, consulte o Guia de instruções do GPT-4 Turbo com Visão.

  3. Execute o aplicativo com o seguinte comando:

    node quickstart.js
    

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Use este artigo para começar a usar o SDK do OpenAI JavaScript para implantar e usar o modelo GPT-4 Turbo com Visão.

Esse SDK é fornecido pelo OpenAI com tipos específicos do Azure fornecidos pelo Azure.

Documentação de referência | Código-fonte da biblioteca | Pacote (npm) | Exemplos

Pré-requisitos

Observação

Essa biblioteca é mantida pelo OpenAI. Consulte o histórico de lançamentos para acompanhar as atualizações mais recentes na biblioteca.

Pré-requisitos do Microsoft Entra ID

Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:

  • Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
  • Atribua a função de Cognitive Services User à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.

Recuperar as informações do recurso

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

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 Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure.
OPENAI_API_VERSION Saiba mais sobre as Versões de API.

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

Cuidado

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

Criar um aplicativo Node

Em uma janela de console (como cmd, PowerShell ou Bash), crie um novo diretório para seu aplicativo e navegue até ele. Em seguida, execute o comando npm init para criar um aplicativo de nó com um arquivo package.json.

npm init

Instalar a biblioteca de clientes

Instale as bibliotecas de cliente com:

npm install openai @azure/identity

O arquivo package.json do seu aplicativo será atualizado com as dependências.

Criar um novo aplicativo JavaScript para prompts de imagem

Selecione uma imagem de azure-samples/cognitive-services-sample-data-files e defina a URL para uma imagem nas variáveis de ambiente.

  1. Crie um quickstart.ts e cole-o no código a seguir.

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Faça as seguintes alterações:

    1. Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
    2. Altere o valor do campo "url" para a URL da imagem.

      Dica

      Você também pode usar dados de imagem codificados em base 64 em vez de uma URL. Para obter mais informações, consulte o Guia de instruções do GPT-4 Turbo com Visão.

  3. Crie o aplicativo com o seguinte comando:

    tsc
    
  4. Execute o aplicativo com o seguinte comando:

    node quickstart.js
    

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Use este artigo para começar a usar o SDK do Azure OpenAI .NET para implantar e usar o modelo GPT-4 Turbo com Vision.

Pré-requisitos

Configuração

Recuperar chave e ponto de extremidade

Para efetuar uma chamada com êxito no Serviço OpenAI do Azure, um ponto de extremidade e uma chave serão necessários.

Nome da variável Valor
AZURE_OPENAI_ENDPOINT O ponto de extremidade de serviço pode ser encontrado na seção Chaves e Ponto de extremidade ao examinar seu recurso no portal do Azure. Como alternativa, você pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um ponto de extremidade de exemplo é: https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Esse valor pode ser encontrado na seção Chaves & Ponto de Extremidade ao examinar o recurso no portal do Azure. Você pode usar KEY1 ou KEY2.

Acesse o seu recurso no portal do Azure. O Ponto de extremidade e as Chaves podem ser encontrados na seção Gerenciamento de recursos. Copie o ponto de extremidade e a chave de acesso, pois você precisa de ambos para autenticar suas chamadas à API. Você pode usar KEY1 ou KEY2. Ter sempre duas chaves permite girar e regenerar chaves com segurança, sem causar interrupção de serviço.

Captura de tela da interface do usuário de visão geral de um recurso do OpenAI do Azure no portal do Azure com o ponto de extremidade e o local das chaves de acesso realçados.

Criar o aplicativo .NET

  1. Crie um aplicativo .NET usando o comando dotnet new:

    dotnet new console -n OpenAISpeech
    
  2. Altere para o diretório do novo aplicativo:

    cd OpenAISpeech
    

Instalar a biblioteca de clientes

Instale a biblioteca Azure.OpenAI cliente:

dotnet add package Azure.AI.OpenAI

A autenticação sem senha é mais segura do que alternativas baseadas em chave e é a abordagem recomendada para conectar-se aos serviços do Azure. Se você optar por usar a autenticação sem senha, precisará concluir o seguinte:

  1. Adicione o pacote Azure.Identity.

    dotnet add package Azure.Identity
    
  2. Atribua a função de Cognitive Services User à sua conta de usuário. Isso pode ser feito no portal do Azure no seu recurso OpenAI em Controle de acesso (IAM)>Adicionar atribuição de função.

  3. Entre no Azure usando o Visual Studio ou a CLI do Azure via az login.

Atualizar o código do aplicativo

  1. Substitua o conteúdo de program.cs pelo código a seguir e atualize os valores do espaço reservado com os seus próprios.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT");
    var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY");
    // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth
    var deploymentName = "gpt-4"; // Default name, update with your own if needed
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    List<ChatMessage> messages = [
        new UserChatMessage(
            ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"),
            ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png"))
    ];
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    

Importante

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

Use as 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 Azure Key Vault, gire as chaves regularmente e restrinja o acesso ao Azure Key Vault 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, confira Chaves de API com Azure Key Vault.

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

  1. Execute o aplicativo usando o comando dotnet run ou o botão Executar na parte superior do Visual Studio:

    dotnet run
    

O aplicativo gera um arquivo de áudio no local especificado para a variável speechFilePath. Reproduza o arquivo no seu dispositivo para ouvir o áudio gerado.

Limpar os recursos

Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas