Mistral AIfin du chat - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mistral AIfin du chat

L'API de fin de Mistral AI chat permet de créer des applications conversationnelles.

Astuce

Vous pouvez utiliser l'API de fin de Mistral AI chat avec les opérations d'inférence de base (InvokeModelou InvokeModelWithResponseStream). Toutefois, nous vous recommandons d'utiliser l'API Converse pour implémenter les messages dans votre application. L'API Converse fournit un ensemble unifié de paramètres qui fonctionnent sur tous les modèles prenant en charge les messages. Pour plus d’informations, consultez Mener une conversation avec les opérations de Converse API.

Mistral AIles modèles sont disponibles sous licence Apache 2.0. Pour plus d'informations sur l'utilisation Mistral AI des modèles, consultez la Mistral AIdocumentation.

Modèles pris en charge

Vous pouvez utiliser les Mistral AI modèles suivants.

  • Mistral Large

Vous avez besoin de l’ID du modèle que vous voulez utiliser. Pour obtenir l'ID du modèle, voirModèle Amazon Bedrock IDs.

Demande et réponse

Request

Les Mistral AI modèles possèdent les paramètres d'inférence suivants.

{ "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 }

Les paramètres suivants sont obligatoires.

  • messages — (Obligatoire) Les messages que vous souhaitez transmettre au modèle.

    • role — Le rôle du message. Les valeurs valides sont :

      • système — Définit le comportement et le contexte du modèle dans la conversation.

      • user — Le message de l'utilisateur à envoyer au modèle.

      • assistant — La réponse du modèle.

    • content — Le contenu du message.

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

    Pour transmettre le résultat d'un outil, utilisez le format JSON avec les champs suivants.

    • role — Le rôle du message. La valeur doit êtretool.

    • tool_call_id — L'ID de la demande d'outil. Vous obtenez l'identifiant dans les tool_calls champs de réponse de la demande précédente.

    • content — Le résultat de l'outil.

    L'exemple suivant est le résultat d'un outil qui permet d'obtenir la chanson la plus populaire sur une station de radio.

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

Les paramètres suivants sont facultatifs.

  • outils — Définitions des outils que le modèle peut utiliser.

    Si vous l'incluez tools dans votre demande, le modèle peut renvoyer un tool_calls champ dans le message qui représente l'utilisation de ces outils par le modèle. Vous pouvez ensuite exécuter ces outils à l'aide de l'entrée d'outil générée par le modèle, puis éventuellement renvoyer les résultats au modèle à l'aide de blocs de tool_result contenu.

    L'exemple suivant concerne un outil qui permet d'obtenir les chansons les plus populaires d'une station de radio.

    [ { "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 — Spécifie comment les fonctions sont appelées. S'il est défini none sur le modèle, il n'appellera pas de fonction et générera un message à la place. S'il est défini auto sur le modèle, vous pouvez choisir de générer un message ou d'appeler une fonction. S'il est défini any sur le modèle, il est obligé d'appeler une fonction.

  • max_tokens — Spécifiez le nombre maximum de jetons à utiliser dans la réponse générée. Le modèle tronque la réponse une fois que le texte généré dépasse max_tokens.

    Par défaut Minimum Maximum

    Mistral Large— 8 192

    1

    Mistral Large— 8 192

  • température — Contrôle le caractère aléatoire des prédictions faites par le modèle. Pour plus d’informations, consultez Influencez la génération de réponses avec des paramètres d'inférence.

    Par défaut Minimum Maximum

    Mistral Large— 0,7

    0

    1

  • top_p — Contrôle la diversité du texte généré par le modèle en définissant le pourcentage de candidats les plus probables que le modèle prend en compte pour le jeton suivant. Pour plus d’informations, consultez Influencez la génération de réponses avec des paramètres d'inférence.

    Par défaut Minimum Maximum

    Mistral Large— 1

    0

    1

Response

Voici la réponse body d’un appel InvokeModel :

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

La réponse body inclut les champs suivants :

  • choices — La sortie du modèle. fields.

    • index — L'index du message.

    • message — Le message du modèle.

      • role — Le rôle du message.

      • content — Le contenu du message.

      • tool_calls — Si la valeur de stop_reason esttool_calls, ce champ contient une liste des demandes d'outils que le modèle souhaite que vous exécutiez.

        • id — L'ID de la demande d'outil.

        • function — La fonction demandée par le modèle.

          • name — Le nom de la fonction.

          • arguments — Les arguments à transmettre à l'outil

        Voici un exemple de demande pour un outil qui permet d'obtenir la meilleure chanson d'une station de radio.

        [ { "id": "v6RMMiRlT7ygYkT4uULjtg", "function": { "name": "top_song", "arguments": "{\"sign\": \"WZPZ\"}" } } ]
    • stop_reason — La raison pour laquelle la réponse a cessé de générer du texte. Les valeurs possibles sont :

      • arrêt : le modèle a fini de générer le texte pour l’invite d’entrée. Le modèle s'arrête parce qu'il n'a plus de contenu à générer ou s'il génère l'une des séquences d'arrêt que vous définissez dans le paramètre de stop requête.

      • longueur — La longueur des jetons pour le texte généré dépasse la valeur demax_tokens. La réponse est tronquée en fonction du nombre de jetons défini dans max_tokens.

      • tool_calls — Le modèle vous demande d'exécuter un outil.