Legacy-API

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

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

Bei der Erstellung von Text Completions versucht die API zunächst, wenn Ihr Prompt nicht im vorgegebenen Format ist, diesen leicht zu bereinigen (zum Beispiel durch Entfernen von nachfolgenden Leerzeichen). Dieses genaue Verhalten kann sich ändern, und wir empfehlen dringend, dass Sie Ihre Prompts mit den empfohlenen alternierenden \n\nHuman: und \n\nAssistant: Turns formatieren.

Anschließend validiert die API Ihren Prompt unter den 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 = "Hello, world"

# Fehlender "\n\nHuman:" Turn
prompt = "Hello, world\n\nAssistant:"

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

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

# "\n\nAssistant:" Turn ist nicht der letzte
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

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

Die folgenden werden derzeit von der API akzeptiert und automatisch 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: Hello, Claude\n\nAssistant:"

# Nachfolgendes Leerzeichen nach "\n\nAssistant:"
prompt = "\n\nHuman: Hello, Claude:\n\nAssistant: "