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 AIcomplétion du texte
L'API de saisie de Mistral AI texte vous permet de générer du texte à l'aide d'un Mistral AI modèle.
Vous envoyez des demandes d'inférence aux Mistral AI modèles avec InvokeModelou InvokeModelWithResponseStream (streaming).
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 7B Instruct
Mixtral 8X7B Instruct
Mistral Large
Mistral Small
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.
{
"prompt": string,
"max_tokens" : int,
"stop" : [string],
"temperature": float,
"top_p": float,
"top_k": int
}
Les paramètres suivants sont obligatoires.
-
prompt — (Obligatoire) L'invite que vous souhaitez transmettre au modèle, comme indiqué dans l'exemple suivant.
<s>[INST] What is your favourite condiment? [/INST]
L'exemple suivant montre comment formater une invite à plusieurs tours.
<s>[INST] What is your favourite condiment? [/INST]
Well, I'm quite partial to a good squeeze of fresh lemon juice.
It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!</s>
[INST] Do you have mayonnaise recipes? [/INST]
Le texte du rôle d'utilisateur se trouve à l'intérieur [INST]...[/INST]
des jetons, le texte extérieur est le rôle d'assistant. Le début et la fin d'une chaîne sont représentés par les jetons <s>
(début de chaîne) et </s>
(fin de chaîne). Pour plus d'informations sur l'envoi d'une invite de chat dans le format correct, voir Modèle de chat dans la Mistral AI documentation.
Les paramètres suivants sont facultatifs.
-
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 7B Instruct— 512
Mixtral 8X7B Instruct— 512
Mistral Large— 8 192
Mistral Small— 8 192
|
1
|
Mistral 7B Instruct— 8 192
Mixtral 8X7B Instruct— 4 096
Mistral Large— 8 192
Mistral Small— 8 192
|
-
stop — Liste de séquences d'arrêt qui, si elles sont générées par le modèle, empêchent le modèle de générer d'autres sorties.
Par défaut |
Minimum |
Maximum |
0
|
0 USD
|
10
|
-
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 7B Instruct— 0,5
Mixtral 8X7B Instruct— 0,5
Mistral Large— 0,7
Mistral Small— 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 7B Instruct— 0,9
Mixtral 8X7B Instruct— 0,9
Mistral Large— 1
Mistral Small— 1
|
0
|
1
|
-
top_k — Contrôle le nombre 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 7B Instruct— 50
Mixtral 8X7B Instruct— 50
Mistral Large— handicapé
Mistral Small— handicapé
|
1
|
200
|
- Response
-
Voici la réponse body
d’un appel InvokeModel
:
{
"outputs": [
{
"text": string,
"stop_reason": string
}
]
}
La réponse body
inclut les champs suivants :
Exemple de code
Cet exemple montre comment appeler le Mistral 7B Instruct modèle.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
"""
Shows how to generate text using a Mistral AI model.
"""
import json
import logging
import boto3
from botocore.exceptions import ClientError
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
def generate_text(model_id, body):
"""
Generate text using a Mistral AI model.
Args:
model_id (str): The model ID to use.
body (str) : The request body to use.
Returns:
JSON: The response from the model.
"""
logger.info("Generating text with Mistral AI model %s", model_id)
bedrock = boto3.client(service_name='bedrock-runtime')
response = bedrock.invoke_model(
body=body,
modelId=model_id
)
logger.info("Successfully generated text with Mistral AI model %s", model_id)
return response
def main():
"""
Entrypoint for Mistral AI example.
"""
logging.basicConfig(level=logging.INFO,
format="%(levelname)s: %(message)s")
try:
model_id = 'mistral.mistral-7b-instruct-v0:2'
prompt = """<s>[INST] In Bash, how do I list all text files in the current directory
(excluding subdirectories) that have been modified in the last month? [/INST]"""
body = json.dumps({
"prompt": prompt,
"max_tokens": 400,
"temperature": 0.7,
"top_p": 0.7,
"top_k": 50
})
response = generate_text(model_id=model_id,
body=body)
response_body = json.loads(response.get('body').read())
outputs = response_body.get('outputs')
for index, output in enumerate(outputs):
print(f"Output {index + 1}\n----------")
print(f"Text:\n{output['text']}\n")
print(f"Stop reason: {output['stop_reason']}\n")
except ClientError as err:
message = err.response["Error"]["Message"]
logger.error("A client error occurred: %s", message)
print("A client error occured: " +
format(message))
else:
print(f"Finished generating text with Mistral AI model {model_id}.")
if __name__ == "__main__":
main()