Zum Hauptinhalt springen
Anthropic Claude ist ein sehr leistungsstarkes KI-Dialogsystem, das in nur wenigen Sekunden flüssige und natürliche Antworten generieren kann, sobald ein Eingabewort eingegeben wird. Claude hebt sich durch seine hervorragenden Sprachverständnis- und Generierungsfähigkeiten in der Branche hervor und wird mittlerweile in verschiedenen Branchen und Bereichen weit verbreitet eingesetzt, wobei sein Einfluss immer deutlicher wird. Egal ob bei alltäglichen Gesprächen, kreativem Schreiben oder professioneller Beratung und Programmierung, Claude kann erstaunliche intelligente Unterstützung bieten und die Effizienz und Kreativität der Menschen erheblich steigern. Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der Claude Chat Completion API, mit der wir die Dialogfunktionen von Claude einfach nutzen können.

Antragsprozess

Um die Claude Chat Completion API zu nutzen, können Sie zunächst auf die Seite Claude Chat Completion API gehen und auf die Schaltfläche „Acquire“ klicken, um die benötigten Anmeldeinformationen zu erhalten: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Antragstellung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Als Nächstes können Sie im Interface die entsprechenden Inhalte ausfüllen, wie im Bild gezeigt:

Bei der ersten Nutzung dieser Schnittstelle müssen wir mindestens drei Inhalte ausfüllen: einer ist authorization, den Sie einfach aus der Dropdown-Liste auswählen können. Ein weiterer Parameter ist model, model ist die Modellkategorie, die wir von der Claude-Website auswählen. Hier haben wir hauptsächlich 20 Modelle zur Auswahl, die Details können Sie in den bereitgestellten Modellen einsehen. Der letzte Parameter ist messages, messages ist das Array der von uns eingegebenen Fragen, es handelt sich um ein Array, das mehrere Fragen gleichzeitig hochladen kann, wobei jede Frage role und content enthält, wobei role die Rolle des Fragestellers angibt. Wir bieten drei Identitäten an: user, assistant, system. Das andere content ist der spezifische Inhalt unserer Frage. Gleichzeitig können Sie auf der rechten Seite den entsprechenden Code zur Aufrufgenerierung sehen, den Sie kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken können, um einen Test durchzuführen. Häufig verwendete optionale Parameter:
  • max_tokens: Begrenzung der maximalen Token-Anzahl pro Antwort.
  • temperature: Generierungsrandomisierung, zwischen 0-2, je höher der Wert, desto divergenter.
  • n: Wie viele Antwortvorschläge auf einmal generiert werden.
  • response_format: Einstellung des Rückgabeformats.

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hallo! Wie kann ich Ihnen heute helfen?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Das Rückgabeergebnis hat mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID der generierten Dialogaufgabe, die zur eindeutigen Identifizierung dieser Dialogaufgabe dient.
  • model, das gewählte Claude-Modell von der Website.
  • choices, die Antwortinformationen von Claude auf die Fragen.
  • usage: Statistische Informationen zu den Tokens für diese Frage-Antwort-Paar.
Dabei enthält choices die Antwortinformationen von Claude, und die choices darin sind die spezifischen Informationen, die Claude gegeben hat, wie im Bild zu sehen ist.

Wie zu sehen ist, enthält das Feld content in choices den spezifischen Inhalt der Antwort von Claude.

Stream-Antwort

Diese Schnittstelle unterstützt auch Stream-Antworten, was für die Integration in Webseiten sehr nützlich ist, da es ermöglicht, die Ergebnisse zeilenweise anzuzeigen. Wenn Sie eine Stream-Antwort zurückgeben möchten, können Sie den stream-Parameter im Header der Anfrage auf true ändern. Die Änderung ist wie im Bild gezeigt, jedoch muss der Aufrufcode entsprechend geändert werden, um Stream-Antworten zu unterstützen.

Nachdem Sie stream auf true geändert haben, gibt die API die entsprechenden JSON-Daten zeilenweise zurück. Auf der Code-Ebene müssen wir entsprechende Änderungen vornehmen, um die zeilenweisen Ergebnisse zu erhalten. Beispielaufrufcode in Python:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hallo"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Die Ausgabe sieht wie folgt aus:
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "Hallo!"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " Wie kann ich Ihnen helfen"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " heute?"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
Sie können sehen, dass die Antwort viele data enthält, wobei data die neuesten Antwortinhalte in choices sind, die mit den oben beschriebenen Inhalten übereinstimmen. choices sind die neuen Antwortinhalte, die Sie in Ihr System integrieren können. Das Ende der Streaming-Antwort wird anhand des Inhalts von data bestimmt; wenn der Inhalt [DONE] ist, bedeutet dies, dass die Streaming-Antwort vollständig beendet ist. Die zurückgegebenen data-Ergebnisse haben mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID der generierten Dialogaufgabe, die zur eindeutigen Identifizierung dieser Dialogaufgabe verwendet wird.
  • model, das gewählte Modell von Claude.
  • choices, die Antwortinformationen von Claude auf die Fragen.
JavaScript wird ebenfalls unterstützt, zum Beispiel sieht der Code für den Streaming-Aufruf in Node.js wie folgt aus:
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "Hallo" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
Java-Beispielcode:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"Hallo"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Andere Sprachen können entsprechend umgeschrieben werden, das Prinzip ist dasselbe.

Mehrere Runden im Dialog

Wenn Sie die Funktion für mehrere Runden im Dialog integrieren möchten, müssen Sie mehrere Fragen im Feld messages hochladen. Ein konkretes Beispiel für mehrere Fragen ist im folgenden Bild dargestellt:

Python-Beispielaufrufcode:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hallo"},{"role":"assistant","content":"Hallo! Wie kann ich Ihnen heute helfen?"},{"role":"user","content":"Was habe ich gerade gesagt?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Durch das Hochladen mehrerer Fragen können Sie problemlos mehrere Runden im Dialog realisieren und erhalten folgende Antwort:
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Sie haben \"Hallo\" gesagt - das war Ihre erste Nachricht an mich in unserem Gespräch."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
可以看到,choices enthält die Informationen, die mit dem grundlegenden Inhalt der Verwendung übereinstimmen. Dies umfasst die spezifischen Inhalte von Claudes Antworten auf mehrere Dialoge, sodass Fragen basierend auf mehreren Dialoginhalten beantwortet werden können.

Tiefes Denkmodell

Das Modell claude-opus-4-20250514-thinking und das Modell claude-sonnet-4-20250514-thinking unterscheiden sich von anderen Modellen, da sie in der Lage sind, basierend auf den Fragen tief zu denken und die Ergebnisse des Denkprozesses zurückzugeben. Dieser Artikel wird die Funktion des tiefen Denkens anhand eines konkreten Beispiels demonstrieren. Anschließend können Sie die entsprechenden Inhalte im Claude Chat Completion API-Bereich ausfüllen, wie im Bild gezeigt:

Gleichzeitig können Sie auf der rechten Seite den entsprechenden Code zur Aufrufgenerierung bemerken. Sie können den Code kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken, um einen Test durchzuführen.

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Der Sinus von 30 Grad ist **1/2** oder **0.5**.\n\nDies ist einer der grundlegenden trigonometrischen Werte. In einem 30-60-90-Dreieck stehen die Seiten im Verhältnis 1:√3:2, wobei die Seite gegenüber dem 30°-Winkel die Länge 1 hat und die Hypotenuse die Länge 2 hat, was uns sin(30°) = 1/2 ergibt.",
        "reasoning_content": "Der Benutzer fragt nach dem Sinus von 30 Grad. Dies ist eine grundlegende Frage der Trigonometrie.\n\nDer Sinus von 30 Grad ist ein bekannter Wert. In einem 30-60-90-Dreieck stehen die Seiten im Verhältnis 1:√3:2.\n\nFür einen 30°-Winkel:\n- Die gegenüberliegende Seite ist 1\n- Die Hypotenuse ist 2\n- Daher ist sin(30°) = gegenüberliegend/Hypotenuse = 1/2 = 0.5\n\nDies ist einer der standardmäßigen trigonometrischen Werte, die häufig auswendig gelernt werden."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
Es ist zu erkennen, dass die Antwortinformationen in choices nach tiefem Denken erhalten wurden und auch die entsprechenden Inhalte des Denkprozesses angegeben sind, wobei in content reasoning_content den Denkprozess des Modells darstellt. Die Antwortinformationen in choices müssen mit markdown-Syntax gerendert werden, um die beste Erfahrung zu erzielen. Schließlich zeigt dies auch die starke Netzwerkfunktionalität unseres Modells.

Visuelles Modell

claude-sonnet-4-20250514 ist ein multimodales großes Sprachmodell, das von Claude entwickelt wurde und auf claude-4 basiert, wobei die visuelle Verständnisfähigkeit hinzugefügt wurde. Dieses Modell kann gleichzeitig Text- und Bilddaten verarbeiten und ermöglicht ein Verständnis und eine Generierung über Modalitäten hinweg. Die Textverarbeitung mit dem Modell claude-sonnet-4-20250514 ist mit dem oben beschriebenen grundlegenden Inhalt der Verwendung konsistent. Im Folgenden wird kurz erläutert, wie die Bildverarbeitungsfähigkeiten des Modells genutzt werden können. Die Bildverarbeitungsfähigkeiten des Modells claude-sonnet-4-20250514 werden hauptsächlich durch das Hinzufügen eines type-Feldes zur ursprünglichen content-Inhalt erreicht. Anhand dieses Feldes kann festgestellt werden, ob Text oder Bild hochgeladen wird, um die Bildverarbeitungsfähigkeiten des Modells claude-sonnet-4-20250514 zu nutzen. Im Folgenden werden hauptsächlich zwei Methoden zur Nutzung dieser Funktion beschrieben: Curl und Python.
  • Curl-Skript-Methode
curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Was ist in diesem Bild?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Python-Skript-Methode
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "Was ist in diesem Bild?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Dann können wir das folgende Ergebnis erhalten, wobei die Feldinformationen im Ergebnis mit den oben genannten übereinstimmen:
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Dieses Bild zeigt eine API-Anforderungs-Konfigurationsoberfläche für einen AI-Chat-Vervollständigungsdienst. Hier sind die wichtigsten Elemente:\n\n**Parameter des Anfragekörpers:**\n\n1. **model** (erforderlicher String) - Auf \"claude-opus-4-202505...\" gesetzt - gibt an, welches AI-Modell verwendet werden soll\n\n2. **messages** (erforderliches Array) - Enthält die Gesprächshistorie mit:\n   - **role** (erforderlicher String) - Auf \"user\" gesetzt \n   - **content** (erforderlicher String) - Enthält \"Hallo\" als Nachrichteninhalt\n\n3. **stream** (boolean) - Auf \"true\" gesetzt - ermöglicht partielle Nachrichtenänderungen wie in ChatGPT\n\n4. **max_tokens** (Zahl) - Feld zur Festlegung der maximalen Tokens, die in der Antwort generiert werden können\n\n5. **n** (Zahl) - Gibt an, wie viele Chat-Vervollständigungsoptionen für jede Eingabe generiert werden sollen\n\nDie Oberfläche hat ein dunkles Design mit weißem Text auf schwarzen/dunkelgrauen Hintergründen. Es gibt eine Schaltfläche \"Beispiel ausfüllen\" in der unteren rechten Ecke sowie verschiedene Dropdown-Menüs und Eingabefelder zur Konfiguration der API-Anforderungsparameter. Ein rotes Papierkorb-/Löschsymbol ist sichtbar, wahrscheinlich zum Entfernen von Nachrichten."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Es kann gesehen werden, dass die Antworten auf den Bildern basieren, daher können die Text- und Bildverarbeitungsfähigkeiten des Modells claude-3-7-sonnet-20250219 leicht durch die oben genannten zwei Methoden genutzt werden.

Fehlerbehandlung

Bei der API-Anruf, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiges oder fehlendes Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Beispiel für eine Fehlerantwort

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Dialogfunktionen von Claude Chat Completion API einfach nutzen können. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.