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.
CohereCommand Modelle
Sie stellen Inferenzanforderungen an ein -CohereCommandModell mit InvokeModel oder 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 unter Modell-IDs von Amazon Bedrock.
Anforderung und Antwort
- Request
-
Die 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_likeli microSDs – Geben Sie an, wie und ob die Token-Wahrscheinlichkeiten 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, um Streaming zu unterstützen) Geben Sie antrue
, um die Antwort piece-by-piece in Echtzeit zurückzugeben, und , false
um die vollständige Antwort zurückzugeben, nachdem der Vorgang abgeschlossen ist.
-
logit_bias – Verhindert, dass das Modell unerwünschte Token generiert, oder veranlasst das Modell, gewünschte Token einzubeziehen. Das Format lautet {token_id: bias}
, wobei „bias“ eine Gleitkommazahl zwischen -10 und 10 ist. Token können mithilfe eines beliebigen Tokenisierungsdienstes, z. B. Coheredes Tokenize-Endpunkts von , aus dem Text abgerufen werden. Weitere Informationen finden Sie in der 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
|
-
Kürzung – Gibt an, wie die API Eingaben verarbeitet, 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 in der Antwort 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-Auswahlen an, die das Modell verwendet, um das nächste Token zu generieren. 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 Token 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" : 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 Generierung von Token abgeschlossen hat. COMPLETE
– Das Modell hat eine fertige Antwort zurückgesendet. MAX_TOKENS
– die Antwort wurde unterbrochen, weil das Modell die maximale Anzahl von Token für seine Kontextlänge erreicht hat. ERROR
– Beim Generieren der Antwort ist ein Fehler aufgetreten. ERROR_TOXIC
– Das Modell hat eine Antwort generiert, die als statisch angesehen wurde. finish_reason
wird nur zurückgegeben, wenn is_finished
= isttrue
. (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 Eingabeaufforderung aus der Eingabeanforderung (als immer zurückgegeben).
id
– eine Kennung für die Anforderung (immer zurückgegeben).
Weitere Informationen finden Sie unter https://docs.cohere.com/reference/generate in den -CohereDokumentationen.
Codebeispiel
Dieses Beispiel zeigt, wie das Cohere Command Modell aufgerufen wird.
# 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()