Mistral AI Textvervollständigung - Amazon Bedrock

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:

  • Ausgänge — Eine Liste der Ausgaben des Modells. Jede Ausgabe hat die folgenden Felder.

    • text — Der Text, den das Modell generiert hat.

    • stop_reason — Der Grund, warum die Antwort keinen Text mehr generiert hat. Die möglichen Werte sind:

      • Stopp – Das Modell hat die Textgenerierung für die Eingabeaufforderung abgeschlossen. Das Modell stoppt, weil kein Inhalt mehr generiert werden muss oder wenn das Modell eine der Stoppsequenzen generiert, die Sie im stop Anforderungsparameter definieren.

      • Länge – Die Länge der Token für den generierten Text überschreitet den Wert von max_tokens im Aufruf von InvokeModel (InvokeModelWithResponseStream, wenn Sie die Ausgabe streamen). Die Antwort wird auf max_tokens Token gekürzt.

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()