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-API für Textvervollständigungen
Dieser Abschnitt enthält Inferenzparameter und Codebeispiele für die Verwendung von Anthropic-Claude-Modellen mit der Textvervollständigungs-API.
Übersicht über die Textvervollständigungs-API von AnthropicClaude
Verwenden Sie die Textvervollständigungs-API für die Generierung von Text in einem einzigen Zug anhand eines vom Benutzer bereitgestellten Prompts. Sie können die Textvervollständigungs-API beispielsweise verwenden, um Text für einen Blogbeitrag zu generieren oder die Texteingabe eines Benutzers zusammenzufassen.
Informationen zum Erstellen von Prompts für Anthropic-Claude-Modelle finden Sie unter Einführung in das Prompt-Design. Wenn Sie Ihre vorhandenen Prompts für Textvervollständigungen zusammen mit Nachrichten-API von AnthropicClaude verwenden möchten, finden Sie weitere Informationen unter Migration von Textvervollständigungen.
Unterstützte Modelle
Sie können die Textvervollständigungs-API mit den folgenden Anthropic-Claude-Modellen verwenden.
Anforderung und Antwort
Der Anforderungstext wird im body-Feld einer Anforderung an InvokeModel oder InvokeModelWithResponseStream übergeben.
Weitere Informationen finden Sie unter https://docs.anthropic.com/claude/reference/complete_post in der Dokumentation zu Anthropic Claude.
- Request
-
Anthropic Claude verfügt über die folgenden Inferenzparameter für Inferenzaufrufe 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) Der Prompt, den Claude vervollständigen soll. Zur Gewährleistung einer korrekte Antwortgenerierung müssen Sie Ihren Prompt für Konversationsrunden abwechselnd mit \n\nHuman: und \n\nAssistant: formatieren. Zum Beispiel:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Weitere Informationen finden Sie unter Prompt-Validierung in der Dokumentation zu Anthropic Claude.
-
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 möglicherweise die Generierung von Token einstellen, bevor der Wert von max_tokens_to_sample erreicht ist. Verschiedene Anthropic-Claude-Modelle haben unterschiedliche Maximalwerte für diesen Parameter. Weitere Informationen finden Sie unter Modellvergleich in der Dokumentation zu Anthropic Claude.
| Standard |
Minimum |
Maximum |
|
200
|
0
|
4096
|
Die folgenden Parameter sind optional.
-
stop_sequences – (optional) Sequenzen, die dazu führen, dass das Modell das Generieren beendet.
Anthropic-Claude-Modelle halten bei "\n\nHuman:" an und können künftig zusätzliche integrierte Stoppsequenzen enthalten. Verwenden Sie den stop_sequences-Inferenzparameter, um zusätzliche Zeichenfolgen einzubeziehen, die dem Modell signalisieren, die Textgenerierung einzustellen.
-
temperature – (optional) Die Menge an Zufälligkeit, die der Antwort hinzugefügt wurde. Verwenden Sie für analytische oder Multiple-Choice-Aufgaben einen Wert, der näher an 0 liegt, und für kreative und generative Aufgaben einen Wert, der näher an 1 liegt.
| Standard |
Minimum |
Maximum |
|
1
|
0
|
1
|
-
top_p – (optional) Verwenden Sie Nukleus-Sampling.
Beim Nukleus-Sampling berechnet Anthropic Claude die kumulative Verteilung über alle Optionen für jedes nachfolgende Token in absteigender Wahrscheinlichkeitsreihenfolge und beendet den Vorgang, sobald eine bestimmte, durch top_p festgelegte Wahrscheinlichkeit erreicht ist. Sie sollten entweder temperature oder top_p ändern, aber nicht beide.
| Standard |
Minimum |
Maximum |
|
1
|
0
|
1
|
-
top_k – (optional) Nehmen Sie für jedes nachfolgende Token nur Stichproben aus den Top-K-Optionen vor.
Verwenden Sie top_k, um Antworten mit langen Ausläufern und geringer Wahrscheinlichkeit zu entfernen.
| Standard |
Minimum |
Maximum |
|
250
|
0
|
500
|
- Response
-
Das Anthropic-Claude-Modell verfügt über die folgenden Felder für einen Inferenzaufruf zur Textvervollständigung.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
completion – Die daraus resultierende Vervollständigung bis zu und ohne die Stoppsequenzen.
-
stop_reason – Der Grund, warum das Modell keine Antwort mehr generiert 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 ist.
-
„max_tokens“ – Das Modell hat max_tokens_to_sample oder die maximale Token-Anzahl des Modells überschritten.
-
stop – Wenn Sie den stop_sequences-Inferenzparameter angeben, enthält stop die Stoppsequenz, die dem Modell signalisiert hat, die Textgenerierung zu beenden. Ein Beispiel dafür ist holes in der folgenden Antwort.
{
"completion": " Here is a simple explanation of black ",
"stop_reason": "stop_sequence",
"stop": "holes"
}
Wenn Sie stop_sequences nicht angeben, ist der Wert stop leer.
Codebeispiel
Diese Beispiele zeigen, wie das Modell Anthropic Claude V2 mit On-Demand-Durchsatz aufgerufen wird. Ändern Sie den Wert von modelId in anthropic.claude-v2:1, um Anthropic Claude Version 2.1 zu verwenden.
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 Einen Aufsatz zum Leben auf dem Mars in 1 000 Wörtern schreiben und des Modells Anthropic Claude V2 generiert wird:
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()))