OpenAI
Diese Seite wurde maschinell übersetzt. Den Originalartikel auf Englisch ansehen.

Funktionsaufruf in der OpenAI API

Was ist Funktionsaufruf und wie funktioniert er in der OpenAI API?

Aktualisiert: yesterday

Seit dem 11. März 2025 haben wir die Grundbausteine unserer neuen Agentenplattform veröffentlicht. Details finden Sie in unserer API-Dokumentation für unsere Responses API, Tools einschließlich Web Search, File Search und Computer Use sowie unser Agents SDK mit Tracing.

Mit dem Funktionsaufruf können Sie OpenAI-Modelle mit externen Tools und Systemen verbinden. Das ist für viele Anwendungsfälle nützlich, etwa um KI-Assistenten mit zusätzlichen Fähigkeiten auszustatten oder tiefgehende Integrationen zwischen Ihren Anwendungen und LLMs zu erstellen.

Weitere Informationen finden Sie in unserem Entwicklerleitfaden zum Funktionsaufruf.

Im Juni 2024 haben wir strukturierte Ausgaben eingeführt. Wenn Sie dies aktivieren, indem Sie in Ihrer Funktionsdefinition `strict: true` festlegen, garantieren strukturierte Ausgaben, dass die vom Modell für einen Funktionsaufruf erzeugten Argumente exakt dem JSON-Schema entsprechen, das Sie in der Funktionsdefinition angegeben haben.

Im Oktober 2024 haben wir die Funktion 'Generate Anything' eingeführt, mit der Entwickler:innen eine Funktion beschreiben, direkt einfügen oder ihren Code einfügen und ein gültiges Funktions-Schema erzeugen können. Mehr über 'Generate Anything' erfahren Sie in diesem Hilfeartikel.

Wie kann ich den Funktionsaufruf verwenden?

Der Funktionsaufruf ist für viele Anwendungsfälle nützlich, zum Beispiel:

  • Assistenten das Abrufen von Daten ermöglichen:

    • Ein KI-Assistent muss die neuesten Kundendaten aus einem internen System abrufen, wenn eine nutzende Person fragt: „Was sind meine letzten Bestellungen?“, bevor er die Antwort für die nutzende Person erzeugen kann

  • Assistenten das Ausführen von Aktionen ermöglichen:

    • Ein KI-Assistent muss Besprechungen basierend auf den Präferenzen der nutzenden Person und der Kalenderverfügbarkeit planen.

  • Assistenten Berechnungen ausführen lassen:

    • Ein Assistent für Mathematik-Nachhilfe muss eine mathematische Berechnung durchführen.

  • Umfangreiche Workflows erstellen:

    • Eine Pipeline zur Datenextraktion, die Rohtext abruft, ihn dann in strukturierte Daten umwandelt und in einer Datenbank speichert.

Der Funktionsaufruf wird in der Responses API unterstützt, die Fähigkeiten vereinheitlicht, die zuvor auf die Chat Completions API und die Assistants API verteilt waren.

Wie kann ich den JSON-Modus verwenden?

Wenn der JSON-Modus aktiviert ist, wird sichergestellt, dass die Ausgabe des Modells gültiges JSON ist, außer in einigen Randfällen, die Sie erkennen und angemessen behandeln sollten.

Um den JSON-Modus mit der Responses API oder der Chat Completions API anzufordern, können Sie bei unterstützten Modellen response_format auf { "type": "json_object" } setzen. Das funktioniert jedoch nur, wenn die Voraussetzungen für Modell/Nachricht/Tool erfüllt sind (zum Beispiel unterstützt das Modell json_object, die Unterhaltung enthält eine Anweisung zur Erzeugung von JSON und alle Tool-Einschränkungen sind kompatibel). Für den JSON-Modus mit response_format: {"type": "json_object"} muss mindestens eine Anforderungsnachricht json in irgendeiner Form enthalten, etwa JSON, json oder Json; andernfalls gibt die API einen Fehler zurück. Wenn der Funktionsaufruf auf kompatiblen Modellen/Pfaden verwendet wird, werden JSON-Einschränkungen automatisch auf Argumente von Funktionsaufrufen angewendet; inkompatible Modelle oder Tool-/Response-Format-Kombinationen können abgelehnt werden oder verwenden möglicherweise kein JSON-constrained Sampling.

Wichtige Hinweise:

  • Bei Verwendung des JSON-Modus müssen Sie das Modell immer in einer Nachricht der Unterhaltung anweisen, JSON zu erzeugen, zum Beispiel in Ihrer Systemnachricht. Wenn Sie keine ausdrückliche Anweisung zur Erzeugung von JSON einfügen, kann das Modell einen endlosen Strom aus Leerraum erzeugen und die Anfrage kann fortlaufend weiterlaufen, bis das Token-Limit erreicht ist. Damit Sie das nicht vergessen, lehnt der JSON-Modus Anfragen ab, sofern die relevanten Eingabenachrichten oder Anweisungen nicht in irgendeiner Form und unabhängig von Groß- und Kleinschreibung das Wort json enthalten.

  • Der JSON-Modus garantiert nicht, dass die Ausgabe einem bestimmten Schema entspricht, sondern nur, dass sie gültig ist und sich fehlerfrei parsen lässt. Sie sollten strukturierte Ausgaben verwenden, um sicherzustellen, dass die Ausgabe Ihrem Schema entspricht. Falls das nicht möglich ist, sollten Sie eine Validierungsbibliothek und gegebenenfalls Wiederholungen verwenden, um sicherzustellen, dass die Ausgabe Ihrem gewünschten Schema entspricht.

  • Ihre Anwendung muss die Randfälle erkennen und behandeln, die dazu führen können, dass die Modellausgabe kein vollständiges JSON-Objekt ist (siehe unten).

War dieser Artikel hilfreich?