Conclusão de chat da Mistral AI - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conclusão de chat da Mistral AI

A API de conclusão de chat da Mistral AI permite criar aplicações de conversação.

dica

Você pode usar a API de conclusão de Mistral AI bate-papo com as operações básicas de inferência (InvokeModelou InvokeModelWithResponseStream). No entanto, recomendamos que você use a Converse API para implementar mensagens em seu aplicativo. A Converse API fornece um conjunto unificado de parâmetros que funcionam em todos os modelos compatíveis com mensagens. Para obter mais informações, consulte Converse com as operações da Converse API.

Os modelos da Mistral AI estão disponíveis sob a licença do Apache 2.0. Para obter mais informações sobre o uso dos modelos da Mistral AI, consulte a documentação da Mistral AI.

Modelos compatíveis

É possível usar os modelos Mistral AI a seguir.

  • Mistral Large

É necessário o ID do modelo que deseja usar. Para obter o ID do modelo, consulte Modelos de base compatíveis no Amazon Bedrock.

Solicitação e reposta

Request

Os modelos da Mistral AI têm os parâmetros de inferência a seguir.

{ "messages": [ { "role": "system"|"user"|"assistant", "content": str }, { "role": "assistant", "content": "", "tool_calls": [ { "id": str, "function": { "name": str, "arguments": str } } ] }, { "role": "tool", "tool_call_id": str, "content": str } ], "tools": [ { "type": "function", "function": { "name": str, "description": str, "parameters": dict } } ], "tool_choice": "auto"|"any"|"none", "max_tokens": int, "top_p": float, "temperature": float }

Veja a seguir os parâmetros necessários.

  • messages: (obrigatório) as mensagens que você deseja passar para o modelo.

    • role: o perfil da mensagem. Os valores válidos são:

      • system: define o comportamento e o contexto do modelo na conversação.

      • user: a mensagem do usuário a ser enviada ao modelo.

      • assistant: a resposta do modelo.

    • content: o conteúdo da mensagem.

    [ { "role": "user", "content": "What is the most popular song on WZPZ?" } ]

    Para passar o resultado de uma ferramenta, use JSON com os campos a seguir.

    • role: o perfil da mensagem. O valor deve ser tool.

    • tool_call_id: o ID da solicitação da ferramenta. Você obtém o ID dos campos tool_calls na resposta da solicitação anterior.

    • content: o resultado da ferramenta.

    O exemplo a seguir é o resultado de uma ferramenta que obtém a música mais tocada em uma estação de rádio.

    { "role": "tool", "tool_call_id": "v6RMMiRlT7ygYkT4uULjtg", "content": "{\"song\": \"Elemental Hotel\", \"artist\": \"8 Storey Hike\"}" }

Veja a seguir os parâmetros opcionais.

  • tools: definições de ferramentas que o modelo pode usar.

    Se você incluir tools em sua solicitação, o modelo poderá exibir um campo tool_calls na mensagem que representa o uso dessas ferramentas pelo modelo. É possível executar essas ferramentas usando a entrada de ferramenta gerada pelo modelo e, opcionalmente, retornar os resultados ao modelo usando blocos de conteúdo de tool_result.

    O exemplo a seguir é de uma ferramenta que obtém as músicas mais tocadas em uma estação de rádio.

    [ { "type": "function", "function": { "name": "top_song", "description": "Get the most popular song played on a radio station.", "parameters": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } } ]
  • tool_choice: especifica como os perfis são chamados. Se definido como none, o modelo não chamará um perfil e, em vez disso, gerará uma mensagem. Se definido como auto, o modelo poderá optar por gerar uma mensagem ou chamar um perfil. Se definido como any, o modelo será forçado a chamar um perfil.

  • max_tokens: especifique o número máximo de tokens a serem usados na resposta gerada. O modelo trunca a resposta quando o texto gerado excede max_tokens.

    Padrão Mínimo Máximo

    Mistral Large: 8.192

    1

    Mistral Large: 8.192

  • temperature: controla a aleatoriedade das previsões feitas pelo modelo. Para obter mais informações, consulte Geração de resposta de influência com parâmetros de inferência..

    Padrão Mínimo Máximo

    Mistral Large: 0,7

    0

    1

  • top_p: controla a diversidade do texto gerado pelo modelo ao definir a porcentagem de candidatos mais prováveis que o modelo considera para o próximo token. Para obter mais informações, consulte Geração de resposta de influência com parâmetros de inferência..

    Padrão Mínimo Máximo

    Mistral Large: 1

    0

    1

Response

A resposta body de uma chamada para InvokeModel é a seguinte:

{ "choices": [ { "index": 0, "message": { "role": "assistant", "content": str, "tool_calls": [...] }, "stop_reason": "stop"|"length"|"tool_calls" } ] }

A resposta do body tem os seguintes campos:

  • choices: a saída dos campos do modelo.

    • index: o índice da mensagem.

    • message: a mensagem do modelo.

      • role: o perfil da mensagem.

      • content: o conteúdo da mensagem.

      • tool_calls: se o valor de stop_reason for tool_calls, esse campo conterá uma lista de solicitações de ferramentas que o modelo deseja que você execute.

        • id: o ID da solicitação da ferramenta.

        • function: a função que o modelo está solicitando.

          • name: o nome da função.

          • arguments: os argumentos a serem passados para a ferramenta

        Veja um exemplo de solicitação de uma ferramenta que obtém as músicas mais tocadas em uma estação de rádio.

        [ { "id": "v6RMMiRlT7ygYkT4uULjtg", "function": { "name": "top_song", "arguments": "{\"sign\": \"WZPZ\"}" } } ]
    • stop_reason: o motivo pelo qual a resposta parou de gerar texto. Os valores possíveis são:

      • interromper: o modelo terminou de gerar texto para o prompt de entrada. O modelo para porque não tem mais conteúdo para gerar ou se o modelo gerar uma das sequências de parada que você define no parâmetro de solicitação stop.

      • length: o tamanho dos tokens do texto gerado excede o valor de max_tokens. A resposta é truncada em tokens max_tokens.

      • tool_calls: o modelo está solicitando que você execute uma ferramenta.