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
- Uma assinatura do Azure. Crie um gratuitamente.
- Depois de obter sua assinatura do Azure, crie um recurso do OpenAI do Azure. Para obter mais informações sobre a criação de recursos, consulte o guia de implantação de recursos.
- Um hub do IA do Azure Foundry com seu recurso do Azure OpenAI adicionado como uma conexão.
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.
Vá para o Azure AI Foundry
- 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.
- Selecione o hub no qual você gostaria de trabalhar.
- No menu de navegação à esquerda, selecione Modelos + pontos de extremidade e selecione + Implantar modelo.
- 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.
- Selecione Implantar.
- 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.
Para começar, verifique se a implantação com capacidade para imagens está selecionada na lista suspensa Implantação.
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.
Selecione Aplicar alterações para salvar suas alterações.
No painel de sessão de chat, selecione o botão anexo e Carregar imagem. Escolha sua imagem.
Adicione a seguinte solicitação no campo de chat:
Describe this image
e, depois, selecione o ícone de enviar para enviá-la.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.
O assistente responde com uma descrição da imagem.
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?"
.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
- Uma assinatura do Azure. Crie um gratuitamente.
- Python 3.8 ou versão posterior.
- As seguintes bibliotecas do Python:
requests
,json
. - Um recurso do Serviço OpenAI do Azure com um modelo GPT-4 Turbo com Visão implantado. Consulte a Disponibilidade do modelo de Versão prévia do GPT-4 e GPT-4 Turbo para regiões disponíveis. Para obter mais informações sobre a criação de recursos, consulte o guia de implantação de recursos.
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.
Criar um novo aplicativo Python
Crie um novo arquivo Python denominado quickstart.py. Abra o novo arquivo em seu IDE ou editor preferido.
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)
Faça as seguintes alterações:
- Insira a URL do ponto de extremidade e a chave nos campos apropriados.
- Digite seu nome de implantação do GPT-4 Turbo com Visão no campo apropriado.
- 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.
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
- Uma assinatura do Azure. Crie um gratuitamente.
- Python 3.8 ou versão posterior.
- As seguintes bibliotecas Python:
os
- Um recurso do Serviço OpenAI do Azure com um modelo GPT-4 Turbo com Visão implantado. Consulte a Disponibilidade do modelo de Versão prévia do GPT-4 e GPT-4 Turbo para regiões disponíveis. Para obter mais informações sobre a criação de recursos, consulte o guia de implantação de recursos.
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.
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.
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)
Faça as seguintes alterações:
- Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
- 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.
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
- Uma assinatura do Azure – crie uma gratuitamente
- Versões LTS do Node.js
- A CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
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.
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); });
Faça as seguintes alterações:
- Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
- 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.
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
- Uma assinatura do Azure – crie uma gratuitamente
- Versões LTS do Node.js
- TypeScript
- A CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
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.
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); });
Faça as seguintes alterações:
- Digite o nome da implantação do GPT-4 Turbo com Visão no campo apropriado.
- 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.
Crie o aplicativo com o seguinte comando:
tsc
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
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- O .NET 8.0 SDK
- Um recurso do Serviço OpenAI do Azure com um modelo GPT-4 Turbo com Visão implantado. Consulte a Disponibilidade do modelo de Versão prévia do GPT-4 e GPT-4 Turbo para regiões disponíveis. Para obter mais informações sobre a criação de recursos, consulte o guia de implantação de recursos.
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.
Criar o aplicativo .NET
Crie um aplicativo .NET usando o comando
dotnet new
:dotnet new console -n OpenAISpeech
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 é recomendada
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:
Adicione o pacote
Azure.Identity
.dotnet add package Azure.Identity
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.Entre no Azure usando o Visual Studio ou a CLI do Azure via
az login
.
Atualizar o código do aplicativo
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.
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.