Chat Completions API: Funktionsweise und Verwendung

Erfahre, wie die Chat Completions API funktioniert, wie du sie mit Python integrierst, und verstehe wichtige Parameter, Streaming und Tool-Aufrufe. Entdecke außerdem, wie OpenAI-kompatible Anbieter wie Kimi API die flexible Entwicklung von KI-Anwendungen unterstützen können.

9 Min. LesezeitAktualisiert: 2026-11-14
Anfrage- und Antwortablauf der Chat Completions API

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) und tool (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:

pip install --upgrade openai

Lege deinen Kimi API-Schlüssel als Umgebungsvariable fest:

export MOONSHOT_API_KEY="sk-your-kimi-key"

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:

import os from openai import OpenAI client = OpenAI( api_key=os.environ["MOONSHOT_API_KEY"], base_url="https://api.moonshot.ai/v1", ) resp = client.chat.completions.create( model="kimi-k3.1-pro", messages=[ {"role": "user", "content": "Explain REST in one paragraph."} ], ) print(resp.choices[0].message.content)

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:

ParameterZweck
modelGibt die Modell-ID an, beispielsweise kimi-k3.1-pro.
messagesEnthält Gesprächsnachrichten, darunter vorherige Nutzereingaben und Assistentenantworten. Unterstützt Text und multimodale Inhalte.
reasoning_effortSteuert die Tiefe des Reasonings. Akzeptiert low, high oder max (Standard).
max_completion_tokensLegt 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.
streamSetze den Wert auf true, um die Antwort schrittweise zu erhalten, statt auf die vollständige Ausgabe zu warten.
toolsDefiniert Funktionen, deren Ausführung das Modell von der Anwendung anfordern kann.
response_formatSteuert 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ßlich content oder tool_calls, wenn das Modell eine Funktion anfordert.

  • choices[0].finish_reason – Gibt an, warum die Generierung beendet wurde, etwa durch stop, length oder tool_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:

stream = client.chat.completions.create( model="kimi-k3.1-pro", messages=[ {"role": "user", "content": "Write a haiku about autumn."} ], stream=True, ) for chunk in stream: if not chunk.choices: continue delta = chunk.choices[0].delta if delta.content: print(delta.content, end="", flush=True)

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:

  1. Funktion deklarieren: Definiere get_weather und die erwarteten Argumente im Parameter tools.

  2. 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.

  3. 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.

import json tools = [ { "type": "function", "function": { "name": "get_weather", "description": "Get the weather forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string"} }, "required": ["city"] } } } ] messages = [ {"role": "user", "content": "Should I bring an umbrella in Tokyo today?"} ] # Ask Kimi whether it needs to call a tool resp = client.chat.completions.create( model="kimi-k3.1-pro", messages=messages, tools=tools, ) assistant_message = resp.choices[0].message # Preserve the complete assistant message, including tool_calls messages.append(assistant_message) # Execute the requested function in your application for tool_call in assistant_message.tool_calls or []: if tool_call.function.name == "get_weather": args = json.loads(tool_call.function.arguments) # Call your own weather service or API weather_result = get_weather(city=args["city"]) messages.append({ "role": "tool", "tool_call_id": tool_call.id, "content": json.dumps(weather_result) }) # Let Kimi interpret the tool result and answer the user final_resp = client.chat.completions.create( model="kimi-k3.1-pro", messages=messages, tools=tools, ) print(final_resp.choices[0].message.content)

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:

  1. 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.

  2. Modellqualität für deine Arbeitslast: Deine Sprachmischung und Aufgabentypen sind wichtiger als allgemeine Benchmarks.

  3. Kontextfenster: Modelle mit langem Kontext können einige Dokument-Workflows vereinfachen, indem sie mehr Quellmaterial in einer einzigen Anfrage verarbeiten.

  4. Kostenmechanik: Caching und Rabatte für Stapelverarbeitung wiegen oft stärker als beworbene Preise pro token.

  5. 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:

from pathlib import Path report_text = Path("report.txt").read_text(encoding="utf-8") resp = client.chat.completions.create( model="kimi-k3.1-pro", messages=[ { "role": "user", "content": f"Summarize the following report:\n\n{report_text}" } ], stream=True, ) for chunk in resp: if not chunk.choices: continue content = chunk.choices[0].delta.content if content: print(content, end="", flush=True)

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

Nein. Die Chat Completions API ist nicht auf OpenAI-Modelle beschränkt. Andere KI-Anbieter, darunter Kimi, bieten APIs an, die dem OpenAI-kompatiblen Chat-Completions-Format folgen. Dadurch können Entwickler vertraute SDKs und Anfragestrukturen mit unterstützten Modellen verschiedener Anbieter wiederverwenden, wobei der Funktionsumfang variieren kann.
Beide APIs ermöglichen Anwendungen die Interaktion mit KI-Modellen, verwenden jedoch unterschiedliche Anfrage- und Antwortstrukturen. Chat Completions verwendet ein 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.
Wenn deine Anwendung das OpenAI SDK verwendet, kannst du in der Regel zu Kimi wechseln, indem du drei Konfigurationswerte aktualisierst: 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.
Das könnte Ihnen auch gefallen
OpenAI Chat Completions API: Ein vollständiger Leitfaden
OpenAI Chat Completions API: Ein vollständiger Leitfaden
2026-11-14
10 kostenlose und kostenpflichtige LLM-APIs für die KI-Entwicklung
10 kostenlose und kostenpflichtige LLM-APIs für die KI-Entwicklung
2026-11-14
LLM API-Leitfaden: Funktionen, Vorteile und häufige Anwendungen
LLM API-Leitfaden: Funktionen, Vorteile und häufige Anwendungen
2026-11-14
Modell-API: Ein Entwicklerleitfaden zur Kimi API
Modell-API: Ein Entwicklerleitfaden zur Kimi API
2026-11-14
OpenAI-kompatible API: Ein praxisnaher Leitfaden für Entwickler
OpenAI-kompatible API: Ein praxisnaher Leitfaden für Entwickler
2026-11-14