Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Comece a usar imagens em seus chats com o Azure OpenAI no Microsoft Foundry Models.
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 o Microsoft Foundry 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 projeto do Foundry com o recurso Azure OpenAI adicionado como 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.
Ir para a Fábrica
- Navegue até o Foundry e entre com as credenciais associadas ao recurso do Azure OpenAI. Durante o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso OpenAI do Azure.
- Selecione o projeto 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, veja 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.
Parque infantil
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 imagee, 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 o código
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 Azure OpenAI para implantar e usar modelos de chat habilitados para visão.
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Python 3.8 ou versão posterior.
- As seguintes bibliotecas do Python:
requestsejson. - Um recurso do OpenAI do Azure nos Modelos da Fábrica da Microsoft com um modelo habilitado para pesquisa visual implantado. Consulte a disponibilidade do modelo 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 endpoint por meio da página Implantações no portal do 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 o URL do ponto de extremidade e a chave nos campos apropriados.
- Insira o nome da implantação do modelo no campo apropriado.
- Altere o valor do
"image"campo para a URL acessível publicamente de sua 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 de chats da 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 o SDK do Python do Azure OpenAI para implantar e usar um modelo de chat habilitado para 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 OpenAI do Azure nos Modelos da Fábrica da Microsoft com um modelo de chat habilitado para pesquisa visual implantado. Consulte a disponibilidade do modelo 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 fazer uma chamada com sucesso no Azure OpenAI, você precisa de um endpoint e uma chave.
| Nome da variável | Valor |
|---|---|
ENDPOINT |
O ponto de extremidade do serviço pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal da Azure. Como alternativa, você pode encontrar o ponto de extremidade na página Implantações do portal do Microsoft 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 & Endpoint 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 o Azure Key Vault.
Para obter mais informações sobre a segurança dos serviços de IA, veja 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:
- Insira o nome da implantação do seu modelo no campo apropriado.
- Altere o valor do
"url"campo para a URL acessível publicamente de sua 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 de chats da 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 o Azure Key Vault.
Para obter mais informações sobre a segurança dos serviços de IA, veja Autenticar solicitações para 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 JavaScript OpenAI para implantar e usar um modelo de chat habilitado para 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.
Configuração
Crie uma nova pasta
vision-quickstarte vá para a pasta de início rápido com o seguinte comando:mkdir vision-quickstart && cd vision-quickstartCrie o
package.jsoncom o seguinte comando:npm init -yInstale a biblioteca de clientes do OpenAI para JavaScript com:
npm install openaiPara a autenticação sem senha recomendada:
npm install @azure/identity
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. |
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 novo aplicativo JavaScript para prompts de imagem
Selecione uma imagem da azure-samples/cognitive-services-sample-data-files. Insira a URL de sua imagem acessível publicamente no código abaixo ou defina a variável de ambiente IMAGE_URL com ela.
Importante
Se você usar uma URL SAS para uma imagem armazenada no armazenamento de blobs do Azure, será necessário habilitar a Identidade Gerenciada e atribuir a função Leitor de Blobs de Armazenamento ao recurso do Azure OpenAI (faça isso no portal do Azure). Isso permite que o modelo acesse a imagem no armazenamento de blobs.
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 de chats da Visão.
Crie o arquivo
index.jscom o seguinte código: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 || "Your endpoint"; const imageUrl = process.env.IMAGE_URL || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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 Vision chats 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); });Entre no Azure com o seguinte comando:
az loginExecute o arquivo JavaScript.
node index.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 JavaScript OpenAI para implantar e usar um modelo de chat habilitado para 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.
Configuração
Crie uma nova pasta
vision-quickstarte vá para a pasta de início rápido com o seguinte comando:mkdir vision-quickstart && cd vision-quickstartCrie o
package.jsoncom o seguinte comando:npm init -yAtualize o
package.jsonpara ECMAScript com o seguinte comando:npm pkg set type=moduleInstale a biblioteca de clientes do OpenAI para JavaScript com:
npm install openaiPara a autenticação sem senha recomendada:
npm install @azure/identity
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. |
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 novo aplicativo JavaScript para prompts de imagem
Selecione uma imagem da azure-samples/cognitive-services-sample-data-files. Use a URL da imagem no código abaixo ou defina a variável de IMAGE_URL ambiente como 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 de chats da Visão.
Crie o arquivo
index.tscom o seguinte código: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 || "Your endpoint"; const imageUrl = process.env["IMAGE_URL"] || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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 Vision chat 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); });Crie o arquivo
tsconfig.jsonpara transpilar o código TypeScript e copiar o código a seguir para ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transcompilar de TypeScript para JavaScript.
tscEntre no Azure com o seguinte comando:
az loginExecute o código com o seguinte comando:
node index.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 utilizar um modelo de chat com suporte a visão.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- O .NET 8.0 SDK
- Um recurso do OpenAI do Azure nos Modelos da Fábrica da Microsoft com um modelo de chat habilitado para pesquisa visual implantado. Consulte a disponibilidade do modelo para regiões disponíveis. Para obter mais informações sobre a criação de recursos, consulte o guia de implantação de recursos.
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.
Configuração
Crie uma nova pasta
vision-quickstarte vá para a pasta de início rápido com o seguinte comando:mkdir vision-quickstart && cd vision-quickstartCrie um novo aplicativo de console com o seguinte comando:
dotnet new consoleInstale a biblioteca de clientes .NET do OpenAI com o comando dotnet add package:
dotnet add package Azure.AI.OpenAIPara a autenticação sem chave recomendada com o Microsoft Entra ID, instale o pacote Azure.Identity com:
dotnet add package Azure.IdentityPara a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:
az login
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. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Executar o início rápido
O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se você preferir usar uma chave de API, poderá substituir o DefaultAzureCredential objeto por um AzureKeyCredential objeto.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Para executar o início rápido, siga estas etapas:
Substitua o conteúdo de
Program.cspelo 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 string deploymentName = "gpt-4"; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); var chatClient = openAIClient.GetChatClient(deploymentName); var imageUrl = "YOUR_IMAGE_URL"; var textPart = ChatMessageContentPart.CreateTextPart("Describe this picture:"); var imgPart = ChatMessageContentPart.CreateImagePart(imageUrl); var chatMessages = new List<ChatMessage> { new SystemChatMessage("You are a helpful assistant."), new UserChatMessage(textPart, imgPart) }; ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages); Console.WriteLine($"[ASSISTANT]:"); Console.WriteLine($"{chatCompletion.Content[0].Text}");Substitua
YOUR_IMAGE_URLpela imagem publicamente acessível que você deseja carregar.Execute o aplicativo usando o comando
dotnet runou o botão Executar na parte superior do Visual Studio:dotnet run
Saída
A saída do aplicativo será uma descrição da imagem fornecida na imageUri variável. O assistente analisará a imagem e fornecerá uma descrição detalhada com base em seu conteúdo.
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.
Conteúdo relacionado
- Introdução aos aplicativos de chat de visão multimodal usando o modelo de Aplicativo de IA do OpenAI do Azure
- Saiba mais sobre essas APIs no Guia de instruções de modelos habilitados para Visão
- Perguntas frequentes sobre GPT-4 Turbo com pesquisa visual
- Referência de API do GPT-4 Turbo com pesquisa visual