Cohere Command Modelle - 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.

Cohere Command Modelle

Sie stellen Rückschlussanfragen an einen Cohere Command Modell mit InvokeModeloder InvokeModelWithResponseStream(Streaming). Sie benötigen die Modell-ID für das Modell, das Sie verwenden möchten. Informationen zum Abrufen der Modell-ID finden Sie unterModell Amazon Bedrock IDs.

Anforderung und Antwort

Request

Das Tool Cohere Command Modelle haben die folgenden Inferenzparameter.

{ "prompt": string, "temperature": float, "p": float, "k": float, "max_tokens": int, "stop_sequences": [string], "return_likelihoods": "GENERATION|ALL|NONE", "stream": boolean, "num_generations": int, "logit_bias": {token_id: bias}, "truncate": "NONE|START|END" }

Die folgenden Parameter sind erforderlich.

  • prompt — (Erforderlich) Der Eingabetext, der als Ausgangspunkt für die Generierung der Antwort dient.

    Im Folgenden sind Text pro Aufruf und Zeichenbeschränkungen aufgeführt.

Die folgenden Parameter sind optional.

  • return_probability — Geben Sie an, wie und ob die Token-Likelihood zusammen mit der Antwort zurückgegeben werden. Sie können die folgenden Optionen angeben:

    • GENERATION – gibt nur Wahrscheinlichkeiten für generierte Token zurück.

    • ALL – gibt Wahrscheinlichkeiten für alle Token zurück.

    • NONE – (Standard) gibt keine Wahrscheinlichkeiten zurück.

  • stream — (Erforderlich für die Unterstützung von Streaming) Geben Sie true an, ob die Antwort piece-by-piece in Echtzeit und die vollständige Antwort false nach Abschluss des Vorgangs zurückgegeben werden soll.

  • logit_bias — Verhindert, dass das Modell unerwünschte Token generiert, oder bietet Anreize für das Modell, die gewünschten Token einzubeziehen. Das Format lautet {token_id: bias}, wobei „bias“ eine Gleitkommazahl zwischen -10 und 10 ist. Token können mithilfe eines beliebigen Tokenisierungsdienstes aus Text abgerufen werden, z. B. Cohereist der Tokenize-Endpunkt. Weitere Informationen finden Sie unter Cohere Dokumentation.

    Standard Minimum Maximum

    N/A

    -10 (für einen Token-Bias)

    10 (für einen Token-Bias)

  • num_generations — Die maximale Anzahl von Generationen, die das Modell zurückgeben soll.

    Standard Minimum Maximum

    1

    1

    5

  • truncate — Gibt an, wie Eingaben API verarbeitet werden, die länger als die maximale Token-Länge sind. Nutzen Sie einen der Folgenden:

    • NONE – gibt einen Fehler zurück, wenn die Eingabe die maximale Länge des Eingabe-Tokens überschreitet.

    • START – verwirft den Anfang der Eingabe.

    • END – (Standard) verwirft das Ende der Eingabe.

    Wenn Sie START oder END angeben, verwirft das Modell die Eingabe, bis die verbleibende Eingabe genau der maximalen Länge des Eingabe-Tokens für das Modell entspricht.

  • Temperatur — Verwenden Sie einen niedrigeren Wert, um die Zufälligkeit der Antwortvariablen zu verringern.

    Standard Minimum Maximum

    0.9

    0

    5

  • p — Top P. Verwenden Sie einen niedrigeren Wert, um weniger wahrscheinliche Optionen zu ignorieren. Legen Sie den Wert auf 0 oder 1,0 fest, um den Parameter zu deaktivieren. Wenn p sowohl als auch k aktiviert sind, wird p nach k aktiv.

    Standard Minimum Maximum

    0.75

    0

    1

  • k — Top K. Geben Sie die Anzahl der Token-Optionen an, die das Modell zur Generierung des nächsten Tokens verwendet. Wenn p sowohl als auch k aktiviert sind, wird p nach k aktiv.

    Standard Minimum Maximum

    0

    0

    500

  • max_tokens — Geben Sie die maximale Anzahl von Tokens an, die in der generierten Antwort verwendet werden sollen.

    Standard Minimum Maximum

    20

    1

    4096

  • stop_sequences — Konfigurieren Sie bis zu vier Sequenzen, die das Modell erkennt. Nach einer Stoppsequenz stoppt das Modell die Generierung weiterer Token. Der zurückgegebene Text enthält keine Stoppsequenz.

Response

Die Antwort enthält folgende mögliche Felder:

{ "generations": [ { "finish_reason": "COMPLETE | MAX_TOKENS | ERROR | ERROR_TOXIC", "id": string, "text": string, "likelihood" : float, "token_likelihoods" : [{"token" : string, "likelihood": float}], "is_finished" : true | false, "index" : integer } ], "id": string, "prompt": string }
  • generations – eine Liste der generierten Ergebnisse zusammen mit den Wahrscheinlichkeiten für die angeforderten Token. (Immer zurückgegeben) Jedes Generierungsobjekt in der Liste umfasst die folgenden Felder.

    • id – eine Kennung für die Generation. (Immer zurückgegeben)

    • likelihood – die Wahrscheinlichkeit der Ausgabe. Der Wert ist der Durchschnitt der Token-Wahrscheinlichkeiten in token_likelihoods. Wird zurückgegeben, wenn Sie den Eingabeparameter return_likelihoods angeben.

    • token_likelihoods – ein Array von Wahrscheinlichkeiten pro Token. Wird zurückgegeben, wenn Sie den Eingabeparameter return_likelihoods angeben.

    • finish_reason— Der Grund, warum das Modell die Token-Generierung abgeschlossen hat. COMPLETE- Das Modell hat eine fertige Antwort zurückgeschickt. MAX_TOKENS— Die Antwort wurde unterbrochen, weil das Modell die maximale Anzahl an Tokens für seine Kontextlänge erreicht hat. ERROR — bei der Generierung der Antwort ist etwas schief gelaufen. ERROR_TOXIC— das Modell generierte eine Antwort, die als toxisch eingestuft wurde. finish_reasonwird nur zurückgegeben, wenn is_finished =true. (Nicht immer zurückgegeben)

    • is_finished – ein boolesches Feld, das nur verwendet wird, wenn stream gleich true ist. Es gibt an, ob zusätzliche Token im Rahmen der Streaming-Antwort generiert werden oder nicht. (Nicht immer zurückgegeben)

    • text – der generierte Text.

    • index – wird in einer Streaming-Antwort verwendet, um festzustellen, zu welcher Generation ein bestimmtes Token gehört. Wenn nur eine Antwort gestreamt wird, gehören alle Token derselben Generation an und der Index wird nicht zurückgegeben. index wird daher nur in einer Streaming-Anforderung zurückgegeben, deren Wert für num_generations größer als eins ist.

  • prompt— Die Aufforderung aus der Eingabeanforderung (immer zurückgegeben).

  • id – eine Kennung für die Anforderung (immer zurückgegeben).

Weitere Informationen finden Sie unter Generieren in der Cohere Dokumentationen.

Codebeispiel

Dieses Beispiel zeigt, wie man den aufruft Cohere CommandModell.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate text using a Cohere 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 Cohere model. Args: model_id (str): The model ID to use. body (str) : The reqest body to use. Returns: dict: The response from the model. """ logger.info("Generating text with Cohere model %s", model_id) accept = 'application/json' content_type = 'application/json' bedrock = boto3.client(service_name='bedrock-runtime') response = bedrock.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type ) logger.info("Successfully generated text with Cohere model %s", model_id) return response def main(): """ Entrypoint for Cohere example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = 'cohere.command-text-v14' prompt = """Summarize this dialogue: "Customer: Please connect me with a support agent. AI: Hi there, how can I assist you today? Customer: I forgot my password and lost access to the email affiliated to my account. Can you please help me? AI: Yes of course. First I'll need to confirm your identity and then I can connect you with one of our support agents. """ try: body = json.dumps({ "prompt": prompt, "max_tokens": 200, "temperature": 0.6, "p": 1, "k": 0, "num_generations": 2, "return_likelihoods": "GENERATION" }) response = generate_text(model_id=model_id, body=body) response_body = json.loads(response.get('body').read()) generations = response_body.get('generations') for index, generation in enumerate(generations): print(f"Generation {index + 1}\n------------") print(f"Text:\n {generation['text']}\n") if 'likelihood' in generation: print(f"Likelihood:\n {generation['likelihood']}\n") print(f"Reason: {generation['finish_reason']}\n\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 Cohere model {model_id}.") if __name__ == "__main__": main()