API Legacy

L’API Text Completions è un’API legacy. I modelli e le funzionalità future richiederanno l’uso dell’API Messages, e consigliamo di migrare il prima possibile.

L’API di Anthropic esegue una sanitizzazione e una convalida di base del prompt per assicurarsi che i tuoi prompt siano ben formattati per Claude.

Quando crei Text Completions, se il tuo prompt non è nel formato specificato, l’API tenterà prima di sanitizzarlo leggermente (ad esempio, rimuovendo gli spazi finali). Questo comportamento esatto è soggetto a modifiche e consigliamo vivamente di formattare i tuoi prompt con i turni \n\nHuman: e \n\nAssistant: alternati consigliati.

Quindi, l’API convaliderà il tuo prompt nelle seguenti condizioni:

  • Il primo turno di conversazione nel prompt deve essere un turno \n\nHuman:
  • L’ultimo turno di conversazione nel prompt deve essere un turno \n\nAssistant:
  • Il prompt deve essere lungo meno di 100,000 - 1 token.

Esempi

I seguenti prompt risulteranno in errori API:

Python
# Mancano i turni "\n\nHuman:" e "\n\nAssistant:"
prompt = "Ciao, mondo"

# Manca il turno "\n\nHuman:"
prompt = "Ciao, mondo\n\nAssistant:"

# Manca il turno "\n\nAssistant:"
prompt = "\n\nHuman: Ciao, Claude"

# Il turno "\n\nHuman:" non è il primo
prompt = "\n\nAssistant: Ciao, mondo\n\nHuman: Ciao, Claude\n\nAssistant:"

# Il turno "\n\nAssistant:" non è l'ultimo
prompt = "\n\nHuman: Ciao, Claude\n\nAssistant: Ciao, mondo\n\nHuman: Quante dita hanno i cani?"

# "\n\nAssistant:" ha solo un "\n"
prompt = "\n\nHuman: Ciao, Claude \nAssistant:"

I seguenti sono attualmente accettati e automaticamente sanitizzati dall’API, ma non dovresti fare affidamento su questo comportamento, poiché potrebbe cambiare in futuro:

Python
# Nessun "\n\n" iniziale per "\n\nHuman:"
prompt = "Human: Ciao, Claude\n\nAssistant:"

# Spazio finale dopo "\n\nAssistant:"
prompt = "\n\nHuman: Ciao, Claude:\n\nAssistant: "