Legacy API

Die Text Completions API ist eine Legacy-API. Zukünftige Modelle und Funktionen erfordern die Verwendung der Messages API, und wir empfehlen eine Migration so bald wie möglich.

Die Anthropic API führt eine grundlegende Prompt-Bereinigung und -Validierung durch, um sicherzustellen, dass Ihre Prompts für Claude gut formatiert sind.

Beim Erstellen von Text Completions versucht die API zunächst, den Prompt leicht zu bereinigen (z. B. durch Entfernen von nachgestellten Leerzeichen), wenn er nicht im angegebenen Format vorliegt. Dieses genaue Verhalten kann sich ändern, und wir empfehlen dringend, dass Sie Ihre Prompts mit den empfohlenen abwechselnden \n\nHuman: und \n\nAssistant: Turns formatieren.

Anschließend validiert die API Ihren Prompt unter folgenden Bedingungen:

  • Der erste Gesprächsturn im Prompt muss ein \n\nHuman: Turn sein
  • Der letzte Gesprächsturn im Prompt muss ein \n\nAssistant: Turn sein
  • Der Prompt muss weniger als 100,000 - 1 Token lang sein.

Beispiele

Die folgenden Prompts führen zu API-Fehlern:

Python
# Fehlende "\n\nHuman:" und "\n\nAssistant:" Turns
prompt = "Hallo, Welt"

# Fehlender "\n\nHuman:" Turn
prompt = "Hallo, Welt\n\nAssistant:"

# Fehlender "\n\nAssistant:" Turn
prompt = "\n\nHuman: Hallo, Claude"

# "\n\nHuman:" Turn ist nicht der erste
prompt = "\n\nAssistant: Hallo, Welt\n\nHuman: Hallo, Claude\n\nAssistant:"

# "\n\nAssistant:" Turn ist nicht der letzte
prompt = "\n\nHuman: Hallo, Claude\n\nAssistant: Hallo, Welt\n\nHuman: Wie viele Zehen haben Hunde?"

# "\n\nAssistant:" hat nur ein "\n"
prompt = "\n\nHuman: Hallo, Claude \nAssistant:"

Die folgenden werden derzeit akzeptiert und automatisch von der API bereinigt, aber Sie sollten sich nicht auf dieses Verhalten verlassen, da es sich in Zukunft ändern kann:

Python
# Kein führendes "\n\n" für "\n\nHuman:"
prompt = "Human: Hallo, Claude\n\nAssistant:"

# Nachgestelltes Leerzeichen nach "\n\nAssistant:"
prompt = "\n\nHuman: Hallo, Claude:\n\nAssistant: "