

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
<a name="model-parameters-anthropic-claude-text-completion"></a>

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

**Topics**
+ [Übersicht über die Textvervollständigungs-API von Anthropic Claude](#model-parameters-anthropic-claude-text-completion-overview)
+ [Unterstützte Modelle](#claude-messages-supported-models)
+ [Anforderung und Antwort](#model-parameters-anthropic-claude-text-completion-request-response)
+ [Codebeispiel](#api-inference-examples-claude-text-completion)

## Übersicht über die Textvervollständigungs-API von Anthropic Claude
<a name="model-parameters-anthropic-claude-text-completion-overview"></a>

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](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design). Wenn Sie Ihre vorhandenen Prompts für Textvervollständigungen zusammen mit [Nachrichten-API von Anthropic Claude](model-parameters-anthropic-claude-messages.md) verwenden möchten, finden Sie weitere Informationen unter [Migration von Textvervollständigungen](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

## Unterstützte Modelle
<a name="claude-messages-supported-models"></a>

Sie können die Textvervollständigungs-API mit den folgenden Anthropic-Claude-Modellen verwenden.
+ Anthropic Claude Instant v1.2
+ Anthropic Claude v2
+ Anthropic Claude v2.1 

## Anforderung und Antwort
<a name="model-parameters-anthropic-claude-text-completion-request-response"></a>

Der Anforderungstext wird im `body`-Feld einer Anforderung an [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) oder [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) übergeben. 

Weitere Informationen finden Sie unter [https://docs.anthropic.com/claude/reference/complete\_post](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](https://docs.anthropic.com/claude/reference/prompt-validation) 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](https://docs.anthropic.com/claude/docs/models-overview#model-comparison) in der Dokumentation zu Anthropic Claude.     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

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.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **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.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **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.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

------
#### [ 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
<a name="api-inference-examples-claude-text-completion"></a>

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