Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Mistral AI Textvervollständigung
Das Tool Mistral AI APIMit der Textvervollständigung können Sie Text mit einem generieren Mistral AI Modell.
Sie stellen Rückschlussanfragen an Mistral AI Modelle mit InvokeModeloder InvokeModelWithResponseStream(Streaming).
Mistral AI Modelle sind unter der Apache 2.0-Lizenz erhältlich. Weitere Informationen zur Verwendung von Mistral AI Modelle finden Sie im Mistral AI Dokumentation.
Unterstützte Modelle
Sie können Folgendes verwenden Mistral AI Modelle.
Mistral 7B Instruct
Mixtral 8X7B Instruct
Mistral Large
Mistral Small
Sie benötigen die Modell-ID für das Modell, das Sie verwenden möchten. Informationen zur Modell-ID finden Sie unterUnterstützte Basismodelle in Amazon Bedrock.
Anforderung und Antwort
- Request
-
Das Tool Mistral AI Modelle haben die folgenden Inferenzparameter.
{
"prompt": string,
"max_tokens" : int,
"stop" : [string],
"temperature": float,
"top_p": float,
"top_k": int
}
Die folgenden Parameter sind erforderlich.
-
prompt — (Erforderlich) Die Aufforderung, die Sie an das Modell übergeben möchten, wie im folgenden Beispiel gezeigt.
<s>[INST] What is your favourite condiment? [/INST]
Das folgende Beispiel zeigt, wie ein Multi-Turn-Prompt formatiert wird.
<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]
Der Text für die Benutzerrolle befindet sich innerhalb der [INST]...[/INST]
Token, der Text außerhalb der Rolle des Assistenten. Der Anfang und das Ende einer Zeichenfolge werden durch die Tokens <s>
(Anfang der Zeichenfolge) und </s>
(Ende der Zeichenfolge) dargestellt. Informationen zum Senden einer Chat-Aufforderung im richtigen Format finden Sie unter Chat-Vorlage im Mistral AI -Dokumentation.
Die folgenden Parameter sind optional.
-
max_tokens — Geben Sie die maximale Anzahl von Tokens an, die in der generierten Antwort verwendet werden sollen. Das Modell kürzt die Antwort, sobald der generierte Text den Wert max_tokens
überschreitet.
Standard |
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 — Eine Liste von Stoppsequenzen, die, wenn sie vom Modell generiert werden, verhindern, dass das Modell weitere Ausgaben generiert.
Standard |
Minimum |
Maximum |
0
|
0
|
10
|
-
Temperatur — Steuert die Zufälligkeit der vom Modell getroffenen Vorhersagen. Weitere Informationen finden Sie unter Beeinflussen Sie die Antwortgenerierung mit Inferenzparametern.
Standard |
Minimum |
Maximum |
Mistral 7B Instruct — 0,5
Mixtral 8X7B Instruct — 0,5
Mistral Large — 0,7
Mistral Small — 0,7
|
0
|
1
|
-
top_p — Steuert die Textvielfalt, die das Modell generiert, indem der Prozentsatz der wahrscheinlichsten Kandidaten festgelegt wird, die das Modell für das nächste Token berücksichtigt. Weitere Informationen finden Sie unter Beeinflussen Sie die Antwortgenerierung mit Inferenzparametern.
Standard |
Minimum |
Maximum |
Mistral 7B Instruct — 0,9
Mixtral 8X7B Instruct — 0,9
Mistral Large — 1
Mistral Small — 1
|
0
|
1
|
-
top_k — Steuert die Anzahl der wahrscheinlichsten Kandidaten, die das Modell für das nächste Token berücksichtigt. Weitere Informationen finden Sie unter Beeinflussen Sie die Antwortgenerierung mit Inferenzparametern.
Standard |
Minimum |
Maximum |
Mistral 7B Instruct — 50
Mixtral 8X7B Instruct — 50
Mistral Large — deaktiviert
Mistral Small — deaktiviert
|
1
|
200
|
- Response
-
Die body
-Antwort eines Aufrufs von InvokeModel
lautet wie folgt:
{
"outputs": [
{
"text": string,
"stop_reason": string
}
]
}
Die body
-Antwort enthält folgende mögliche Felder:
Codebeispiel
Dieses Beispiel zeigt, wie Sie die aufrufen Mistral 7B Instruct Modell.
# 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()