Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
La Mistral AI La API de finalización de texto te permite generar texto con un Mistral AI modelo.
Realiza solicitudes de inferencia a Mistral AI modelos con InvokeModelo InvokeModelWithResponseStream(streaming).
Mistral AI los modelos están disponibles bajo la licencia Apache 2.0
Modelos compatibles
Puede utilizar lo siguiente Mistral AI modelos.
Mistral 7B Instruct
Mixtral 8X7B Instruct
Mistral Large
Mistral Small
Necesitará el ID de modelo del modelo que desee utilizar. Para obtener el ID del modelo, consulte Modelos fundacionales compatibles en Amazon Bedrock.
Solicitud y respuesta
La Mistral AI los modelos tienen los siguientes parámetros de inferencia.
{
"prompt": string,
"max_tokens" : int,
"stop" : [string],
"temperature": float,
"top_p": float,
"top_k": int
}
Los siguientes parámetros son obligatorios.
-
prompt: (obligatorio) es la petición que desea pasar al modelo, tal y como se muestra en el siguiente ejemplo.
<s>[INST] What is your favourite condiment? [/INST]
En el siguiente ejemplo se muestra cómo dar formato a una petición de varios turnos.
<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]
El texto del rol de usuario está dentro de los tokens
[INST]...[/INST]
y el texto exterior corresponde al rol de asistente. El principio y el final de una cadena se representan mediante los tokens<s>
(principio de la cadena) y</s>
(final de la cadena). Para obtener información sobre cómo enviar un mensaje de chat en el formato correcto, consulte la plantilla de chaten el Mistral AI .
Los siguientes son parámetros opcionales.
-
max_tokens: especifique la cantidad máxima de tokens para usar en la respuesta generada. El modelo trunca la respuesta una vez que el texto generado excede
max_tokens
.Predeterminado/a Mínimo Máximo 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: lista de secuencias de parada que, si las genera el modelo, impiden que este genere más resultados.
Predeterminado/a Mínimo Máximo 0
0
10
-
temperature: controla la asignación al azar de las predicciones realizadas por el modelo. Para obtener más información, consulte Influencia sobre la generación de respuestas con parámetros de inferencia.
Predeterminado/a Mínimo Máximo Mistral 7B Instruct — 0,5
Mixtral 8X7B Instruct — 0,5
Mistral Large — 0.7
Mistral Small — 0.7
0
1
-
top_p: controla la diversidad de texto que genera el modelo al establecer el porcentaje de candidatos más probables que considera el modelo para el siguiente token. Para obtener más información, consulte Influencia sobre la generación de respuestas con parámetros de inferencia.
Predeterminado/a Mínimo Máximo Mistral 7B Instruct — 0,9
Mixtral 8X7B Instruct — 0.9
Mistral Large 1:
Mistral Small 1:
0
1
-
top_k: es el número de candidatos más probables que el modelo considera para el siguiente token. Para obtener más información, consulte Influencia sobre la generación de respuestas con parámetros de inferencia.
Predeterminado/a Mínimo Máximo Mistral 7B Instruct — 50
Mixtral 8X7B Instruct — 50
Mistral Large — deshabilitado
Mistral Small — deshabilitado
1
200
Ejemplo de código
En este ejemplo se muestra cómo llamar al Mistral 7B Instruct modelo.
# 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()