Messages Native-Konversations-API
Request-Header von Claude Messages, Unterschiede zwischen system und messages, Inhaltsblöcke und Beendigungsgründe.
Claude Code, Anthropic SDK und Anwendungen, die Claude-native Inhaltsblöcke beibehalten möchten, verwenden POST https://1zheai.com/v1/messages. SDK Base URL: https://1zheai.com.
Minimale Anfrage
Abschnitt mit dem Titel „Minimale Anfrage“Zuerst die Umgebungsvariable für den Site-Schlüssel ONEZHE_API_KEY setzen, dann ausführen:
curl --fail-with-body --connect-timeout 10 --max-time 120 \ https://1zheai.com/v1/messages \ -H "x-api-key: $ONEZHE_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-5-5", "max_tokens": 256, "system": "请用简短的中文回答。", "messages": [{"role": "user", "content": "什么是域名解析?"}] }'Anfragestruktur
Abschnitt mit dem Titel „Anfragestruktur“| Feld | Typ | Verwendung |
|---|---|---|
model | string | Erforderlich, wählt das Claude-Modell, für das der Schlüssel verfügbar ist |
max_tokens | integer | Erforderlich, Ausgabegrenze; in Kombination mit den Limit-Einstellungen des gewählten Modells |
messages | array | Erforderlich, sendet user- und assistant-Nachrichten in chronologischer Reihenfolge |
system | string oder Array von Inhaltsblöcken | Optional, Systemanweisung auf oberster Ebene, keine role: system-Nachricht verwenden |
stream | boolean | Optional, Inhaltsblock-Inkremente streamen |
tools | array | Optional, deklariert Werkzeugnamen, Zweck und Eingabe-Schema |
thinking, Cache-Steuerung und Beta-Parameter hängen vom jeweiligen Modell und der Upstream-Unterstützung ab. Zuerst Klartext testen, dann nach Bedarf hinzufügen; nicht alle Modelle als eine Parametergruppe behandeln.
Inhaltsblöcke lesen
Abschnitt mit dem Titel „Inhaltsblöcke lesen“Das zurückgegebene content ist ein Array und kann gleichzeitig Text, Werkzeuganfragen oder andere Inhaltsblöcke enthalten. content[0].text nicht bedingungslos lesen. Beispiel mit dem Anthropic Python SDK:
for block in message.content: if block.type == "text": print(block.text)Hier stammt message aus dem client.messages.create(...) im Anthropic SDK-Tutorial.
stop_reason | Verarbeitung durch die Anwendung |
|---|---|
end_turn | Diese Antwortrunde ist beendet |
max_tokens | Ausgabe wurde durch die Grenze abgeschnitten und darf nicht als vollständige Antwort behandelt werden |
tool_use | Werkzeuganfragen prüfen, erlaubte Werkzeuge ausführen und Ergebnisse zurücksenden |
| Andere Werte | Antwort bewahren und gemäß dem Protokoll des gewählten Modells verarbeiten, nicht davon ausgehen, dass es sich immer um einen Textabschluss handelt |
Im Werkzeugaufruf-Loop zuerst den vollständigen assistant-Inhaltsblock zur Historie hinzufügen, dann über tool_result im user-Inhalt zurücksenden; tool_use_id muss der Originalanfrage entsprechen. Werkzeuganfragen nicht direkt in einen einfachen Textabsatz umwandeln.
Mehrere Runden und Streaming
Abschnitt mit dem Titel „Mehrere Runden und Streaming“Bei jeder Anfrage die erforderliche Historie mitsenden; die API selbst speichert den Dialog nicht für die Anwendung. Streaming kennzeichnet das Nachrichtenende mit message_stop; der Empfang von Teiltext bedeutet nicht, dass die Anfrage abgeschlossen ist. Siehe Streaming-Ausgabe.
Protokolldetails: Anthropic Messages-Nutzungsanleitung. Ob erweiterte Parameter dieser Site verfügbar sind, richtet sich nach dem Modellkatalog und der tatsächlichen Antwort.
