Referência de API REST do Serviço OpenAI do Azure
Este artigo fornece detalhes sobre a API REST de pontos de extremidade de inferência para o OpenAI do Azure.
Autenticação
O OpenAI do Azure fornece dois métodos de autenticação. Você pode usar as chaves de API ou o Azure Active Directory.
Autenticação de chave de API: para esse tipo de autenticação, todas as solicitações de API deverão incluir a Chave de API no cabeçalho HTTP da
api-key
. O Início Rápido fornece um tutorial de como fazer chamadas com esse tipo de autenticação.Autenticação do Azure Active Directory: você pode autenticar uma chamada à API usando um token do Azure Active Directory. Os tokens de autenticação são incluídos em uma solicitação como o cabeçalho
Authorization
. O token fornecido deverá ser precedido porBearer
, por exemploBearer YOUR_AUTH_TOKEN
. Leia nosso guia de instruções sobre como autenticar com o Azure Active Directory.
Controle de versão de API REST
As APIs de serviço são versões que usam o parâmetro de consulta api-version
. Todas as versões seguem a estrutura de data AAAA-MM-DD. Por exemplo:
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2023-05-15
Preenchimentos
Com a operação Conclusões, o modelo gerará uma ou mais conclusões previstas com base em um prompt fornecido. O serviço também poderá 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ário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da implantação que você escolheu quando implantou o modelo. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Isso segue o formato AAAA-MM-DD. |
Versões com suporte
2022-12-01
Especificações do Swagger2023-03-15-preview
Especificações do Swagger2023-05-15
Especificações do Swagger2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Corpo da solicitação
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
prompt |
cadeia de caracteres ou matriz | Opcional | <\|endoftext\|> |
Os prompts para gerar conclusões, codificados como uma cadeia de caracteres, ou uma matriz de cadeia de caracteres. Observe que <\|endoftext\|> é o separador de documento que o modelo vê durante o treinamento, portanto, se um prompt não for especificado, o modelo será gerado como se fosse o início de um novo documento. |
max_tokens |
Número inteiro | Opcional | 16 | O número máximo de tokens a serem gerados na conclusão. A contagem de tokens da sua solicitação mais max_tokens não pode exceder o tamanho do contexto do modelo. A maioria dos modelos tem um comprimento de contexto de 2048 tokens (exceto para os modelos mais novos, que dão suporte a 4096). |
temperature |
número | Opcional | 1 | Qual temperatura de amostragem usar, entre 0 e 2. Valores mais altos significam que o modelo assumirá mais riscos. Experimente 0,9 para aplicativos mais criativos e 0 (argmax sampling ) para aqueles com uma resposta bem definida. Geralmente, é recomendável alterar este ou top_p, mas não ambos. |
top_p |
número | Opcional | 1 | Uma alternativa à amostragem com temperatura, chamada de amostragem de núcleo, onde o modelo considera os resultados dos tokens com massa de probabilidade top_p. Portanto, 0,1 significa que apenas os tokens que compõem a massa de probabilidade de 10% do topo são considerados. Geralmente, é recomendável alterar este ou a temperatura, mas não ambos. |
logit_bias |
mapa | Opcional | nulo | Modifica a probabilidade de tokens especificados que aparecerem na conclusão. Aceita um objeto json que mapeia tokens (especificados pela ID de token no tokenizer GPT) para um valor de polarização associado de -100 a 100. É possível usar essa ferramenta tokenizer (que funciona tanto para GPT-2 quanto para GPT-3) para converter texto em IDs de token. Matematicamente, o desvio é adicionado aos logits gerados pelo modelo antes da amostragem. O efeito exato varia de acordo com o modelo, mas os valores entre -1 e 1 deverão diminuir ou aumentar a probabilidade da seleção, os valores como -100 ou 100 deverão resultar em uma proibição ou seleção exclusiva do token relevante. Como exemplo, é possível passar {"50256": -100} para evitar que o token <|endoftext|> seja gerado. |
user |
string | Opcional | Um identificador único representando o seu usuário final, que pode ajudar a monitorar e a detectar abusos | |
n |
Número inteiro | Opcional | 1 | Quantas conclusões devem ser geradas para cada prompt. Observação: como esse parâmetro gera muitas conclusões, ele poderá consumir rapidamente a sua cota de token. Use com cuidado e garanta configurações razoáveis para max_tokens e de parada. |
stream |
booleano | Opcional | Falso | Se o progresso parcial deverá ser transmitido de volta. Se definido, os tokens serão enviados como eventos enviados pelo servidor somente de dados à medida que estiverem disponíveis, com o fluxo encerrado por uma mensagem data: [DONE]. |
logprobs |
Número inteiro | Opcional | nulo | Inclua as probabilidades de log nos tokens mais prováveis de 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 de amostra, portanto, poderá haver até elementos logprobs+1 na resposta. Esse 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 |
booleano | Opcional | Falso | Transmite o prompt de volta além da conclusão. Esse 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. |
presence_penalty |
número | Opcional | 0 | Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base em se apareceram no texto até o momento, aumentando a probabilidade do modelo apresentar 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é o momento, diminuindo a probabilidade do modelo repetir a mesma linha na íntegra. |
best_of |
Número inteiro | Opcional | 1 | Gera best_of completações no 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 conclusões de candidatos e n especifica quantos retornar, best_of deve ser maior que n. Observação: como esse parâmetro gera muitas conclusões, ele poderá consumir rapidamente a sua cota de token. Use com cuidado e garanta configurações razoáveis para max_tokens e de parada. Esse parâmetro não pode ser usado com gpt-35-turbo . |
Solicitação de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2023-05-15\
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{
\"prompt\": \"Once upon a time\",
\"max_tokens\": 5
}"
Exemplo de resposta
{
"id": "cmpl-4kGh7iXtjW4lc9eGhff6Hp8C7btdQ",
"object": "text_completion",
"created": 1646932609,
"model": "ada",
"choices": [
{
"text": ", a dark line crossed",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
]
}
No exemplo de resposta, finish_reason
é igual a stop
. Se finish_reason
for igual content_filter
a, consulte nosso guia de filtragem de 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 machine learning e outros algoritmos.
Observação
Atualmente, o OpenAI permite um número maior de entradas de matriz com text-embedding-ada-002
. Atualmente, o OpenAI do Azure dá suporte a até 16 matrizes de entrada 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 esse 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ário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome de sua implantação de modelo. É obrigatório que você implante um modelo antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Isso segue o formato AAAA-MM-DD. |
Versões com suporte
2022-12-01
Especificações do Swagger2023-03-15-preview
Especificações do Swagger2023-05-15
Especificações do Swagger2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Corpo da solicitação
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
input |
cadeia de caracteres ou matriz | Sim | N/D | Insira o texto para o qual 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. Somente text-embedding-ada-002 (Version 2) dá suporte à entrada de matriz. |
user |
string | Não | Null | Um identificador exclusivo que representa o usuário final. Isso ajudará o OpenAI do Azure a monitorar e detectar abusos. Não passe identificadores de PII, em vez disso, use valores pseudoanônimos, como GUIDs. |
Solicitação de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2023-05-15 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{\"input\": \"The food was delicious and the waiter...\"}"
Exemplo de resposta
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.018990106880664825,
-0.0073809814639389515,
.... (1024 floats total for ada)
0.021276434883475304,
],
"index": 0
}
],
"model": "text-similarity-babbage:001"
}
Preenchimentos de chat
Crie preenchimentos para mensagens de chat com os modelos GPT-35-Turbo e GPT-4.
Criar preenchimentos 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ário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome de sua implantação de modelo. É obrigatório que você implante um modelo antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Isso segue o formato AAAA-MM-DD. |
Versões com suporte
2023-03-15-preview
Especificações do Swagger2023-05-15
Especificações do Swagger2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Solicitação de exemplo
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-05-15 \
-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?"}]}'
Exemplo de resposta
{"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}]}
No exemplo de resposta, finish_reason
é igual a stop
. Se finish_reason
for igual content_filter
a, consulte nosso guia de filtragem de conteúdo para entender por que isso está ocorrendo.
Formatação de saída ajustada para facilidade de leitura. A saída real é um único bloco de texto sem quebras de linha.
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
messages |
array | Obrigatório | A coleção de mensagens de contexto associadas a esta solicitação de preenchimentos de chat. O uso típico começa com uma mensagem de chat 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 temperatura de amostragem usar, 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.\nGeralmente recomendamos alterar isso ou top_p , mas não as duas coisas. |
n |
Número inteiro | Opcional | 1 | Quantas opções de preenchimento de chat serão geradas para cada mensagem de entrada. |
stream |
booleano | Opcional | false | Se forem definidos, os deltas de mensagens parciais serão enviados, como no ChatGPT. Se forem definidos, os tokens serão enviados como eventos somente de dados enviados pelo servidor à medida que estiverem disponíveis, com a transmissão sendo encerrada por uma mensagem data: [DONE] . |
stop |
cadeia de caracteres ou matriz | Opcional | nulo | Até quatro sequências nas quais a API irá parar de gerar tokens. |
max_tokens |
Número inteiro | Opcional | inf | O número máximo de tokens permitidos 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 apareceram no texto até o momento, aumentando a probabilidade do modelo apresentar 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é o momento, diminuindo a probabilidade do modelo repetir a mesma linha na íntegra. |
logit_bias |
objeto | Opcional | nulo | Modifica a probabilidade de tokens especificados que aparecerem na conclusão. Aceita um objeto json que mapeia tokens (especificados por sua ID de token no tokenizador) para um respectivo valor de viés de -100 a 100. Matematicamente, o desvio é adicionado aos logits gerados pelo modelo antes da amostragem. O efeito exato varia de acordo com o modelo, mas os valores entre -1 e 1 deverão diminuir ou aumentar a probabilidade da seleção, os valores como -100 ou 100 deverão resultar em uma proibição ou seleção exclusiva do token relevante. |
user |
string | Opcional | Um identificador único representando o seu usuário final, que pode ajudar o OpenAI do Azure a monitorar e detectar abusos. | |
function_call |
Opcional | Controla como o modelo responde a chamadas de função. “none” significa que o modelo não chama uma função e responde ao usuário final. “auto” significa que o modelo pode escolher entre um usuário final ou chamar uma função. Especificar uma determinada função por meio 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. Esse parâmetro requer a versão da API 2023-07-01-preview |
||
functions |
FunctionDefinition[] |
Opcional | Uma lista de funções para as quais o modelo pode gerar entradas JSON. Esse parâmetro requer a versão da API 2023-07-01-preview |
ChatMessage
Uma única mensagem atribuída por função dentro de uma interação de preenchimento de chat.
Nome | Type | Descrição |
---|---|---|
conteúdo | string | O texto associado a este conteúdo de mensagem. |
function_call | FunctionCall | O nome e os argumentos de uma função que deve ser chamada, conforme gerado pelo modelo. |
name | string | O name do autor desta mensagem. name será necessário se a função 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 este conteúdo de mensagem |
ChatRole
Uma descrição da finalidade pretendida de uma mensagem dentro de uma interação de preenchimentos de chat.
Nome | Type | Descrição |
---|---|---|
assistente | string | A função que fornece respostas à entrada solicitada pelo usuário e instruída pelo sistema. |
função | string | A função que fornece resultados de função para preenchimentos de chat. |
sistema | string | A função que instrui ou define o comportamento do assistente. |
usuário | string | A função que fornece entrada para preenchimentos de chat. |
FunctionCall
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 | Type | Descrição |
---|---|---|
argumentos | string | Os argumentos com os quais chamar a função, conforme gerado pelo modelo no formato JSON. Observe que o modelo nem sempre gera JSON válido e pode fabricar parâmetros não definidos pelo esquema de função. Valide os argumentos em seu código antes de chamar sua função. |
name | string | O nome da função a chamar. |
FunctionDefinition
A definição de uma função especificada pelo chamador que os preenchimentos de chat podem invocar em resposta à entrada do usuário correspondente. Isso requer a versão da API 2023-07-01-preview
Nome | Type | Descrição |
---|---|---|
descrição | string | Uma descrição do que a função faz. O modelo usará essa descrição ao selecionar a função e interpretar seus parâmetros. |
name | string | O nome da função que será chamada. |
parameters | Os parâmetros que as funções aceitam, descritos como um objeto de Esquema JSON. |
Extensões de preenchimento
Extensões para preenchimento de chats, por exemplo, OpenAI do Azure em seus dados.
Usar extensões de preenchimento de chats
POST {your-resource-name}/openai/deployments/{deployment-id}/extensions/chat/completions?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome de sua implantação de modelo. É obrigatório que você implante um modelo antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Isso segue o formato AAAA-MM-DD. |
Versões com suporte
2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Solicitação de exemplo
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
'
{
"temperature": 0,
"max_tokens": 1000,
"top_p": 1.0,
"dataSources": [
{
"type": "AzureCognitiveSearch",
"parameters": {
"endpoint": "'YOUR_AZURE_COGNITIVE_SEARCH_ENDPOINT'",
"key": "'YOUR_AZURE_COGNITIVE_SEARCH_KEY'",
"indexName": "'YOUR_AZURE_COGNITIVE_SEARCH_INDEX_NAME'"
}
}
],
"messages": [
{
"role": "user",
"content": "What are the differences between Azure Machine Learning and Azure AI services?"
}
]
}
'
Exemplo de resposta
{
"id": "12345678-1a2b-3c4e5f-a123-12345678abcd",
"model": "",
"created": 1684304924,
"object": "chat.completion",
"choices": [
{
"index": 0,
"messages": [
{
"role": "tool",
"content": "{\"citations\": [{\"content\": \"\\nAzure AI services are cloud-based artificial intelligence (AI) services...\", \"id\": null, \"title\": \"What is Azure AI services\", \"filepath\": null, \"url\": null, \"metadata\": {\"chunking\": \"orignal document size=250. Scores=0.4314117431640625 and 1.72564697265625.Org Highlight count=4.\"}, \"chunk_id\": \"0\"}], \"intent\": \"[\\\"Learn about Azure AI services.\\\"]\"}",
"end_turn": false
},
{
"role": "assistant",
"content": " \nAzure AI services are cloud-based artificial intelligence (AI) services that help developers build cognitive intelligence into applications without having direct AI or data science skills or knowledge. [doc1]. Azure Machine Learning is a cloud service for accelerating and managing the machine learning project lifecycle. [doc1].",
"end_turn": true
}
]
}
]
}
Parâmetros | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
messages |
array | Obrigatório | nulo | As mensagens para as quais gerar preenchimentos de chat, no formato do chat. |
dataSources |
array | Obrigatório | As fontes de dados a serem usadas pelo OpenAI do Azure em seu recurso de dados. | |
temperature |
número | Opcional | 0 | Qual temperatura de amostragem usar, 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 as duas coisas. |
top_p |
número | Opcional | 1 | Uma alternativa à amostragem com temperatura, chamada de amostragem de núcleo, onde o modelo considera os resultados dos tokens com massa de probabilidade top_p . Portanto, 0,1 significa que apenas os tokens que compõem a massa de probabilidade de 10% do topo são considerados. Geralmente, é recomendável alterar este ou a temperatura, mas não ambos. |
stream |
booleano | Opcional | false | Se forem definidos, os deltas de mensagens parciais serão enviados, como no ChatGPT. Se forem definidos, os tokens serão enviados como eventos somente de dados enviados pelo servidor à medida que estiverem disponíveis, com a transmissão sendo encerrada por uma mensagem "messages": [{"delta": {"content": "[DONE]"}, "index": 2, "end_turn": true}] |
stop |
cadeia de caracteres ou matriz | Opcional | nulo | Até 2 sequências nas quais a API irá parar de gerar tokens. |
max_tokens |
Número inteiro | Opcional | 1000 | O número máximo de tokens permitidos para a resposta gerada. Por padrão, o número de tokens que o modelo pode retornar é 4096 - prompt_tokens . |
Os parâmetros a seguir podem ser usados dentro do campo parameters
dentro das dataSources
.
Parâmetros | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
type |
string | Obrigatório | nulo | A fonte de dados a ser usada pelo OpenAI do Azure em seu recurso de dados. Para o Azure Cognitive Search, o valor é AzureCognitiveSearch . |
endpoint |
string | Obrigatório | nulo | O ponto de extremidade da fonte de dados. |
key |
string | Obrigatório | nulo | Uma das chaves de administração do Azure Cognitive Search para seu serviço. |
indexName |
string | Obrigatório | nulo | O índice de pesquisa a ser usado. |
fieldsMapping |
dicionário | Opcional | nulo | Mapeamento de coluna de dados de índice. |
inScope |
booleano | Opcional | true | Se definido, esse valor limitará as respostas específicas ao conteúdo de dados de aterramento. |
topNDocuments |
número | Opcional | 5 | Número de documentos que precisam ser buscados para o aumento de documentos. |
queryType |
string | Opcional | simple | Indica qual opção de consulta será usada para o Azure Cognitive Search. |
semanticConfiguration |
string | Opcional | nulo | A configuração da pesquisa semântica. Disponível somente quando queryType é definido como semantic . |
roleInformation |
string | Opcional | nulo | Fornece instruções ao modelo sobre como ele deve se comportar e o contexto que deve referenciar ao gerar uma resposta. Corresponde à "Mensagem do Sistema" no Azure OpenAI Studio. Veja Usando seus dados para obter mais informações. Há um limite de 100 tokens, que conta para o limite geral de tokens. |
filter |
string | Opcional | nulo | O padrão de filtro usado para restringir o acesso a documentos confidenciais |
embeddingEndpoint |
string | Opcional | nulo | o URL do ponto de extremidade para uma implantação de modelo de incorporação Ada. Usado para busca em vetores. |
embeddingKey |
string | Opcional | nulo | a chave de API para uma implantação de modelo de incorporação Ada. Usado para busca em vetores. |
Geração de imagem
Solicitar uma imagem gerada
Gerar um lote de imagens a partir de uma legenda.
POST https://{your-resource-name}.openai.azure.com/openai/images/generations:submit?api-version={api-version}
Parâmetros de caminho
Parâmetro | Type | Necessário? | Descrição |
---|---|---|---|
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 ser usada para esta operação. Isso segue o formato AAAA-MM-DD. |
Versões com suporte
2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Corpo da solicitação
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
prompt |
string | Obrigatório | Uma descrição de texto das imagens desejadas. O comprimento máximo é de 1.000 caracteres. | |
n |
Número inteiro | Opcional | 1 | O número de imagens a serem geradas. Precisa estar entre 1 e 5. |
size |
string | Opcional | 1\.024 x 1.024 | O tamanho das imagens geradas. Pode ser 256x256 , 512x512 ou 1024x1024 . |
Solicitação 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
}'
Exemplo de resposta
A operação retorna um código de status 202
e um objeto JSON de GenerateImagesResponse
que contém a ID e o status da operação.
{
"id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa",
"status": "notRunning"
}
Obter um resultado de imagem gerada
Use essa API para recuperar os resultados de uma operação de geração de imagem. Atualmente, a geração de imagem só está disponível com a api-version=2023-06-01-preview
.
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ário? | Descrição |
---|---|---|---|
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 com suporte
2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Solicitação 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}"
Exemplo de resposta
Ao ser bem-sucedida, a operação retorna um código de status 200
e um objeto JSON de OperationResponse
. O campo de status
pode ser "notRunning"
(a tarefa está na fila de espera, mas ainda não foi iniciada), "running"
, "succeeded"
, "canceled"
(a tarefa excedeu o tempo limite), "failed"
ou "deleted"
. Um status succeeded
indica que a imagem gerada está disponível para download no URL fornecido. Se várias imagens foram geradas, seus URLs serão todos retornados no campo result.data
.
{
"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
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 disparar 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ário? | Descrição |
---|---|---|---|
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 com suporte
2023-06-01-preview
Especificações do Swagger2023-07-01-preview
Especificações do Swagger2023-08-01-preview
Especificações do Swagger
Solicitação 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}"
Resposta
A operação retornará um código de status 204
se for bem-sucedida. Essa API só terá sucesso se a operação estiver em um estado final (não running
).
Conversão de fala em texto
Solicitar uma transcrição da conversão de fala em texto
Transcrever 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ário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da sua implantação do modelo Whisper, como MyWhisperDeployment. Você deve implantar primeiro um modelo Whisper antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Esse valor segue o formato AAAA-MM-DD. |
Versões com suporte
2023-09-01-preview
Corpo da solicitação
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
file |
file | Sim | N/D | O objeto de arquivo de áudio (não o nome do arquivo) a ser transcrito, em um destes formatos: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav ou webm. O limite de tamanho do arquivo para o modelo do OpenAI do Azure Whisper é de 25 MB. Se você precisar transcrever um arquivo com mais de 25 MB, divida-o em partes. Alternativamente, você pode usar a API de transcrição em lote da Fala de IA do Azure. Você pode obter os arquivos de áudio de amostra no repositório do SDK de Fala de IA do Azure no GitHub. |
language |
string | Não | Null | O idioma do áudio de entrada, como fr . O fornecimento da linguagem de entrada no formato ISO-639-1 melhora a precisão e a latência.Para obter a lista de idiomas com suporte, consulte a documentação da OpenAI. |
prompt |
string | Não | Null | 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 os prompts, incluindo os exemplos de casos de uso, consulte a documentação da 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 da 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 determinista. Se for definido como 0, o modelo usa o log probabilidade para aumentar automaticamente a temperatura até que determinados limites sejam atingidos. O valor padrão é 0. |
Solicitação 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"
Exemplo de resposta
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 da conversão de fala em texto
Traduz um arquivo de áudio de outro idioma para o inglês. Para obter a lista de idiomas com suporte, consulte a documentação da 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ário? | Descrição |
---|---|---|---|
your-resource-name |
string | Obrigatório | O nome do seu recurso OpenAI do Azure. |
deployment-id |
string | Obrigatório | O nome da sua implantação do modelo Whisper, como MyWhisperDeployment. Você deve implantar primeiro um modelo Whisper antes de poder fazer chamadas. |
api-version |
string | Obrigatório | A versão da API a ser usada para esta operação. Esse valor segue o formato AAAA-MM-DD. |
Versões com suporte
2023-09-01-preview
Corpo da solicitação
Parâmetro | Type | Obrigatório? | Padrão | Descrição |
---|---|---|---|---|
file |
file | Sim | N/D | O objeto de arquivo de áudio (não o nome do arquivo) a ser transcrito, em um destes formatos: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav ou webm. O limite de tamanho do arquivo para o modelo do OpenAI do Azure Whisper é de 25 MB. Se você precisar transcrever um arquivo com mais de 25 MB, divida-o em partes. Você pode fazer o download de arquivos de áudio de amostra do repositório do SDK de Fala de IA do Azure no GitHub. |
prompt |
string | Não | Null | 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 os prompts, incluindo os exemplos de casos de uso, consulte a documentação da 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 da 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 determinista. Se for definido como 0, o modelo usa o log probabilidade para aumentar automaticamente a temperatura até que determinados limites sejam atingidos. O valor padrão é 0. |
Solicitação 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"
Exemplo de resposta
{
"text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}
APIs de gerenciamento
O OpenAI do Azure é 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 OpenAI.
Documentação de referência das APIs de gerenciamento
Próximas etapas
Saiba mais sobre Modelos e ajuste fino com a API REST. Saiba mais sobre os modelos subjacentes que alimentam o OpenAI do Azure.