API Legacy

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

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

Durante la creazione di 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 raccomandiamo vivamente di formattare i tuoi prompt con i turni alternati raccomandati \n\nHuman: e \n\nAssistant:.

Quindi, l’API validerà il tuo prompt secondo le seguenti condizioni:

  • Il primo turno conversazionale nel prompt deve essere un turno \n\nHuman:
  • L’ultimo turno conversazionale nel prompt deve essere un turno \n\nAssistant:
  • Il prompt deve essere inferiore a 100,000 - 1 token di lunghezza.

Esempi

I seguenti prompt risulteranno in errori API:

Python
# Mancano i turni "\n\nHuman:" e "\n\nAssistant:"
prompt = "Hello, world"

# Manca il turno "\n\nHuman:"
prompt = "Hello, world\n\nAssistant:"

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

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

# Il turno "\n\nAssistant:" non è l'ultimo
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# "\n\nAssistant:" ha solo un "\n"
prompt = "\n\nHuman: Hello, 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: Hello, Claude\n\nAssistant:"

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