AnthropicClaudeAPI für Textvervollständigungen - 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.

AnthropicClaudeAPI für Textvervollständigungen

Dieser Abschnitt enthält Inferenzparameter und Codebeispiele für die Verwendung von Anthropic Claude Modellen mit der Text Completions API.

AnthropicClaudeÜbersicht über die Textvervollständigungs-API

Verwenden Sie die API zur Textvervollständigung für die Generierung von Text in einem einzigen Zug anhand einer vom Benutzer bereitgestellten Aufforderung. 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 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öchtenAnthropicClaudeNachrichten-API, finden Sie weitere Informationen unter Migration von Textvervollständigungen.

Unterstützte Modelle

Sie können die Text Completions API mit den folgenden Anthropic Claude Modellen verwenden.

  • AnthropicClaudeInstantv1.2

  • AnthropicClaudev2

  • AnthropicClaudev2.1

Anforderung und Antwort

Der Anfragetext wird im body Feld einer Anfrage an InvokeModeloder InvokeModelWithResponseStreamübergeben.

Weitere Informationen finden Sie in der Dokumentation unter https://docs.anthropic.com/claude/reference/complete_post. Anthropic Claude

Request

AnthropicClaudehat 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. Zum Beispiel:

    "\n\nHuman: {userQuestion}\n\nAssistant:"

    Weitere Informationen finden Sie in der Anthropic Claude Dokumentation unter Überprüfung der Eingabeaufforderung.

  • 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 die Generierung von Tokens möglicherweise beenden, bevor sie den Wert von erreichen. max_tokens_to_sample Verschiedene Anthropic Claude Modelle haben unterschiedliche Maximalwerte für diesen Parameter. Weitere Informationen finden Sie in der Anthropic Claude Dokumentation unter Modellvergleich.

    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.

    AnthropicClaudeModelle 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.

    AnthropicClaudeBerechnet bei der Nukleusabtastung die kumulative Verteilung über alle Optionen für jedes nachfolgende Token in absteigender Wahrscheinlichkeitsreihenfolge und schneidet sie ab, sobald sie eine bestimmte Wahrscheinlichkeit erreicht, 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 Anthropic Claude Modell 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 das AnthropicClaudeV2-Modell mit On-Demand-Durchsatz aufgerufen wird. Um Anthropic Claude Version 2.1 zu verwenden, ändern Sie den Wert von modelId toanthropic.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 write an essay for living on mars in 1000 words und des Anthropic Claude V2-Modells 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()))