Skip to main content
Anthropic Claude ist ein sehr leistungsstarkes KI-Dialogsystem, das in der Lage ist, innerhalb von Sekunden flüssige und natürliche Antworten zu generieren, sobald ein Eingabewort eingegeben wird. Die Claude Messages API ist das offizielle native API-Format von Anthropic, das sich von dem kompatiblen Format von OpenAI (Chat Completion) unterscheidet. Es verwendet die eigene Anfrage- und Antwortstruktur von Anthropic, um die einzigartigen Fähigkeiten von Claude besser zu nutzen, wie multimodale Inhalteingabe, Werkzeugaufrufe, tiefes Denken (Extended Thinking) und andere fortgeschrittene Funktionen. Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der Claude Messages API. Damit können wir die Dialogfunktionen von Claude über die offizielle native Schnittstelle von Anthropic aufrufen.

Antragsprozess

Um die Claude Messages API zu nutzen, müssen Sie zunächst im Ace Data Cloud Dashboard Ihr API-Token abrufen und für zukünftige Verwendung aufbewahren. Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, wo Sie zur Registrierung und Anmeldung eingeladen werden. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet. Ein API-Token reicht aus, um alle Dienste der Plattform aufzurufen, es ist nicht erforderlich, für jeden Dienst separat einen Antrag zu stellen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent nicht ausreicht, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: Claude Messages API →

Grundlegende Nutzung

Der Anfragepfad der Claude Messages API lautet /v1/messages und bleibt mit der offiziellen API von Anthropic konsistent. Wir müssen mindestens drei erforderliche Parameter bereitstellen:
  • model: Wählen Sie das zu verwendende Claude-Modell. Das neueste Flaggschiff ist claude-fable-5-1 (1 Million Token Kontext, maximale Ausgabe 128K Token); das ursprüngliche claude-fable-5 bleibt weiterhin kompatibel.
  • messages: Eingabemeldungsarray, jede Nachricht enthält role (Rolle) und content (Inhalt), wobei role user und assistant unterstützt.
  • max_tokens: Maximale Anzahl an Ausgabetokens, um die Länge der einzelnen Antworten zu begrenzen.
Häufig verwendete optionale Parameter:
  • system: Systemaufforderung, um das Verhalten und die Rolle des Modells festzulegen.
  • temperature: Generierungsrandomisierung, zwischen 0-1, je höher der Wert, desto divergenter die Antwort.
  • stream: Ob die Verwendung von Streaming-Antworten aktiviert ist, setzen Sie auf true, um eine zeilenweise Rückgabe zu erzielen.
  • stop_sequences: Benutzerdefinierte Stoppsequenzen, bei denen das Modell die Generierung stoppt, wenn es auf diesen Text trifft.
  • top_p: Kernstichprobenparameter, der zusammen mit der Temperatur die Randomisierung der Generierung steuert.
  • top_k: Nur aus den K wahrscheinlichsten K Optionen stichproben.
  • tools: Werkzeugdefinition, um das Modell externe Funktionen aufrufen zu lassen.
  • tool_choice: Steuert, wie das Modell die bereitgestellten Werkzeuge verwendet.
  • cache_control: Erstellt automatisch einen Cache-Punkt am letzten cachebaren Inhaltsteil der Anfrage; kann auch auf spezifischen Inhaltsteilen geschrieben werden.

cURL Beispiel

Python Beispiel

Nach dem Aufruf sieht das Rückgabeergebnis wie folgt aus:
Erläuterung der Rückgabeergebnisfelder:
  • id: Eindeutiger Identifikator für diese Nachricht.
  • type: Immer message.
  • role: Immer assistant.
  • content: Antwortinhaltsarray, jedes Element enthält type (z. B. text) und den entsprechenden Inhalt.
  • model: Name des Modells, das die Anfrage bearbeitet.
  • stop_reason: Grund für das Stoppen. Stabile Werte sind end_turn, max_tokens, stop_sequence, tool_use, pause_turn (kann den aktuellen Inhalt des Assistenten unverändert zurückgeben, um fortzufahren), refusal und model_context_window_exceeded.
  • stop_sequence: Wenn das Stoppen aufgrund einer benutzerdefinierten Stoppsequenz erfolgt, wird der übereinstimmende Stoppsequenztext angezeigt.
  • stop_details: Wenn stop_reason refusal ist, kann dies die Ablehnungsart und -beschreibung enthalten.
  • usage: Token-Nutzungsstatistik. input_tokens sind nicht zwischengespeicherte Eingaben; cache_creation_input_tokens und cache_read_input_tokens sind jeweils das Schreiben und Lesen von Cache; output_tokens ist die Anzahl der Ausgabetokens. Der offizielle Basispreis für das Lesen von Cache bei Fable 5.1 beträgt 0.25/MillionToken,dieBasispreisefu¨rdasSchreibenvonCachebetragen0.25/Million Token, die Basispreise für das Schreiben von Cache betragen 12.50 und $20/Million Token für 5 Minuten bzw. 1 Stunde; die tatsächlichen Preise der Plattform werden nach Paketrabatten berechnet. Nicht-streaming-Antworten können auch cost enthalten, die von Ace Data Cloud aufgezeichnet wird.

Systemaufforderungen

Die Claude Messages API unterstützt die Festlegung von Systemaufforderungen über das Feld system, um das Verhalten, die Rolle und den Kontext des Modells zu definieren.

Python Beispiel

Durch die Festlegung der system-Aufforderung können Sie die Rolle und das Verhalten von Claude präzise steuern.

Streaming-Antworten

Diese Schnittstelle unterstützt auch Streaming-Antworten. Setzen Sie den Parameter stream auf true, um eine schrittweise Rückgabe zu erhalten, die sich hervorragend für die zeilenweise Anzeige auf Webseiten eignet.

Python Beispiel

Der Streaming-Antwort wird im Format von Server-Sent Events (SSE) zurückgegeben, wobei jede Zeile mit event: und data: vorangestellt ist. Die Streaming-Ereignistypen umfassen:
  • message_start: Beginn der Nachricht, enthält grundlegende Informationen zur Nachricht und den Modellnamen.
  • content_block_start: Beginn des Inhaltsblocks.
  • content_block_delta: Inkrementelle Aktualisierung des Inhaltsblocks, enthält neu generierte Textfragmente.
  • content_block_stop: Ende des Inhaltsblocks.
  • message_delta: Inkrementelle Aktualisierung auf Nachrichtenebene, enthält stop_reason und endgültige usage-Informationen.
  • message_stop: Ende der Nachricht.
Die Ausgabe sieht wie folgt aus:
Wie zu sehen ist, enthält das Streaming-Antwortereignis content_block_delta die schrittweise generierten Textinhalte, die durch das Verketten aller text_delta die vollständige Antwort ergeben.

JavaScript-Beispiel

Mehrere Runden im Dialog

Wenn Sie die Funktion für mehrere Runden im Dialog integrieren möchten, müssen Sie die Nachrichten der Rollen user und assistant im messages-Array abwechselnd anordnen und die vorherige Gesprächshistorie mit übergeben.

Python-Beispiel

Die Rückgabe sieht wie folgt aus:
Durch das Übermitteln der vollständigen Gesprächshistorie in messages kann Claude den Kontext für präzise Antworten nutzen.

Tiefes Denkmodell

Claudes Denken und Denkzusammenfassung sind zwei verschiedene Konzepte: Das Modell kann interne Schlussfolgerungen ziehen, aber die API gibt die ursprüngliche Denkweise nicht zurück. Wenn der Denkprozess angezeigt werden soll, gibt die API eine verarbeitete Zusammenfassung zurück. Das aktuelle Modell empfiehlt die Verwendung von adaptivem Denken und steuert den Gesamtaufwand für das Denken über output_config.effort:
Der Denkblock in der Antwort sieht folgendermaßen aus:
  • display: "summarized" gibt eine lesbare Denkzusammenfassung zurück; es ist nicht die ursprüngliche Denkweise.
  • display: "omitted" gibt thinking: "" zurück, behält jedoch die undurchsichtige signature bei, um nachfolgende Gespräche zu unterstützen.
  • Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 und Opus 4.7 haben standardmäßig omitted als Anzeige; Opus 4.6, Sonnet 4.6 und frühere Modelle, die Denken unterstützen, verwenden standardmäßig summarized.
  • Die Anzeige beeinflusst nur den Rückgabewert und die Streaming-Verzögerung, schaltet das Denken nicht aus und reduziert nicht die Abrechnung von Denk-Token.
  • Ob das Denken standardmäßig aktiviert ist und die Standardwerte der Anzeige sind zwei unabhängige Fragen. Opus 5 und Sonnet 5 aktivieren standardmäßig adaptives Denken; Opus 4.8, 4.7 und 4.6 müssen explizit aktiviert werden.
  • budget_tokens wird nur für ältere Modelle verwendet, die noch ein festes Denkbudget unterstützen. Neuere Modelle sollten thinking.type=adaptive und output_config.effort verwenden; das Denken von Fable 5.1 ist immer aktiviert und kann nicht explizit deaktiviert werden.
  • Bei mehreren Runden im Dialog und Toolaufrufen sollten Sie den vollständigen Denkblock und die Signatur, die vom Assistenten zurückgegeben werden, unverändert zurückgeben; ändern oder generieren Sie die Signatur nicht selbst.
  • Einige kompatible Routen können redacted_thinking oder das explizite Deaktivieren des Denkens nicht verlustfrei verarbeiten, was zu einem Parameterfehler führt, ohne die Anfrage stillschweigend zu verwerfen oder die Semantik zu ändern.
In Streaming-Anfragen erzeugt summarized thinking_delta; omitted erzeugt kein thinking_delta, behält jedoch den Lebenszyklus des Denkblocks und signature_delta bei.

Visuelles Modell

Verwendung von URL-Bildern

cURL-Beispiel

Unterstützte Bildformate sind: image/jpeg, image/png, image/gif, image/webp.

Dokumente und PDF

PDFs verwenden den document Inhaltsblock und unterstützen sowohl Base64- als auch URL-Quellen. Base64-Quellen müssen application/pdf verwenden:
URL-Quellen werden als {"type":"url","url":"https://example.com/report.pdf"} geschrieben. document unterstützt auch text/plain und content-Quellen, die aus text/image-Blöcken bestehen; optionale Felder sind title, context und citations. Die file_id-Quelle der Files API gehört zu einer unabhängigen Beta-Funktion und ist nicht Teil des stabilen Vertrags dieser Schnittstelle.

Cache für Hinweise

Die oberste cache_control wird automatisch den Cache-Punkt am letzten speicherbaren Block setzen:
Wenn eine präzise Steuerung der Position erforderlich ist, kann dasselbe cache_control auch in text-, image-, document-, tool_use-, tool_result-Inhaltsblöcken oder bei der Definition von Werkzeugen geschrieben werden. ttl unterstützt 5m (Standard) und 1h; bitte überprüfen Sie usage.cache_creation_input_tokens und usage.cache_read_input_tokens, um das Schreiben und den Treffer des Caches zu beurteilen. Beispiel für eine Rückgabe:

Werkzeugaufruf (Tool Use)

Die Claude Messages API unterstützt nativ die Funktion des Werkzeugaufrufs, die es dem Modell ermöglicht, bei Bedarf Ihre vordefinierten Werkzeuge/Funktionen aufzurufen.

Python-Beispiel

Wenn das Modell beschließt, ein Werkzeug aufzurufen, enthält der Rückgabewert im content einen Inhaltsblock vom Typ tool_use:
Beachten Sie, dass stop_reason auf tool_use gesetzt ist, was bedeutet, dass das Modell ein Werkzeug aufrufen muss. Nach Erhalt dieses Ergebnisses müssen Sie die Werkzeugfunktion ausführen und das Ergebnis in Form von tool_result an das Modell zurückgeben:
Das Modell wird basierend auf den Ergebnissen des Tools eine endgültige natürliche Sprachantwort generieren.

Unterschiede zur Chat Completion API

Ace Data Cloud bietet zwei Formate der Claude API an, die Hauptunterschiede sind wie folgt: Die usage.input_tokens der Messages API zeigt nur nicht zwischengespeicherte Eingaben an, cache_read_input_tokens und cache_creation_input_tokens sind unabhängig abgerechnete Kategorien; alle drei werden entsprechend den jeweiligen Preisen berechnet. Wenn Ihr System bereits mit der OpenAI-Format API verbunden ist, können Sie nahtlos zur Chat Completion API wechseln. Wenn Sie die gesamten nativen Fähigkeiten von Claude nutzen möchten, wird empfohlen, die Messages API zu verwenden.

Fehlerbehandlung

Die Fehlerantworten der öffentlichen Schnittstelle verwenden das Ace Data Cloud Plattform-Envelope: error.code ist der stabile Fehlercode, error.message ist die Beschreibung, trace_id wird zur Fehlersuche verwendet. Häufige HTTP-Statuscodes sind:
  • 400: Ungültige Anforderungsparameter oder Protokollinhalt.
  • 401: Ungültiges, fehlendes oder abgelaufenes Autorisierungstoken.
  • 403: Zugriff verweigert, unzureichendes Guthaben oder eingeschränkte Kontingente.
  • 404: API oder Modell existiert nicht.
  • 413: Anforderungskörper zu groß.
  • 429: Zu viele Anfragen.
  • 500 / 503 / 504: Serverfehler, vorübergehend nicht verfügbar oder Verarbeitungszeitüberschreitung.

Beispiel für eine Fehlerantwort

Diese Fehlerstruktur ist der Laufzeitvertrag von Ace Data Cloud und entspricht nicht dem offiziellen Fehler-Envelope von Anthropic; bitte behandeln Sie es gemäß dem HTTP-Status und error.code.

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Claude Messages API im nativen Format von Anthropic verwenden, um die Dialogfunktionen von Claude aufzurufen. Die Messages API unterstützt eine Vielzahl von Funktionen wie grundlegende Dialoge, System-Prompts, Streaming-Antworten, mehrstufige Dialoge, tiefes Denken, visuelles Verständnis, PDF, Prompt-Caching und Toolaufrufe. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.