Convalida del prompt
Con Text Completions
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:
# 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:
# 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: "