

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# API Anthropic Claude Text Completions
<a name="model-parameters-anthropic-claude-text-completion"></a>

Questa sezione fornisce i parametri di inferenza ed esempi di codice per l’utilizzo dei modelli Anthropic Claude con l’API Text Completions.

**Topics**
+ [Panoramica dell’API Anthropic Claude Text Completions](#model-parameters-anthropic-claude-text-completion-overview)
+ [Modelli supportati](#claude-messages-supported-models)
+ [Richiesta e risposta](#model-parameters-anthropic-claude-text-completion-request-response)
+ [esempio di codice](#api-inference-examples-claude-text-completion)

## Panoramica dell’API Anthropic Claude Text Completions
<a name="model-parameters-anthropic-claude-text-completion-overview"></a>

Utilizza l’API Text Completions per la generazione di testo a turno singolo da un prompt fornito dall’utente. Ad esempio, puoi utilizzare l’API Text Completions per generare testo per un post di blog o riepilogare l’input di testo di un utente.

Per informazioni sulla creazione di prompt per i modelli Anthropic Claude, consulta [Introduzione alla progettazione dei prompt](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design). Se desideri utilizzare i prompt di completamento del testo esistenti con l’[API Messages di Anthropic Claude](model-parameters-anthropic-claude-messages.md), consulta [Migrazione da Text Completions](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

## Modelli supportati
<a name="claude-messages-supported-models"></a>

Puoi utilizzare l’API Text Completions con i seguenti modelli Anthropic Claude.
+ Anthropic Claude Instant v1.2
+ Anthropic Claude v2
+ Anthropic Claude v2.1 

## Richiesta e risposta
<a name="model-parameters-anthropic-claude-text-completion-request-response"></a>

Il corpo della richiesta viene passato nel campo `body` di una richiesta a [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) o [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html). 

Per ulteriori informazioni, consulta la pagina [https://docs.anthropic.com/claude/reference/complete\$1post](https://docs.anthropic.com/claude/reference/complete_post) nella documentazione di Anthropic Claude.

------
#### [ Request ]

Anthropic Claude include i seguenti parametri di inferenza per una chiamata di inferenza Text Completions. 

```
{
    "prompt": "\n\nHuman:<prompt>\n\nAssistant:",
    "temperature": float,
    "top_p": float,
    "top_k": int,
    "max_tokens_to_sample": int,
    "stop_sequences": [string]
}
```

I seguenti sono parametri obbligatori.
+  **prompt**: (obbligatorio) il prompt che desideri venga completato da Claude. Per una corretta generazione di risposte, è necessario formattare il prompt utilizzando un’alternanza dei turni di conversazione `\n\nHuman:` e `\n\nAssistant:`. Ad esempio:

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

  Per ulteriori informazioni, consulta [Convalida dei prompt](https://docs.anthropic.com/claude/reference/prompt-validation) nella documentazione di Anthropic Claude. 
+  **max\$1tokens\$1to\$1sample** (obbligatorio): numero massimo di token da generare prima dell’arresto. Consigliamo un limite di 4.000 token per prestazioni ottimali.

  Tieni presente che i modelli Anthropic Claude potrebbero arrestare la generazione di token prima che sia raggiunto il valore `max_tokens_to_sample`. In modelli Anthropic Claude diversi i valori massimi per questo parametro sono differenti. Per ulteriori informazioni, consulta [Confronto dei modelli](https://docs.anthropic.com/claude/docs/models-overview#model-comparison) nella documentazione di Anthropic Claude.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

I seguenti sono parametri opzionali.
+  **stop\$1sequences** (facoltativo): le sequenze che causano l’arresto della generazione da parte del modello.

  I modelli Anthropic Claude si arrestano su `"\n\nHuman:"` e in futuro potrebbero includere ulteriori sequenze di arresto integrate. Utilizza il parametro di inferenza `stop_sequences` per includere stringhe aggiuntive che segnaleranno al modello di arrestare la generazione di testo.
+  **temperature** (facoltativo): quantità di randomizzazione inserita nella risposta. Utilizza un valore più vicino a 0 per le attività analitiche/a scelta multipla e un valore più vicino a 1 per le attività creative e generative.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1p** (facoltativo): utilizza il metodo “nucleus sampling”.

  Nel metodo “nucleus sampling”, Anthropic Claude calcola la distribuzione cumulativa di tutte le opzioni per ogni token successivo in ordine di probabilità decrescente e la interrompe quando raggiunge un particolare valore specificato da `top_p`. Devi modificare un solo valore tra `temperature` o `top_p`, non entrambi.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1k** (facoltativo): campionamento eseguito solo dalle opzioni top K per ogni token successivo.

  Utilizza `top_k` per rimuovere le risposte long tail a bassa probabilità.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

------
#### [ Response ]

Il modello Anthropic Claude restituisce i seguenti campi per effettuare chiamate di inferenza per il completamento di testo. 

```
{
    "completion": string,
    "stop_reason": string,
    "stop": string
}
```
+ **completion**: il completamento risultante fino all’esclusione delle sequenze di arresto.
+ **stop\$1reason**: il motivo per cui il modello ha smesso di generare la risposta.
  + **"stop\$1sequence"**: il modello ha raggiunto una sequenza di arresto, fornita dall’utente con il parametro di inferenza `stop_sequences` o integrata nel modello.
  + **"max\$1tokens"**: il modello ha superato il valore `max_tokens_to_sample` o il numero massimo di token del modello. 
+ **stop**: se specifichi il parametro di inferenza `stop_sequences`, `stop` contiene la sequenza di arresto che ha segnalato al modello di arrestare la generazione di testo. Ad esempio, `holes` nella risposta seguente.

  ```
  {
      "completion": " Here is a simple explanation of black ",
      "stop_reason": "stop_sequence",
      "stop": "holes"
  }
  ```

  Se non specifichi `stop_sequences`, il valore predefinito per `stop` è vuoto.

------

## esempio di codice
<a name="api-inference-examples-claude-text-completion"></a>

Questi esempi mostrano come chiamare il modello *Anthropic Claude V2* con un throughput on demand. Per utilizzare Anthropic Claude versione 2.1, modifica il valore di `modelId` in `anthropic.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'))
```

L'esempio seguente mostra come generare testo in streaming con Python utilizzando il prompt *write an essay for living on mars in 1000 words* (scrivi un saggio di 1000 parole su come poter vivere di Marte) e il modello 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()))
```