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.
Anthropic Claude Textvervollständigungen API
Dieser Abschnitt enthält Inferenzparameter und Codebeispiele für die Verwendung Anthropic Claude Modelle mit den TextvervollständigungenAPI.
Anthropic Claude Übersicht über Textvervollständigungen API
Verwenden Sie die Textvervollständigung API für die Generierung von Text in einem einzigen Zug anhand einer vom Benutzer bereitgestellten Aufforderung. Sie können die Textvervollständigung beispielsweise verwenden, API um Text für einen Blogbeitrag zu generieren oder um die Texteingabe eines Benutzers zusammenzufassen.
Informationen zum Erstellen von Eingabeaufforderungen für Anthropic Claude Modelle finden Sie unter Einführung in das Prompt-Design. Wenn Sie Ihre vorhandenen Textvervollständigungsaufforderungen zusammen mit dem verwenden möchtenAnthropic Claude Nachrichten API, finden Sie weitere Informationen unter Migration von Textvervollständigungen.
Unterstützte Modelle
Sie können die Textvervollständigungen wie API folgt verwenden Anthropic Claude Modelle.
Anforderung und Antwort
Der Text der Anfrage wird im body
Feld einer Anfrage an InvokeModeloder InvokeModelWithResponseStreamübergeben.
Weitere Informationen finden Sie unter https://docs.anthropic.com/claude/reference/complete_post im Anthropic Claude -Dokumentation.
- Request
-
Anthropic Claude hat die folgenden Inferenzparameter für einen Inferenzaufruf zur Textvervollständigung.
{
"prompt": "\n\nHuman:<prompt>
\n\nAssistant:",
"temperature": float,
"top_p": float,
"top_k": int,
"max_tokens_to_sample": int,
"stop_sequences": [string]
}
Die folgenden Parameter sind erforderlich.
-
prompt — (Erforderlich) Die Aufforderung, die Claude ausfüllen soll. Um eine korrekte Antwortgenerierung zu gewährleisten, müssen Sie Ihre Eingabeaufforderung abwechselnd \n\nHuman:
und \n\nAssistant:
dialogorientiert formatieren. Beispielsweise:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Weitere Informationen finden Sie unter Überprüfung der Eingabeaufforderung im Anthropic Claude -Dokumentation.
-
max_tokens_to_sample — (Erforderlich) Die maximale Anzahl von Token, die vor dem Stoppen generiert werden sollen. Für eine optimale Leistung empfehlen wir ein Limit von 4 000 Token.
Beachten Sie, dass Anthropic Claude Modelle beenden möglicherweise die Generierung von Tokens, bevor sie den Wert von erreichenmax_tokens_to_sample
. Verschieden Anthropic Claude Modelle haben unterschiedliche Maximalwerte für diesen Parameter. Weitere Informationen finden Sie unter Modellvergleich in der Anthropic Claude -Dokumentation.
Standard |
Minimum |
Maximum |
200
|
0
|
4096
|
Die folgenden Parameter sind optional.
-
stop_sequences — (Optional) Sequenzen, die dazu führen, dass das Modell nicht mehr generiert wird.
Anthropic Claude Modelle halten an "\n\nHuman:"
und können in future zusätzliche integrierte Stoppsequenzen enthalten. Verwenden Sie den stop_sequences
Inferenzparameter, um zusätzliche Zeichenketten einzubeziehen, die dem Modell signalisieren, die Textgenerierung einzustellen.
-
Temperatur — (optional) Die Menge an Zufälligkeit, die in die Antwort injiziert wurde. Verwenden Sie für analytische oder Multiple-Choice-Aufgaben einen Wert, der näher an 0 liegt, und einen Wert, der näher an 1 liegt, für kreative und generative Aufgaben.
Standard |
Minimum |
Maximum |
1
|
0
|
1
|
-
top_p — (Optional) Verwenden Sie die Nukleus-Sampling.
Bei der Kernprobenentnahme Anthropic Claude berechnet die kumulative Verteilung über alle Optionen für jedes nachfolgende Token in absteigender Wahrscheinlichkeitsreihenfolge und schneidet sie ab, sobald eine bestimmte Wahrscheinlichkeit erreicht ist, die durch angegeben ist. top_p
Sie sollten entweder temperature
oder änderntop_p
, aber nicht beide.
Standard |
Minimum |
Maximum |
1
|
0
|
1
|
-
top_k — (Optional) Nur Stichproben aus den Top-K-Optionen für jedes nachfolgende Token.
Wird verwendettop_k
, um Long-Tail-Antworten mit niedriger Wahrscheinlichkeit zu entfernen.
Standard |
Minimum |
Maximum |
250
|
0
|
500
|
- Response
-
Das Tool Anthropic Claude model gibt die folgenden Felder für einen Inferenzaufruf zur Textvervollständigung zurück.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
Abschluss — Die daraus resultierende Vervollständigung bis zu und ohne die Stoppsequenzen.
-
stop_reason — Der Grund, warum das Modell die Generierung der Antwort eingestellt hat.
-
„stop_sequence“ — Das Modell hat eine Stoppsequenz erreicht, die entweder von Ihnen mit dem stop_sequences
Inferenzparameter bereitgestellt wurde, oder eine in das Modell integrierte Stoppsequenz.
-
„max_tokens“ — Das Modell hat die maximale Token-Anzahl des Modells überschritten max_tokens_to_sample
oder überschritten.
-
stop — Wenn Sie den stop_sequences
Inferenzparameter angeben, stop
enthält er die Stoppsequenz, die dem Modell signalisiert hat, die Textgenerierung zu beenden. Zum Beispiel holes
in der folgenden Antwort.
{
"completion": " Here is a simple explanation of black ",
"stop_reason": "stop_sequence",
"stop": "holes"
}
Wenn Sie nichts angebenstop_sequences
, stop
ist der Wert für leer.
Codebeispiel
Diese Beispiele zeigen, wie Sie die aufrufen Anthropic Claude V2-Modell mit On-Demand-Durchsatz. Zur Verwendung Anthropic Claude Version 2.1, ändern Sie den Wert von modelId
aufanthropic.claude-v2:1
.
import boto3
import json
brt = boto3.client(service_name='bedrock-runtime')
body = json.dumps({
"prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:",
"max_tokens_to_sample": 300,
"temperature": 0.1,
"top_p": 0.9,
})
modelId = 'anthropic.claude-v2'
accept = 'application/json'
contentType = 'application/json'
response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType)
response_body = json.loads(response.get('body').read())
# text
print(response_body.get('completion'))
Das folgende Beispiel zeigt, wie Streaming-Text mit Python mithilfe der Eingabeaufforderung generiert wird write an essay for living on mars in 1000
words
und das Modell Anthropic Claude V2:
import boto3
import json
brt = boto3.client(service_name='bedrock-runtime')
body = json.dumps({
'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:',
'max_tokens_to_sample': 4000
})
response = brt.invoke_model_with_response_stream(
modelId='anthropic.claude-v2',
body=body
)
stream = response.get('body')
if stream:
for event in stream:
chunk = event.get('chunk')
if chunk:
print(json.loads(chunk.get('bytes').decode()))