Partilhar via


Referência: Conclusão do Chat | Azure Machine Learning

Cria um modelo de resposta para determinada conversa de chat.

POST /chat/completions?api-version=2024-04-01-preview

Parâmetros do URI

Nome Em Necessário Type Description
api-version query True string A versão da API no formato "AAAA-MM-DD" ou "AAAA-MM-DD-visualização".

Cabeçalho do Pedido

Nome Obrigatório Type Description
extra-parâmetros string O comportamento da API quando parâmetros extras são indicados na carga útil. O uso pass-through faz com que a API passe o parâmetro para o modelo subjacente. Use esse valor quando quiser passar parâmetros que você sabe que o modelo subjacente pode suportar. O uso ignore faz com que a API elimine qualquer parâmetro não suportado. Use esse valor quando precisar usar a mesma carga em modelos diferentes, mas um dos parâmetros extras pode fazer com que um modelo cometa erro se não for suportado. O uso error faz com que a API rejeite qualquer parâmetro extra na carga útil. Somente os parâmetros especificados nesta API podem ser indicados, ou um erro 400 é retornado.
azureml-model-deployment string Nome da implantação para a qual você deseja rotear a solicitação. Suporte para endpoints que suportam várias implantações.

Corpo do Pedido

Nome Obrigatório Type Description
mensagens True ChatCompletionRequestMessage Uma lista de mensagens que compõem a conversa até agora. Retorna um erro 422 se pelo menos algumas das mensagens não puderem ser entendidas pelo modelo.
frequency_penalty Número Ajuda a evitar repetições de palavras, reduzindo a chance de uma palavra ser selecionada se já tiver sido usada. Quanto maior a penalidade de frequência, menor a probabilidade de o modelo repetir as mesmas palavras em sua saída. Retorne um erro 422 se o valor ou parâmetro não for suportado pelo modelo.
max_tokens integer O número máximo de tokens que podem ser gerados na conclusão do chat.

O comprimento total dos tokens de entrada e dos tokens gerados é limitado pelo comprimento do contexto do modelo. Passar null faz com que o modelo use seu comprimento máximo de contexto.
presence_penalty Número Ajuda a evitar que os mesmos tópicos se repitam, penalizando uma palavra se ela já existir na conclusão, mesmo que apenas uma vez. Retorne um erro 422 se o valor ou parâmetro não for suportado pelo modelo.
response_format ChatCompletionResponseFormat
sementes integer 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.
parar Sequências em que a API deixará de gerar mais tokens.
transmissão em fluxo boolean Se definido, deltas de mensagem parciais serão enviados. Os tokens serão enviados como eventos enviados apenas pelo servidor de dados à medida que ficam disponíveis, com o fluxo encerrado por uma data: [DONE] mensagem.
temperatura Número Número não negativo. Retorne 422 se o valor não for suportado pelo modelo.
tool_choice ChatCompletionToolChoiceOption Controla qual (se houver) função é chamada pelo modelo. none 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 {"type": "function", "function": {"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. Retorna um erro 422 se a ferramenta não for suportada pelo modelo.
ferramentas ChatCompletionTool[] 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. Retorna um erro 422 se a ferramenta não for suportada pelo modelo.
top_p Número 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 isso ou temperature mas não ambos.

Respostas

Nome Tipo Description
200 OK CreateChatCompletionResponse OK
401 Não Autorizado UnauthorizedError O token de acesso está ausente ou é inválido

Cabeçalhos

x-ms-error-code: cadeia de caracteres
404 Não Encontrado NotFoundError Modalidade não suportada pelo modelo. Verifique a documentação do modelo para ver quais rotas estão disponíveis.

Cabeçalhos

x-ms-error-code: cadeia de caracteres
422 Entidade não processável UnprocessableContentError A solicitação contém conteúdo não processável

Cabeçalhos

x-ms-error-code: cadeia de caracteres
Demasiados Pedidos 429 TooManyRequestsError Você atingiu o limite de taxa atribuído e sua solicitação precisa ser cadenciada.

Cabeçalhos

x-ms-error-code: cadeia de caracteres
Outros códigos de status ContentFilterError Solicitação inválida

Cabeçalhos

x-ms-error-code: cadeia de caracteres

Segurança

Autorização

O token com o prefixo Bearer: , por exemplo, Bearer abcde12345

Tipo: apiKey
Em: cabeçalho

AADToken

Autenticação OAuth2 do Azure Ative Directory

Tipo: oauth2
Fluxo: aplicação
URL do token: https://login.microsoftonline.com/common/oauth2/v2.0/token

Exemplos

Cria um modelo de resposta para determinada conversa de bate-papo

Pedido de Amostra

POST /chat/completions?api-version=2024-04-01-preview

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant"
    },
    {
      "role": "user",
      "content": "Explain Riemann's conjecture"
    },
    {
      "role": "assistant",
      "content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
    },
    {
      "role": "user",
      "content": "Ist it proved?"
    }
  ],
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1,
  "response_format": { "type": "text" }
}

Pedido de Resposta

Código de status: 200

{
  "id": "1234567890",
  "model": "llama2-70b-chat",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "No, it has never been proved"
      }
    }
  ],
  "created": 1234567890,
  "object": "chat.completion",
  "usage": {
    "prompt_tokens": 205,
    "completion_tokens": 5,
    "total_tokens": 210
  }
}

Definições

Nome Descrição
ChatCompletionRequestMessage
ChatCompletionMessageContentPart
ChatCompletionMessageContentPartType
ChatCompletionToolChoiceOption Controla qual (se houver) função é chamada pelo modelo. none 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 {"type": "function", "function": {"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. Retorna um erro 422 se a ferramenta não for suportada pelo modelo.
ChatCompletionFinishReason A razão pela qual o modelo parou de gerar tokens. Isso será stop se o modelo atingir um ponto de parada natural ou uma sequência de parada fornecida, length se o número máximo de tokens especificado na solicitação foi atingido, content_filter se o conteúdo foi omitido devido a um sinalizador de nossos filtros de conteúdo, tool_calls se o modelo chamou uma ferramenta.
ChatCompletionMessageToolCall
ChatCompletionObject O tipo de objeto, que é sempre chat.completion.
ChatCompletionResponseFormat O formato de resposta para a resposta do modelo. Configuração para json_object habilitar o modo JSON, que garante que a mensagem gerada pelo modelo seja JSON válida. Ao usar o modo JSON, você também deve instruir o modelo a produzir JSON por conta própria por meio de um sistema ou mensagem de usuário. Observe também que o conteúdo da mensagem pode ser parcialmente cortado se finish_reason="length", o que indica que a geração excedeu max_tokens ou a conversa excedeu o comprimento máximo de contexto.
ChatCompletionResponseFormatType O tipo de formato de resposta.
ChatCompletionResponseMessage Uma mensagem de conclusão do chat gerada pelo modelo.
ChatCompletionTool
ChatMessageRole O papel do autor desta mensagem.
Choices Uma lista de opções de conclusão de chat.
ConclusãoUso Estatísticas de utilização do pedido de conclusão.
ContentFilterError A chamada de API falha quando o prompt aciona um filtro de conteúdo conforme configurado. Modifique o prompt e tente novamente.
CreateChatCompletionRequest
CreateChatCompletionResponse Representa uma resposta de conclusão de chat retornada por modelo, com base na entrada fornecida.
Detalhe Detalhes para o erro UnprocessableContentError .
Função A função que o modelo chamou.
FunctionObject Definição de uma função à qual o modelo tem acesso.
ImagemDetalhe Especifica o nível de detalhe da imagem.
NotFoundError A rota não é válida para o modelo implantado.
Tipo de ferramenta O tipo da ferramenta. Atualmente, apenas function é suportado.
TooManyRequestsError Você atingiu o limite de taxa atribuído e suas solicitações precisam ser aceleradas.
UnauthorizedError A autenticação está ausente ou é inválida.
UnprocessableContentError A solicitação contém conteúdo não processável. O erro é devolvido quando a carga útil indicada é válida de acordo com esta especificação. No entanto, algumas das instruções indicadas na carga útil não são suportadas pelo modelo subjacente. Use a details seção para entender o parâmetro ofensivo.

ChatCompletionFinishReason

A razão pela qual o modelo parou de gerar tokens. Isso será stop se o modelo atingir um ponto de parada natural ou uma sequência de parada fornecida, length se o número máximo de tokens especificado na solicitação foi atingido, content_filter se o conteúdo foi omitido devido a um sinalizador de nossos filtros de conteúdo, tool_calls se o modelo chamou uma ferramenta.

Nome Tipo Description
content_filter string
length string
parar string
tool_calls string

ChatCompletionMessageToolCall

Nome Tipo Descrição
function Função A função que o modelo chamou.
ID string O ID da chamada da ferramenta.
tipo Tipo de ferramenta O tipo da ferramenta. Atualmente, apenas function é suportado.

ChatCompletionObject

O tipo de objeto, que é sempre chat.completion.

Nome Tipo Description
chat.conclusão string

ChatCompletionResponseFormat

O formato de resposta para a resposta do modelo. Configuração para json_object habilitar o modo JSON, que garante que a mensagem gerada pelo modelo seja JSON válida. Ao usar o modo JSON, você também deve instruir o modelo a produzir JSON por conta própria por meio de um sistema ou mensagem de usuário. Observe também que o conteúdo da mensagem pode ser parcialmente cortado se finish_reason="length", o que indica que a geração excedeu max_tokens ou a conversa excedeu o comprimento máximo de contexto.

Nome Tipo Description
tipo ChatCompletionResponseFormatType O tipo de formato de resposta.

ChatCompletionResponseFormatType

O tipo de formato de resposta.

Nome Tipo Description
json_object string
texto string

ChatCompletionResponseMessage

Uma mensagem de conclusão do chat gerada pelo modelo.

Nome Tipo Description
content string O conteúdo da mensagem.
função ChatMessageRole O papel do autor desta mensagem.
tool_calls ChatCompletionMessageToolCall[] As chamadas de ferramenta geradas pelo modelo, como chamadas de função.

ChatCompletionTool

Nome Tipo Descrição
function FunctionObject
tipo Tipo de ferramenta O tipo da ferramenta. Atualmente, apenas function é suportado.

ChatMessageRole

O papel do autor desta mensagem.

Nome Tipo Description
assistente string
sistema string
ferramenta string
Utilizador string

Escolhas

Uma lista de opções de conclusão de chat. Pode ser mais de um se n for maior que 1.

Nome Tipo Description
finish_reason ChatCompletionFinishReason A razão pela qual o modelo parou de gerar tokens. Isso será stop se o modelo atingir um ponto de parada natural ou uma sequência de parada fornecida, length se o número máximo de tokens especificado na solicitação foi atingido, content_filter se o conteúdo foi omitido devido a um sinalizador de nossos filtros de conteúdo, tool_calls se o modelo chamou uma ferramenta.
index integer O índice da escolha na lista de opções.
mensagem ChatCompletionResponseMessage Uma mensagem de conclusão do chat gerada pelo modelo.

ConclusãoUso

Estatísticas de utilização do pedido de conclusão.

Nome Tipo Description
completion_tokens integer Número de tokens na conclusão gerada.
prompt_tokens integer Número de tokens no prompt.
total_tokens integer Número total de tokens usados na solicitação (prompt + conclusão).

ContentFilterError

A chamada de API falha quando o prompt aciona um filtro de conteúdo conforme configurado. Modifique o prompt e tente novamente.

Nome Tipo Description
code string O código de erro.
error string A descrição do erro.
mensagem string A mensagem de erro.
param string O parâmetro que acionou o filtro de conteúdo.
status integer O código de status HTTP.

CreateChatCompletionRequest

Nome Type Valor Predefinido Description
frequency_penalty Número 0 Ajuda a evitar repetições de palavras, reduzindo a chance de uma palavra ser selecionada se já tiver sido usada. Quanto maior a penalidade de frequência, menor a probabilidade de o modelo repetir as mesmas palavras em sua saída. Retorne um erro 422 se o valor ou parâmetro não for suportado pelo modelo.
max_tokens integer O número máximo de tokens que podem ser gerados na conclusão do chat.

O comprimento total dos tokens de entrada e dos tokens gerados é limitado pelo comprimento do contexto do modelo. Passar null faz com que o modelo use seu comprimento máximo de contexto.
mensagens ChatCompletionRequestMessage[] Uma lista de mensagens que compõem a conversa até agora. Retorna um erro 422 se pelo menos algumas das mensagens não puderem ser entendidas pelo modelo.
presence_penalty Número 0 Ajuda a evitar que os mesmos tópicos se repitam, penalizando uma palavra se ela já existir na conclusão, mesmo que apenas uma vez. Retorne um erro 422 se o valor ou parâmetro não for suportado pelo modelo.
response_format ChatCompletionResponseFormat texto
sementes integer 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.
parar Sequências em que a API deixará de gerar mais tokens.
transmissão em fluxo boolean False Se definido, deltas de mensagem parciais serão enviados. Os tokens serão enviados como eventos enviados apenas pelo servidor de dados à medida que ficam disponíveis, com o fluxo encerrado por uma data: [DONE] mensagem.
temperatura Número 1 Número não negativo. Retorne 422 se o valor não for suportado pelo modelo.
tool_choice ChatCompletionToolChoiceOption Controla qual (se houver) função é chamada pelo modelo. none 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 {"type": "function", "function": {"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. Retorna um erro 422 se a ferramenta não for suportada pelo modelo.
ferramentas ChatCompletionTool[] 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. Retorna um erro 422 se a ferramenta não for suportada pelo modelo.
top_p Número 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 isso ou temperature mas não ambos.

ChatCompletionRequestMessage

Nome Tipo Description
content string ou ChatCompletionMessageContentPart[] O conteúdo da mensagem.
função ChatMessageRole O papel do autor desta mensagem.
tool_calls ChatCompletionMessageToolCall[] As chamadas de ferramenta geradas pelo modelo, como chamadas de função.

ChatCompletionMessageContentPart

Nome Tipo Description
content string Um URL da imagem ou os dados de imagem codificados em base64.
detalhe ImagemDetalhe Especifica o nível de detalhe da imagem.
tipo ChatCompletionMessageContentPartType O tipo da parte de conteúdo.

ChatCompletionMessageContentPartType

Nome Tipo Descrição
texto string
image string
image_url string

ChatCompletionToolChoiceOption

Controla qual (se houver) ferramenta é chamada pelo modelo.

Nome Tipo Description
nenhum string O modelo não chamará nenhuma ferramenta e, em vez disso, gerará uma mensagem.
auto string O modelo pode escolher entre gerar uma mensagem ou chamar uma ou mais ferramentas.
obrigatório string O modelo deve chamar uma ou mais ferramentas.
string Especificar uma ferramenta específica via {"type": "function", "function": {"name": "my_function"}} força o modelo a chamar essa ferramenta.

ImagemDetalhe

Especifica o nível de detalhe da imagem.

Nome Tipo Description
auto string
lowa string
alto string

CreateChatCompletionResponse

Representa uma resposta de conclusão de chat retornada por modelo, com base na entrada fornecida.

Nome Tipo Description
escolhas Escolhas[] Uma lista de opções de conclusão de chat. Pode ser mais de um se n for maior que 1.
criado integer O carimbo de data/hora Unix (em segundos) de quando a conclusão do chat foi criada.
ID string Um identificador exclusivo para a conclusão do chat.
modelo string O modelo usado para a conclusão do chat.
objeto ChatCompletionObject O tipo de objeto, que é sempre chat.completion.
system_fingerprint string Essa impressão digital representa a configuração de back-end com a qual o modelo é executado.

Pode ser usado em conjunto com o parâmetro request para entender quando alterações de back-end foram feitas que podem afetar o seed determinismo.
ativa ConclusãoUso Estatísticas de utilização do pedido de conclusão.

Detalhe

Detalhes para o erro UnprocessableContentError .

Nome Tipo Description
loc string[] O parâmetro que causa o problema
valor string O valor passado para o parâmetro causando problemas.

Function

A função que o modelo chamou.

Nome Tipo Description
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 gerar parâmetros incorretos 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.

FunctionObject

Definição de uma função à qual o modelo tem acesso.

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. Omitir parameters define uma função com uma lista de parâmetros vazia.

NotFoundError

Nome Tipo Description
error string A descrição do erro.
mensagem string A mensagem de erro.
status integer O código de status HTTP.

Tipo de ferramenta

O tipo da ferramenta. Atualmente, apenas function é suportado.

Nome Tipo Descrição
function string

TooManyRequestsError

Nome Tipo Description
error string A descrição do erro.
mensagem string A mensagem de erro.
status integer O código de status HTTP.

UnauthorizedError

Nome Tipo Description
error string A descrição do erro.
mensagem string A mensagem de erro.
status integer O código de status HTTP.

UnprocessableContentError

A solicitação contém conteúdo não processável. O erro é devolvido quando a carga útil indicada é válida de acordo com esta especificação. No entanto, algumas das instruções indicadas na carga útil não são suportadas pelo modelo subjacente. Use a details seção para entender o parâmetro ofensivo.

Nome Tipo Description
code string O código de erro.
detalhe Detalhe
error string A descrição do erro.
mensagem string A mensagem de erro.
status integer O código de status HTTP.