Zum Inhalt springen
Deutsch

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.

Zuerst die Umgebungsvariable für den Site-Schlüssel ONEZHE_API_KEY setzen, dann ausführen:

bash
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": "什么是域名解析?"}]
}'
FeldTypVerwendung
modelstringErforderlich, wählt das Claude-Modell, für das der Schlüssel verfügbar ist
max_tokensintegerErforderlich, Ausgabegrenze; in Kombination mit den Limit-Einstellungen des gewählten Modells
messagesarrayErforderlich, sendet user- und assistant-Nachrichten in chronologischer Reihenfolge
systemstring oder Array von InhaltsblöckenOptional, Systemanweisung auf oberster Ebene, keine role: system-Nachricht verwenden
streambooleanOptional, Inhaltsblock-Inkremente streamen
toolsarrayOptional, 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.

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:

python
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_reasonVerarbeitung durch die Anwendung
end_turnDiese Antwortrunde ist beendet
max_tokensAusgabe wurde durch die Grenze abgeschnitten und darf nicht als vollständige Antwort behandelt werden
tool_useWerkzeuganfragen prüfen, erlaubte Werkzeuge ausführen und Ergebnisse zurücksenden
Andere WerteAntwort 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.

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.