Referência da API REST do Azure OpenAI Service
Este artigo fornece detalhes sobre os pontos de extremidade da API REST de inferência para o Azure OpenAI.
Autenticação
O Azure OpenAI fornece dois métodos para autenticação. Você pode usar chaves de API ou ID do Microsoft Entra.
Autenticação de chave de API: para esse tipo de autenticação, todas as solicitações de API devem incluir a
api-key
chave de API no cabeçalho HTTP. O Guia de início rápido fornece orientação sobre como fazer chamadas com esse tipo de autenticação.Autenticação do Microsoft Entra ID: você pode autenticar uma chamada de API usando um token do Microsoft Entra. Os tokens de autenticação são incluídos em uma solicitação como o
Authorization
cabeçalho. O token fornecido deve ser precedido porBearer
, por exemploBearer YOUR_AUTH_TOKEN
, . Você pode ler nosso guia de instruções sobre autenticação com o Microsoft Entra ID.
Controle de versão da API REST
As APIs de serviço têm um controlo de versão com o parâmetro de consulta api-version
. Todas as versões seguem a estrutura de datas AAAA-MM-DD. Por exemplo:
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01
Conclusões
Com a operação Completions, o modelo gera uma ou mais compleções previstas com base em um prompt fornecido. O serviço também pode retornar as probabilidades de tokens alternativos em cada posição.
Criar uma conclusão
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/completions?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da implementação que escolheu quando implementou o modelo. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Segue o formato AAAA-MM-DD. |
Versões suportadas
2022-12-01
Especificações Swagger2023-03-15-preview
Especificações Swagger2023-05-15
Especificações Swagger2023-06-01-preview
Especificações Swagger2023-07-01-preview
Especificações Swagger2023-08-01-preview
Especificações Swagger2023-09-01-preview
Especificações Swagger2023-10-01-preview
Especificações Swagger2023-12-01-preview
Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
prompt |
cadeia de caracteres ou matriz | Opcional | <\|endoftext\|> |
O prompt ou prompts para gerar completações para, codificado como uma cadeia de caracteres ou matriz de cadeias de caracteres. <\|endoftext\|> é o separador de documentos que o modelo vê durante o treinamento, portanto, se um prompt não for especificado, o modelo será gerado como se fosse do início de um novo documento. |
max_tokens |
integer | Opcional | 16 | O número máximo de tokens a serem gerados na conclusão. A contagem de tokens do seu prompt mais max_tokens não pode exceder o comprimento de contexto do modelo. A maioria dos modelos tem um comprimento de contexto de 2048 tokens (exceto para os modelos mais recentes, que suportam 4096). |
temperature |
Número | Opcional | 1 | Qual a temperatura de amostragem a utilizar, entre 0 e 2. Valores mais altos significam que o modelo corre mais riscos. Experimente 0,9 para aplicações mais criativas e 0 (argmax sampling ) para aplicações com uma resposta bem definida. Geralmente, recomendamos alterar este ou top_p mas não ambos. |
top_p |
Número | Opcional | 1 | Uma alternativa à amostragem com temperatura, chamada amostragem de núcleo, onde o modelo considera os resultados dos tokens com top_p massa de probabilidade. Assim, 0,1 significa que apenas os tokens que compõem a massa de probabilidade superior de 10% são considerados. Geralmente recomendamos alterar esta ou a temperatura, mas não ambas. |
logit_bias |
map | Opcional | nulo | Modifique a probabilidade de tokens especificados aparecerem na conclusão. Aceita um objeto json que mapeia tokens (especificados por seu ID de token no tokenizador GPT) para um valor de viés associado de -100 a 100. Você pode usar essa ferramenta tokenizadora (que funciona para GPT-2 e GPT-3) para converter texto em IDs de token. Matematicamente, o viés é adicionado aos logits gerados pelo modelo antes da amostragem. O efeito exato varia por modelo, mas valores entre -1 e 1 devem diminuir ou aumentar a probabilidade de seleção; Valores como -100 ou 100 devem resultar em um banimento ou seleção exclusiva do token relevante. Como exemplo, você pode passar {"50256": -100} para impedir que o <token |endoftext|> seja gerado. |
user |
string | Opcional | Um identificador único que representa o seu utilizador final, que pode ajudar a monitorizar e detetar abusos | |
n |
integer | Opcional | 1 | Quantas finalizações gerar para cada prompt. Nota: Como esse parâmetro gera muitas conclusões, ele pode consumir rapidamente sua cota de token. Use com cuidado e certifique-se de ter configurações razoáveis para max_tokens e parar. |
stream |
boolean | Opcional | False | Se o progresso parcial deve ser transmitido. Se definido, os tokens são enviados como eventos enviados pelo servidor somente dados à medida que ficam disponíveis, com o fluxo encerrado por uma mensagem data: [DONE]. |
logprobs |
integer | Opcional | nulo | Inclua as probabilidades de log nos tokens mais prováveis do logprobs, bem como os tokens escolhidos. Por exemplo, se logprobs for 10, a API retornará uma lista dos 10 tokens mais prováveis. A API sempre retornará o logprob do token amostrado, portanto, pode haver até elementos logprobs+1 na resposta. Este parâmetro não pode ser usado com gpt-35-turbo . |
suffix |
string | Opcional | nulo | O sufixo que vem após a conclusão do texto inserido. |
echo |
boolean | Opcional | False | Eco de volta o prompt além da conclusão. Este parâmetro não pode ser usado com gpt-35-turbo . |
stop |
cadeia de caracteres ou matriz | Opcional | nulo | Até quatro sequências em que a API deixará de gerar mais tokens. O texto retornado não conterá a sequência de parada. Para GPT-4 Turbo com Vision, até duas sequências são suportadas. |
presence_penalty |
Número | Opcional | 0 | Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens com base em se eles aparecem no texto até agora, aumentando a probabilidade do modelo falar sobre novos tópicos. |
frequency_penalty |
Número | Opcional | 0 | Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens com base em sua frequência existente no texto até agora, diminuindo a probabilidade do modelo repetir a mesma linha textualmente. |
best_of |
integer | Opcional | 1 | Gera best_of finalizações do lado do servidor e retorna o "melhor" (aquele com a menor probabilidade de log por token). Os resultados não podem ser transmitidos. Quando usado com n, best_of controla o número de candidatos concluídos e n especifica quantos devem retornar – best_of deve ser maior que n. Nota: Como esse parâmetro gera muitas conclusões, ele pode consumir rapidamente sua cota de token. Use com cuidado e certifique-se de ter configurações razoáveis para max_tokens e parar. Este parâmetro não pode ser usado com gpt-35-turbo . |
Pedido de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01\
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{
\"prompt\": \"Once upon a time\",
\"max_tokens\": 5
}"
Resposta de exemplo
{
"id": "cmpl-4kGh7iXtjW4lc9eGhff6Hp8C7btdQ",
"object": "text_completion",
"created": 1646932609,
"model": "ada",
"choices": [
{
"text": ", a dark line crossed",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
]
}
Na resposta de exemplo, finish_reason
é igual a stop
. Se finish_reason
iguais, consulte nosso guia de filtragem de content_filter
conteúdo para entender por que isso está ocorrendo.
Incorporações
Obtenha uma representação vetorial de uma determinada entrada que pode ser facilmente consumida por modelos de aprendizado de máquina e outros algoritmos.
Nota
Atualmente, o OpenAI permite um número maior de entradas de array com text-embedding-ada-002
o . Atualmente, o Azure OpenAI oferece suporte a matrizes de entrada de até 16 para text-embedding-ada-002 (Version 2)
. Ambos exigem que o limite máximo de token de entrada por solicitação de API permaneça abaixo de 8191 para este modelo.
Criar uma incorporação
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/embeddings?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo. É necessário implantar primeiro um modelo antes de fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Segue o formato AAAA-MM-DD. |
Versões suportadas
2023-03-15-preview
Especificações Swagger2023-05-15
Especificações Swagger2023-06-01-preview
Especificações Swagger2023-07-01-preview
Especificações Swagger2023-08-01-preview
Especificações Swagger2023-09-01-preview
Especificações Swagger2023-10-01-preview
Especificações Swagger2023-12-01-preview
Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
input |
cadeia de caracteres ou matriz | Sim | N/A | Texto de entrada para obter incorporações, codificado como uma matriz ou cadeia de caracteres. O número de tokens de entrada varia dependendo do modelo que você está usando. Suporta apenas text-embedding-ada-002 (Version 2) a entrada de matriz. |
user |
string | Não | Nulo | Um identificador exclusivo que representa o seu utilizador final. Isso ajudará o Azure OpenAI a monitorar e detetar abusos. Não passe identificadores PII em vez disso, use valores pseudoanonimizados, como GUIDs |
encoding_format |
string | Não | float |
O formato para retornar as incorporações. Pode ser qualquer um float ou base64 . O padrão é float . [Adicionado em 2024-03-01-preview ]. |
dimensions |
integer | Não | O número de dimensões que as incorporações de saída resultantes devem ter. Apenas suportado em text-embedding-3 modelos e modelos posteriores. [Adicionado em 2024-03-01-preview ] |
Pedido de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2024-02-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{\"input\": \"The food was delicious and the waiter...\"}"
Resposta de exemplo
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.018990106880664825,
-0.0073809814639389515,
.... (1024 floats total for ada)
0.021276434883475304,
],
"index": 0
}
],
"model": "text-similarity-babbage:001"
}
Conclusão do chat
Crie conclusões para mensagens de chat com os modelos GPT-35-Turbo e GPT-4.
Criar conclusão de chat
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo. É necessário implantar primeiro um modelo antes de fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Isso segue o formato de visualização AAAA-MM-DD ou AAAA-MM-DD. |
Versões suportadas
2023-03-15-preview
Especificações Swagger2023-05-15
Especificações Swagger2023-06-01-preview
Especificações Swagger2023-07-01-preview
Especificações Swagger2023-08-01-preview
Especificações Swagger2023-09-01-preview
Especificações Swagger2023-10-01-preview
Especificações Swagger2023-12-01-preview
(Esta versão ou superior necessária para cenários de visão) Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Importante
Os functions
parâmetros e function_call
foram preteridos com o 2023-12-01-preview
lançamento da versão da API. O substituto para functions
é o tools
parâmetro. O substituto para function_call
é o tool_choice
parâmetro. A chamada de função paralela que foi introduzida como parte do 2023-12-01-preview
é suportada apenas com gpt-35-turbo
(1106) e gpt-4
(1106-preview) também conhecido como GPT-4 Turbo Preview.
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
messages |
matriz | Necessário | A coleção de mensagens de contexto associadas a essa solicitação de conclusão de chat. O uso típico começa com uma mensagem de bate-papo para a função Sistema que fornece instruções para o comportamento do assistente, seguida por mensagens alternadas entre as funções Usuário e Assistente. | |
temperature |
Número | Opcional | 1 | Qual a temperatura de amostragem a utilizar, entre 0 e 2. Valores mais altos como 0,8 tornarão a saída mais aleatória, enquanto valores mais baixos como 0,2 a tornarão mais focada e determinística. Geralmente, recomendamos alterar isso ou top_p mas não ambos. |
role |
string | Sim | N/A | Indica quem está dando a mensagem atual. Pode ser ,,,,tool ou function .assistant user system |
content |
cadeia de caracteres ou matriz | Sim | N/A | O conteúdo da mensagem. Deve ser uma cadeia de caracteres, a menos que em um cenário habilitado para Visão. Se for parte da user mensagem, usando o modelo GPT-4 Turbo com Visão, com a versão mais recente da API, então content deve ser uma matriz de estruturas, onde cada item representa texto ou uma imagem:
|
contentPart |
objeto | No | N/A | Parte da mensagem multimodal de um utilizador. Pode ser tipo de texto ou tipo de imagem. Se for texto, será uma cadeia de caracteres de texto. Se imagem, será um contentPartImage objeto. |
contentPartImage |
objeto | No | N/A | Representa uma imagem carregada pelo usuário. Ele tem uma url propriedade, que é um URL da imagem ou a base 64 dados de imagem codificados. Ele também tem uma detail propriedade que pode ser auto , low , ou high . |
enhancements |
objeto | No | N/A | Representa os recursos de aprimoramento da visão solicitados para o bate-papo. grounding Tem e ocr propriedades, cada um tem uma propriedade booleanaenabled . Use-os para solicitar o serviço OCR e/ou o serviço de deteção/aterramento de objetos [Este parâmetro de visualização não está disponível na API do GA 2024-02-01 e não está mais disponível nas APIs de visualização após 2024-03-01-preview .] |
dataSources |
objeto | No | N/A | Representa dados de recursos adicionais. Os dados dos recursos de Visão por Computador são necessários para melhorar a Visão. Tem uma type propriedade, que deve ser "AzureComputerVision" e uma parameters propriedade, que tem uma endpoint e key propriedade. Essas cadeias de caracteres devem ser definidas como a URL do ponto de extremidade e a chave de acesso do seu recurso de Visão Computacional. |
n |
integer | Opcional | 1 | Quantas opções de conclusão de chat gerar para cada mensagem de entrada. |
stream |
boolean | Opcional | false | Se definido, deltas de mensagem parciais serão enviados, como no ChatGPT. Os tokens serão enviados como eventos enviados apenas pelo servidor de dados à medida que se tornam disponíveis, com o fluxo encerrado por uma data: [DONE] mensagem." |
stop |
cadeia de caracteres ou matriz | Opcional | nulo | Até 4 sequências onde a API deixará de gerar mais tokens. |
max_tokens |
integer | Opcional | INF | O número máximo de tokens permitido para a resposta gerada. Por padrão, o número de tokens que o modelo pode retornar será (4096 - tokens de prompt). |
presence_penalty |
Número | Opcional | 0 | Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens com base em se eles aparecem no texto até agora, aumentando a probabilidade do modelo falar sobre novos tópicos. |
frequency_penalty |
Número | Opcional | 0 | Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens com base em sua frequência existente no texto até agora, diminuindo a probabilidade do modelo repetir a mesma linha textualmente. |
logit_bias |
objeto | Opcional | nulo | Modifique a probabilidade de tokens especificados aparecerem na conclusão. Aceita um objeto json que mapeia tokens (especificados por sua ID de token no tokenizador) para um valor de viés associado de -100 a 100. Matematicamente, o viés é adicionado aos logits gerados pelo modelo antes da amostragem. O efeito exato varia por modelo, mas valores entre -1 e 1 devem diminuir ou aumentar a probabilidade de seleção; Valores como -100 ou 100 devem resultar em um banimento ou seleção exclusiva do token relevante. |
user |
string | Opcional | Um identificador exclusivo que representa seu usuário final, que pode ajudar o Azure OpenAI a monitorar e detetar abusos. | |
function_call |
Opcional | [Deprecated in 2023-12-01-preview replacement parameter is tools_choice] Controla como o modelo responde a chamadas de função. "Nenhum" significa que o modelo não chama uma função e responde ao utilizador final. auto significa que o modelo pode escolher entre um usuário final ou chamar uma função. Especificar uma função específica através de {"name": "my_function"} força o modelo a chamar essa função. "none" é o padrão quando nenhuma função está presente. auto é o padrão se as funções estiverem presentes. Este parâmetro requer a versão da API 2023-07-01-preview |
||
functions |
FunctionDefinition[] |
Opcional | [Deprecated in 2023-12-01-preview replacement paremeter is tools] Uma lista de funções para as quais o modelo pode gerar entradas JSON. Este parâmetro requer a versão da API 2023-07-01-preview |
|
tools |
string (O tipo da ferramenta. Apenas function é suportado.) |
Opcional | Uma lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramenta. Use isso para fornecer uma lista de funções para as quais o modelo pode gerar entradas JSON. Este parâmetro requer a versão da API 2023-12-01-preview |
|
tool_choice |
string ou objeto | Opcional | Nenhum é o padrão quando nenhuma função está presente. auto é o padrão se as funções estiverem presentes. |
Controla qual (se houver) função é chamada pelo modelo. Nenhum significa que o modelo não chamará uma função e, em vez disso, gerará uma mensagem. auto significa que o modelo pode escolher entre gerar uma mensagem ou chamar uma função. Especificar uma função específica através de {"type: "function", "function": {"name": "my_function"}} força o modelo a chamar essa função. Este parâmetro requer a versão 2023-12-01-preview da API ou posterior. |
top_p |
Número | Não | Padrão:1 MÍN: 0 Máx:1 |
Uma alternativa à amostragem com temperatura, chamada amostragem de núcleo, onde o modelo considera os resultados dos tokens com top_p massa de probabilidade. Portanto, 0,1 significa que apenas os tokens que compõem a massa de probabilidade superior de 10% são considerados.\nGeralmente recomendamos alterar isso ou temperature mas não ambos." |
log_probs |
boolean | Não | Se deve retornar as probabilidades de log dos tokens de saída ou não. Se true, retorna as probabilidades de log de cada token de saída retornado no content de message . Esta opção não está atualmente disponível no gpt-4-vision-preview modelo. |
|
top_logprobs |
integer | Não | MÍN: 0 Máx: 5 |
Um inteiro entre 0 e 5 especificando o número de tokens mais prováveis de retornar em cada posição de token, cada um com uma probabilidade de log associada. logprobs deve ser definido como true se este parâmetro for usado. |
response_format |
objeto | Não | Um objeto que especifica o formato que o modelo deve produzir. Usado para habilitar o modo JSON. | |
seed |
integer | Não | 0 | Se especificado, nosso sistema fará um melhor esforço para amostragem determinística, de modo que solicitações repetidas com os mesmos seed parâmetros e devem retornar o mesmo resultado. O determinismo não é garantido e você deve consultar o system_fingerprint parâmetro response para monitorar as alterações no back-end. |
Nem todos os parâmetros estão disponíveis em todas as versões da API.
Pedido de exemplo
Bate-papo somente texto
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-02-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'
Bate-papo com visão
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{ "type": "image_url", "image_url": { "url": "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png", "detail": "high" } }]}]}'
Bate-papo aprimorado com visão
- Não suportado com a versão do modelo
gpt-4
GPT-4 Turbo GA:turbo-2024-04-09
- Não suportado com as versões de
2024-02-01
API mais recentes e2024-04-01-preview
mais recentes.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"enhancements":{"ocr":{"enabled":true},"grounding":{"enabled":true}},"dataSources":[{"type":"AzureComputerVision","parameters":{"endpoint":" <Computer Vision Resource Endpoint> ","key":"<Computer Vision Resource Key>"}}],"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{"type":"image_url","image_url":"https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"}]}]}'
Resposta de exemplo
{
"id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
"object": "chat.completion",
"created": 1679072642,
"model": "gpt-35-turbo",
"usage":
{
"prompt_tokens": 58,
"completion_tokens": 68,
"total_tokens": 126
},
"choices":
[
{
"message":
{
"role": "assistant",
"content": "Yes, other Azure AI services also support customer managed keys.
Azure AI services offer multiple options for customers to manage keys, such as
using Azure Key Vault, customer-managed keys in Azure Key Vault or
customer-managed keys through Azure Storage service. This helps customers ensure
that their data is secure and access to their services is controlled."
},
"finish_reason": "stop",
"index": 0
}
]
}
Formatação de saída ajustada para facilitar a leitura, a saída real é um único bloco de texto sem quebras de linha.
Na resposta de exemplo, finish_reason
é igual a stop
. Se finish_reason
iguais, consulte nosso guia de filtragem de content_filter
conteúdo para entender por que isso está ocorrendo.
ChatMensagem
Uma única mensagem atribuída à função dentro de uma interação de conclusão de chat.
Nome | Tipo | Description |
---|---|---|
content | string | O texto associado a esta carga útil da mensagem. |
function_call | FunctionCall | O nome e os argumentos de uma função que deve ser chamada, conforme gerado pelo modelo. |
nome | string | O name do autor desta mensagem. name é necessário se role for function , e deve ser o nome da função cuja resposta está no content . Pode conter a-z, A-Z, 0-9 e sublinhados, com um comprimento máximo de 64 caracteres. |
função | ChatRole | A função associada a essa carga útil de mensagem |
ChatRole
Uma descrição da finalidade pretendida de uma mensagem dentro de uma interação de conclusão de chat.
Nome | Tipo | Description |
---|---|---|
assistente | string | A função que fornece respostas à entrada instruída pelo sistema e solicitada pelo usuário. |
function | string | A função que fornece resultados de função para conclusão de bate-papo. |
sistema | string | A função que instrui ou define o comportamento do assistente. |
Utilizador | string | A função que fornece entrada para a conclusão do chat. |
Function
Isso é usado com o tools
parâmetro que foi adicionado na versão 2023-12-01-preview
da API.
Nome | Tipo | Description |
---|---|---|
descrição | string | Uma descrição do que a função faz, usada pelo modelo para escolher quando e como chamar a função |
nome | string | O nome da função a ser chamada. Deve ser a-z, A-Z, 0-9, ou conter sublinhados e traços, com um comprimento máximo de 64 |
parâmetros | objeto | Os parâmetros que as funções aceitam, descritos como um objeto de esquema JSON. Consulte a referência do esquema JSON para obter documentação sobre o formato." |
FunctionCall-preterido
O nome e os argumentos de uma função que deve ser chamada, conforme gerado pelo modelo. Isso requer a versão da API 2023-07-01-preview
Nome | Tipo | Description |
---|---|---|
Argumentos | string | Os argumentos com os quais chamar a função, conforme gerado pelo modelo no formato JSON. O modelo nem sempre gera JSON válido e pode fabricar parâmetros não definidos pelo seu esquema de função. Valide os argumentos em seu código antes de chamar sua função. |
nome | string | O nome da função a ser chamada. |
FunctionDefinition-Preterido
A definição de uma função especificada pelo chamador que as finalizações de chat podem invocar em resposta à entrada do usuário correspondente. Isso requer a versão da API 2023-07-01-preview
Nome | Tipo | Description |
---|---|---|
descrição | string | Uma descrição do que a função faz. O modelo usa essa descrição ao selecionar a função e interpretar seus parâmetros. |
nome | string | O nome da função a ser chamada. |
parâmetros | Os parâmetros que as funções aceitam, descritos como um objeto de esquema JSON. |
Extensões de conclusão
A documentação desta seção foi movida. Consulte a documentação de referência do Azure OpenAI On Your Data.
Geração de imagens
Solicitar uma imagem gerada (DALL-E 3)
Gere e recupere um lote de imagens de uma legenda de texto.
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo DALL-E 3, como MyDalle3. É necessário implantar primeiro um modelo DALL-E 3 antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Segue o formato AAAA-MM-DD. |
Versões suportadas
2023-12-01-preview
Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
prompt |
string | Obrigatório | Uma descrição em texto da(s) imagem(ões) desejada(s). O comprimento máximo é de 4000 caracteres. | |
n |
integer | Opcional | 1 | O número de imagens a gerar. Só n=1 é suportado para DALL-E 3. |
size |
string | Opcional | 1024x1024 |
O tamanho das imagens geradas. Deve ser um dos 1792x1024 , 1024x1024 ou 1024x1792 . |
quality |
string | Opcional | standard |
A qualidade das imagens geradas. Deve ser hd ou standard . |
response_format |
string | Opcional | url |
O formato no qual as imagens geradas são retornadas Deve ser url (um URL apontando para a imagem) ou b64_json (o código base de 64 bytes no formato JSON). |
style |
string | Opcional | vivid |
O estilo das imagens geradas. Deve ser natural ou vivid (para imagens hiper-realistas / dramáticas). |
user |
string | Opcional | Um identificador único que representa o seu utilizador final, que pode ajudar a monitorizar e detetar abusos. |
Dalle-2 agora é suportado em 2024-05-01-preview
.
Pedido de exemplo
curl -X POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"prompt": "An avocado chair",
"size": "1024x1024",
"n": 1,
"quality": "hd",
"style": "vivid"
}'
Resposta de exemplo
A operação retorna um 202
código de status e um GenerateImagesResponse
objeto JSON contendo a ID e o status da operação.
{
"created": 1698116662,
"data": [
{
"url": "url to the image",
"revised_prompt": "the actual prompt that was used"
},
{
"url": "url to the image"
},
...
]
}
Solicitar uma imagem gerada (visualização DALL-E 2)
Gere um lote de imagens a partir de uma legenda de texto.
POST https://{your-resource-name}.openai.azure.com/openai/images/generations:submit?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Segue o formato AAAA-MM-DD. |
Versões suportadas
2023-06-01-preview
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
prompt |
string | Obrigatório | Uma descrição em texto da(s) imagem(ões) desejada(s). O comprimento máximo é de 1000 caracteres. | |
n |
integer | Opcional | 1 | O número de imagens a gerar. Deve ter entre 1 e 5. |
size |
string | Opcional | 1024 x 1024 | O tamanho das imagens geradas. Deve ser um dos 256x256 , 512x512 ou 1024x1024 . |
Pedido de exemplo
curl -X POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/images/generations:submit?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"prompt": "An avocado chair",
"size": "512x512",
"n": 3
}'
Resposta de exemplo
A operação retorna um 202
código de status e um GenerateImagesResponse
objeto JSON contendo a ID e o status da operação.
{
"id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa",
"status": "notRunning"
}
Obter um resultado de imagem gerado (visualização DALL-E 2)
Use essa API para recuperar os resultados de uma operação de geração de imagem. Atualmente, a geração de imagens só está disponível com api-version=2023-06-01-preview
o .
GET https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
operation-id |
string | Obrigatório | O GUID que identifica a solicitação de geração de imagem original. |
Versões suportadas
2023-06-01-preview
Especificações Swagger
Pedido de exemplo
curl -X GET "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"
Resposta de exemplo
Após o êxito, a operação retorna um 200
código de status e um OperationResponse
objeto JSON. O status
campo pode ser "notRunning"
(a tarefa está na fila, mas ainda não foi iniciada), "running"
, "succeeded"
, "canceled"
(a tarefa expirou), "failed"
ou "deleted"
. Um succeeded
status indica que a imagem gerada está disponível para download no URL fornecido. Se várias imagens foram geradas, seus URLs são todos retornados no result.data
campo.
{
"created": 1685064331,
"expires": 1685150737,
"id": "4b755937-3173-4b49-bf3f-da6702a3971a",
"result": {
"data": [
{
"url": "<URL_TO_IMAGE>"
},
{
"url": "<URL_TO_NEXT_IMAGE>"
},
...
]
},
"status": "succeeded"
}
Excluir uma imagem gerada do servidor (visualização DALL-E 2)
Você pode usar a ID da operação retornada pela solicitação para excluir a imagem correspondente do servidor do Azure. As imagens geradas são excluídas automaticamente após 24 horas por padrão, mas você pode acionar a exclusão mais cedo, se desejar.
DELETE https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu Recurso OpenAI do Azure. |
operation-id |
string | Obrigatório | O GUID que identifica a solicitação de geração de imagem original. |
Versões suportadas
2023-06-01-preview
Especificações Swagger
Pedido de exemplo
curl -X DELETE "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"
Response
A operação retorna um código de 204
status se for bem-sucedida. Essa API só terá êxito se a operação estiver em um estado final (não running
).
Voz em texto
Você pode usar um modelo Whisper no Serviço OpenAI do Azure para transcrição de fala para texto ou tradução de fala. Para obter mais informações sobre como usar um modelo Whisper, consulte o início rápido e a visão geral do modelo Whisper.
Solicitar uma transcrição de fala para texto
Transcreve um arquivo de áudio.
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/transcriptions?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do recurso do Azure OpenAI. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo Whisper, como MyWhisperDeployment. É necessário implantar primeiro um modelo Whisper antes de fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Esse valor segue o formato AAAA-MM-DD. |
Versões suportadas
2023-09-01-preview
Especificações Swagger2023-10-01-preview
Especificações Swagger2023-12-01-preview
Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
file |
ficheiro | Sim | N/A | O objeto de arquivo de áudio (não o nome do arquivo) a ser transcrito, em um destes formatos: flac , mp3 , mp4 , mpeg , mpga , wav m4a ogg ou .webm O limite de tamanho de arquivo para o modelo Whisper no Serviço OpenAI do Azure é de 25 MB. Se precisar de transcrever um ficheiro com mais de 25 MB, divida-o em partes. Como alternativa, você pode usar a API de transcrição em lote do Azure AI Speech. Você pode obter arquivos de áudio de exemplo do repositório do SDK de Fala do Azure AI no GitHub. |
language |
string | Não | Nulo | O idioma do áudio de entrada, como fr . O fornecimento do idioma de entrada no formato ISO-639-1 melhora a precisão e a latência.Para obter a lista de idiomas suportados, consulte a documentação do OpenAI. |
prompt |
string | Não | Nulo | Um texto opcional para guiar o estilo do modelo ou continuar um segmento de áudio anterior. O prompt deve corresponder ao idioma do áudio. Para obter mais informações sobre prompts, incluindo exemplos de casos de uso, consulte a documentação do OpenAI. |
response_format |
string | Não | json | O formato da saída da transcrição, em uma destas opções: json, text, srt, verbose_json ou vtt. O valor padrão é json. |
temperature |
Número | Não | 0 | A temperatura de amostragem, entre 0 e 1. Valores mais altos como 0,8 tornam a saída mais aleatória, enquanto valores mais baixos como 0,2 a tornam mais focada e determinística. Se definido como 0, o modelo usa a probabilidade de log para aumentar automaticamente a temperatura até que certos limites sejam atingidos. O valor predefinido é 0. |
timestamp_granularities |
matriz | Opcional | segmento | As granularidades de carimbo de data/hora a serem preenchidas para esta transcrição. response_format deve ser definido verbose_json para usar granularidades de carimbo de data/hora. Há suporte para uma ou ambas as opções: word , ou segment . Nota: Não há latência adicional para carimbos de data/hora de segmento, mas a geração de carimbos de data/hora de palavras incorre em latência adicional. [Adicionado em 2024-04-01-prevew] |
Pedido de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/transcriptions?api-version=2023-09-01-preview \
-H "Content-Type: multipart/form-data" \
-H "api-key: $YOUR_API_KEY" \
-F file="@./YOUR_AUDIO_FILE_NAME.wav" \
-F "language=en" \
-F "prompt=The transcript contains zoology terms and geographical locations." \
-F "temperature=0" \
-F "response_format=srt"
Resposta de exemplo
1
00:00:00,960 --> 00:00:07,680
The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States,
2
00:00:07,680 --> 00:00:13,520
Mexico, and Central and South America. This medium-sized cat is characterized by
3
00:00:13,520 --> 00:00:18,960
solid black spots and streaks on its coat, round ears, and white neck and undersides.
4
00:00:19,760 --> 00:00:27,840
It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters
5
00:00:27,840 --> 00:00:34,560
16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758.
6
00:00:35,360 --> 00:00:42,880
Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight
7
00:00:42,880 --> 00:00:48,480
and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing,
8
00:00:48,480 --> 00:00:54,480
leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum,
9
00:00:54,480 --> 00:00:56,480
and lagomorphs.
Solicitar uma tradução de fala para texto
Traduz um arquivo de áudio de outro idioma para o inglês. Para obter a lista de idiomas suportados, consulte a documentação do OpenAI.
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/translations?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do recurso do Azure OpenAI. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo Whisper, como MyWhisperDeployment. É necessário implantar primeiro um modelo Whisper antes de fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Esse valor segue o formato AAAA-MM-DD. |
Versões suportadas
2023-09-01-preview
Especificações Swagger2023-10-01-preview
Especificações Swagger2023-12-01-preview
Especificações Swagger2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger2024-02-01
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
file |
ficheiro | Sim | N/A | O objeto de arquivo de áudio (não o nome do arquivo) para transcrever, em um destes formatos: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav ou webm. O limite de tamanho de arquivo para o modelo do Azure OpenAI Whisper é de 25 MB. Se precisar de transcrever um ficheiro com mais de 25 MB, divida-o em partes. Você pode baixar arquivos de áudio de exemplo do repositório do SDK de Fala do Azure AI no GitHub. |
prompt |
string | Não | Nulo | Um texto opcional para guiar o estilo do modelo ou continuar um segmento de áudio anterior. O prompt deve corresponder ao idioma do áudio. Para obter mais informações sobre prompts, incluindo exemplos de casos de uso, consulte a documentação do OpenAI. |
response_format |
string | Não | json | O formato da saída da transcrição, em uma destas opções: json, text, srt, verbose_json ou vtt. O valor padrão é json. |
temperature |
Número | Não | 0 | A temperatura de amostragem, entre 0 e 1. Valores mais altos como 0,8 tornam a saída mais aleatória, enquanto valores mais baixos como 0,2 a tornam mais focada e determinística. Se definido como 0, o modelo usa a probabilidade de log para aumentar automaticamente a temperatura até que certos limites sejam atingidos. O valor predefinido é 0. |
Pedido de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/translations?api-version=2023-09-01-preview \
-H "Content-Type: multipart/form-data" \
-H "api-key: $YOUR_API_KEY" \
-F file="@./YOUR_AUDIO_FILE_NAME.wav" \
-F "temperature=0" \
-F "response_format=json"
Resposta de exemplo
{
"text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}
Conversão de texto em voz
Sintetize texto em fala.
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/speech?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessária? | Description |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do recurso do Azure OpenAI. |
deployment-id |
string | Obrigatório | O nome da implantação do modelo de texto em fala, como MyTextToSpeechDeployment. É necessário implantar primeiro um modelo de texto em fala (como tts-1 ou tts-1-hd ) antes de fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a utilizar para esta operação. Esse valor segue o formato AAAA-MM-DD. |
Versões suportadas
2024-02-15-preview
Especificações Swagger2024-03-01-preview
Especificações Swagger2024-04-01-preview
Especificações Swagger2024-05-01-preview
Especificações Swagger
Corpo do pedido
Parâmetro | Type | Necessária? | Predefinido | Description |
---|---|---|---|---|
model |
string | Sim | N/A | Um dos modelos TTS disponíveis: tts-1 ou tts-1-hd |
input |
string | Sim | N/A | O texto para o qual gerar áudio. O comprimento máximo é de 4096 caracteres. Especifique o texto de entrada no idioma de sua escolha.1 |
voice |
string | Sim | N/A | A voz a ser usada ao gerar o áudio. As vozes suportadas são alloy , echo , fable , onyx , nova e shimmer . As visualizações das vozes estão disponíveis no guia de texto para fala do OpenAI. |
1 Os modelos de conversão de texto em fala geralmente suportam os mesmos idiomas que o modelo Whisper. Para obter a lista de idiomas suportados, consulte a documentação do OpenAI.
Pedido de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/speech?api-version=2024-02-15-preview \
-H "api-key: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-hd",
"input": "I'm excited to try text to speech.",
"voice": "alloy"
}' --output speech.mp3
Resposta de exemplo
A fala é retornada como um arquivo de áudio da solicitação anterior.
APIs de gestão
O Azure OpenAI é implantado como parte dos serviços de IA do Azure. Todos os serviços de IA do Azure dependem do mesmo conjunto de APIs de gerenciamento para operações de criação, atualização e exclusão. As APIs de gerenciamento também são usadas para implantar modelos em um recurso do Azure OpenAI.
Documentação de referência das APIs de gerenciamento
Próximos passos
Saiba mais sobre Modelos e ajuste fino com a API REST. Saiba mais sobre os modelos subjacentes que alimentam o Azure OpenAI.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários