
Ob du einen KI-Chatbot entwickelst oder einer Anwendung Gesprächsfunktionen hinzufügst: Es ist wichtig zu verstehen, wie KI Gespräche verarbeitet. Die Chat Completion API ermöglicht dies, indem sie Anwendungen mit KI-Modellen verbindet, um relevante, menschenähnliche Antworten zu generieren. Mit Funktionen wie Python-Integration, Streaming und Tool-Aufrufen können Entwickler interaktivere Anwendungen erstellen. Sehen wir uns an, wie sie funktioniert, wie du sie verwendest und wie Anbieter wie Kimi API die flexible KI-Entwicklung unterstützen.
Was ist die Chat Completions API
Die Chat Completions API ist eine Schnittstelle, über die Anwendungen eine Folge von Nachrichten an ein KI-Modell senden und eine Assistentenantwort erhalten können. Sie unterstützt sowohl Gespräche mit einem einzelnen Austausch als auch mehrteilige Gespräche. Du kannst beispielsweise Kimi K3.1 Pro verwenden, um eine Frage zu Python-Dekoratoren zu beantworten, und anschließend eine Folgefrage stellen:
Erste Anfrage: Sende die Nutzernachricht „Was ist ein Python-Dekorator?“. Kimi gibt eine Assistentennachricht zurück, die das Konzept erklärt.
Zweite Anfrage: Um das Gespräch fortzusetzen, sende die vorherige Nutzernachricht, die vollständige Assistentennachricht von Kimi und eine neue Nutzernachricht: „Kannst du mir ein Beispiel geben?“
Das messages-Array enthält den für jede Anfrage benötigten Kontext. Drei wichtige Designentscheidungen sorgen für die breite Verbreitung dieser Schnittstelle:
Von der Anwendung verwalteter Verlauf: Anwendungen verwalten den Gesprächsverlauf und fügen jeder Anfrage den relevanten Kontext hinzu. Dadurch haben Entwickler Kontrolle darüber, was das Modell sieht.
Gängige Nachrichtenrollen: Zu den gängigen Rollen gehören
system(Anweisungen),user(Eingabe),assistant(Modellausgabe, für den Mehrturn-Kontext zurückgegeben) undtool(Ergebnisse von Funktionsaufrufen). Zusammen ermöglichen sie die Darstellung von Anweisungen, Dialogen und Tool-Interaktionen.Flexible Funktionen: Je nach Modellunterstützung kann die Schnittstelle Streaming, Tool-Aufrufe, visuelle Eingaben und strukturierte Ausgaben verarbeiten. Kimi K3.1 Pro unterstützt diese Funktionen.
So verwendest du die Chat Completions API mit Kimi
Die folgenden Beispiele verwenden Kimi K3.1 Pro und das OpenAI Python SDK. Sie zeigen, wie du den Client konfigurierst, Anfragen sendest, Antworten verarbeitest und Tool-Aufrufe implementierst:
Schnellstart: Kimi mit dem OpenAI Python SDK aufrufen
Installiere das OpenAI Python SDK:
Lege deinen Kimi API-Schlüssel als Umgebungsvariable fest:
Du benötigst keinen OpenAI API-Schlüssel. Das OpenAI Python SDK dient als Client-Bibliothek, während dein Kimi API-Schlüssel und die Basis-URL Anfragen bei Kimi authentifizieren und dorthin weiterleiten.
Initialisiere den Client und sende deine erste Anfrage:
Dieses Beispiel verwendet den internationalen API-Endpunkt von Kimi. Informationen zur offiziellen Einrichtung und zu den Modelldetails findest du im Kimi K3.1 Pro Quickstart.
Wichtige Parameter
Diese Parameter umfassen die wichtigsten Optionen beim Aufruf von Kimi K3.1 Pro über die Chat Completions API:
| Parameter | Zweck |
|---|---|
model | Gibt die Modell-ID an, beispielsweise kimi-k3.1-pro. |
messages | Enthält Gesprächsnachrichten, darunter vorherige Nutzereingaben und Assistentenantworten. Unterstützt Text und multimodale Inhalte. |
reasoning_effort | Steuert die Tiefe des Reasonings. Akzeptiert low, high oder max (Standard). |
max_completion_tokens | Legt das maximale Budget für die Generierung fest, einschließlich Reasoning-Tokens und Tokens für die endgültige Antwort. Eingabe-Tokens werden separat gezählt, doch die Summe aus Eingabe- und generierten Tokens muss in das Kontextfenster des Modells passen. |
stream | Setze den Wert auf true, um die Antwort schrittweise zu erhalten, statt auf die vollständige Ausgabe zu warten. |
tools | Definiert Funktionen, deren Ausführung das Modell von der Anwendung anfordern kann. |
response_format | Steuert die Formatierung der Ausgabe. Unterstützt json_object für den JSON-Modus und json_schema für strukturierte Ausgaben mit Schemaeinschränkungen. |
Hinweis: Kimi K3.1 Pro verwendet feste Sampling-Einstellungen. Füge Anfragen weder temperature noch top_p hinzu. Details zu Parametern und unterstützten Werten findest du in der Chat Completions API-Referenz.
Die Antwort auslesen
Nach einer erfolgreichen Anfrage kannst du über das zurückgegebene Completion-Objekt auf die wichtigsten Antwortfelder zugreifen:
choices[0].message– Enthält die Antwort des assistant, einschließlichcontentodertool_calls, wenn das Modell eine Funktion anfordert.choices[0].finish_reason– Gibt an, warum die Generierung beendet wurde, etwa durchstop,lengthodertool_calls.usage– Liefert Informationen zur token-Nutzung, einschließlich der Anzahl von Eingabe-, Ausgabe- und, falls verfügbar, zwischengespeicherten token.
Für eine einfache Textantwort lies choices[0].message.content aus. Gibt das Modell tool_calls zurück, muss deine Anwendung die angeforderten Funktionen ausführen und deren Ergebnisse in einer Folgeanfrage übermitteln.
Streaming-Beispiel
Setze stream=True, um die Antwort von Kimi in schrittweise eintreffenden Teilen zu erhalten. Das folgende Beispiel verwendet den oben konfigurierten client erneut und gibt die endgültige Antwort aus, während sie eintrifft:
Kimi K3.1 Pro gibt die Reasoning-Inhalte getrennt von der endgültigen Antwort zurück. Dieses Beispiel gibt nur delta.content aus und zeigt daher die endgültige Antwort an, ohne das separate Feld reasoning_content zu verarbeiten.
Tool-Aufrufe im Überblick
Tool-Aufrufe ermöglichen Kimi, externe Funktionen anzufordern, wenn eine Aufgabe Informationen oder Aktionen erfordert, die über die eigene Antwort des Modells hinausgehen. Fragt ein Nutzer beispielsweise: „Soll ich heute in Tokio einen Regenschirm mitnehmen?“, kann Kimi eine get_weather-Funktion anfordern, um die Wettervorhersage abzurufen.
Der Ablauf umfasst drei Schritte:
Funktion deklarieren: Definiere
get_weatherund die erwarteten Argumente im Parametertools.Tool ausführen: Kimi gibt einen
tool_calls-Eintrag mit dem Funktionsnamen und den Argumenten zurück. Deine Anwendung führt die entsprechende Funktion aus und ruft die Wetterdaten ab.Ergebnis zurücksenden: Füge die vollständige assistant-Nachricht von Kimi und das Tool-Ergebnis (mit der passenden
tool_call_id) dem Gespräch hinzu. Rufe Kimi anschließend erneut auf, um eine nutzerorientierte Antwort zu generieren.
Das folgende Beispiel verwendet den oben konfigurierten client erneut. Stelle vor der Ausführung sicher, dass du eine Funktion get_weather(city) implementiert hast, die JSON-serialisierbare Wetterdaten zurückgibt. Die Funktion wird von deiner Anwendung ausgeführt, nicht von Kimi.
Hier steht get_weather() für eine von deiner Anwendung implementierte Funktion, nicht für eine direkt von Kimi ausgeführte Funktion. Kimi entscheidet, wann sie angefordert wird, und stellt die Argumente bereit. Deine Anwendung führt die eigentliche Operation aus und gibt das Ergebnis zurück.
Implementiere für den Produktionseinsatz eine Schleife, die jeden Tool-Aufruf verarbeitet, die entsprechenden Ergebnisse dem Gespräch hinzufügt und die aktualisierten Nachrichten an Kimi zurücksendet. Wiederhole diesen Zyklus, bis das Modell eine endgültige Antwort zurückgibt, ohne weitere Tools anzufordern.
Warum „OpenAI-kompatibel“ bei der Wahl eines Anbieters wichtig ist
Viele Anbieter unterstützen das OpenAI Chat Completions-Format, sodass Entwickler vertraute SDKs und Anfragestrukturen wiederverwenden können. Für einen Wechsel musst du in der Regel die Basis-URL, den API-Schlüssel und die Modell-ID aktualisieren und anschließend unterstützte Parameter sowie die Antwortverarbeitung prüfen. Berücksichtige beim Vergleich von Anbietern folgende Faktoren:
Kompatibilitätstreue: Prüfe, ob Streaming, Tool-Aufrufe, strukturierte Ausgaben und
usage-Berichte wie von deiner Anwendung erwartet funktionieren. Die Kompatibilität mit demselben API-Format garantiert nicht, dass Anbieter identische Funktionen unterstützen oder sich Antworten gleich verhalten.Modellqualität für deine Arbeitslast: Deine Sprachmischung und Aufgabentypen sind wichtiger als allgemeine Benchmarks.
Kontextfenster: Modelle mit langem Kontext können einige Dokument-Workflows vereinfachen, indem sie mehr Quellmaterial in einer einzigen Anfrage verarbeiten.
Kostenmechanik: Caching und Rabatte für Stapelverarbeitung wiegen oft stärker als beworbene Preise pro token.
Breite des Ökosystems: Zusätzliche kompatible Endpunkte wie Responses und Anthropic Messages können mehr Integrationsmöglichkeiten und Flexibilität bieten, wenn sich deine Anwendung weiterentwickelt.
Kimi API: Ein herausragender OpenAI-kompatibler Anbieter
Kimi API, entwickelt von Moonshot AI, ist eine Überlegung wert, wenn du einen OpenAI-kompatiblen Anbieter suchst – insbesondere für chinesischsprachige Anwendungen, die Verarbeitung langer Dokumente und Coding-Agenten. Sie verbindet vertraute API-Integrationsmuster mit den Langkontext- und Reasoning-Funktionen von Kimi.
Direkt kompatibel
Wenn deine Anwendung bereits das OpenAI Python SDK verwendet, kannst du Kimi integrieren, ohne deinen gesamten Anfrage-Workflow neu zu schreiben. Aktualisiere einfach die API-Konfiguration, einschließlich base_url, api_key und Modell-ID, und behalte dabei die vertraute Chat-Completions-Schnittstelle bei.
Der folgende Code liest beispielsweise einen lokalen Bericht aus report.txt, sendet dessen Inhalt zur Zusammenfassung an Kimi K3.1 Pro und streamt die generierte Antwort:
Hier verwendet client erneut den zuvor initialisierten Kimi-Client, dessen API-Schlüssel aus einer Umgebungsvariable gelesen wird. Wähle die Basis-URL entsprechend deiner Region: https://api.moonshot.ai/v1 für die internationale Plattform oder https://api.moonshot.cn/v1 für Nutzer, die in Festlandchina auf die API zugreifen.
Mit diesem Ansatz kannst du deinen bestehenden OpenAI-SDK-Workflow beibehalten und Kimi-Modelle für Aufgaben wie Dokumentenzusammenfassungen und andere API-gestützte Anwendungen nutzen.
Was Kimi auszeichnet
Ein Flaggschiffmodell mit einem Kontextfenster von 1 Mio. token: Kimi K3.1 Pro unterstützt ein Kontextfenster von bis zu 1 Mio. token und native visuelle Verarbeitung. Entwickler können umfangreiche Codebasen, Dokumente in Buchlänge und Bildeingaben in einem einzigen Workflow verarbeiten. Dadurch eignet sich das Modell für komplexes Schlussfolgern, Programmierung und multimodale Anwendungen.
Flexible Kostenoptimierung: Kimi API unterstützt automatisches Kontext-Caching für wiederholte Anfragepräfixe sowie Batch API-Inferenz für umfangreiche Aufgaben, die keine Echtzeitantworten erfordern. Die Abrechnung für Cache und Batch hängt vom Modell und den geltenden Preisregeln ab. Aktuelle Preise und Abrechnungsdetails findest du in der offiziellen Preisübersicht für Kimi API.
Kompatibilität zwischen API-Ökosystemen: Kimi stellt mit OpenAI kompatible Endpunkte für Chat Completions und Responses API sowie einen mit Anthropic Messages kompatiblen Endpunkt bereit. Entwickler können Kimi K3.1 Pro mithilfe vertrauter SDKs und API-Formate in bestehende Workflows integrieren, mit Anpassungen je nach Endpunkt und unterstützten Funktionen.
Fazit
Der Einstieg in die Chat Completions API ist unkompliziert: Konfiguriere deine API-Zugangsdaten, sende eine Anfrage und lies die generierte Antwort aus choices[0].message.content. Sobald dein erster API-Aufruf funktioniert, kannst du deine Integration je nach Anforderungen deiner Anwendung um mehrteilige Unterhaltungen, gestreamte Antworten oder Tool-Aufrufe erweitern. Bereit, mit Kimi zu entwickeln? Hol dir deinen Kimi API-Schlüssel und stelle deine ersten API-Anfragen.
FAQ
messages-Array und gibt Antworten über ein choices-Array zurück. Die Responses API nutzt eine flexiblere Ein- und Ausgabestruktur, die verschiedene Inhaltstypen und Tool-Interaktionen unterstützt. Die Verwaltung des Gesprächszustands unterscheidet sich je nach Anbieter. Bei der Responses API von Kimi sollten Anwendungen den relevanten Gesprächsverlauf in jede Anfrage einbeziehen, statt sich auf die Verkettung über Antwort-IDs zu verlassen.base_url auf den API-Endpunkt von Kimi, api_key auf deinen Kimi API-Schlüssel und model auf eine unterstützte Kimi-Modell-ID. Teste anschließend deine Integration, um sicherzustellen, dass die Parameter und Funktionen unterstützt werden, auf die deine Anwendung angewiesen ist, etwa Streaming und Tool-Aufrufe.



