Anthropic Claude Textvervollständigungen API - 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.

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.

  • Anthropic Claude Instant v1.2

  • Anthropic Claude v2

  • Anthropic Claude v2.1

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()))