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: 2 days ago

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 Funktionsaufrufen kannst du OpenAI-Modelle mit externen Tools und Systemen verbinden. Damit kannst du etwa KI-Assistenten neue Funktionen geben oder deine Anwendungen eng mit LLMs verzahnen.

Weitere Informationen findest du in unserem Entwicklungsleitfaden zu Funktionsaufrufen.

Im Juni 2024 haben wir strukturierte Ausgaben eingeführt. Bei unterstützten Modellen und Anfragekonfigurationen sorgt die Einstellung strict: true in deiner Funktionsdefinition dafür, dass die generierten Argumente dem angegebenen Schema entsprechen, wenn das Modell einen Funktionsaufruf ausgibt. Voraussetzung ist, dass das Schema die unterstützte Teilmenge von JSON Schema verwendet und die Anforderungen des strikten Modus erfüllt. Anfragen mit nicht unterstützten oder nicht konformen Schemas werden mit einer Fehlermeldung abgelehnt.

Im Oktober 2024 haben wir die Funktion „Alles generieren“ eingeführt. Damit können Entwicklungsteams eine Funktion beschreiben, sie direkt einfügen oder eigenen Code einfügen und daraus ein gültiges Funktionsschema erstellen lassen. Weitere Informationen zu „Alles generieren“ findest du in diesem Hilfe-Center-Artikel.

Wie kann ich Funktionsaufruf verwenden?

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

  • Assistenten das Abrufen von Daten ermöglichen:

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

  • Assistenten das Durchführen von Berechnungen ermöglichen:

  • Umfangreiche Workflows erstellen:

  • eine Datenextraktionspipeline, die Rohtext abruft, ihn dann in strukturierte Daten umwandelt und in einer Datenbank speichert.

Funktionsaufruf wird in der Responses API unterstützt, die Funktionen vereint, 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, ist sichergestellt, dass die Ausgabe des Modells gültiges JSON ist – abgesehen von einigen Grenzfällen, die Sie erkennen und angemessen behandeln sollten.

Um den JSON-Modus mit der Chat Completions API anzufordern, setzen Sie response_format bei unterstützten Modellen auf { "type": "json_object" }. Bei der Responses API setzen Sie text.format auf { "type": "json_object" }, zum Beispiel text: { "format": { "type": "json_object" } }, sofern anwendbar. In beiden APIs funktioniert der JSON-Modus nur, wenn die Voraussetzungen für Modell/Nachricht/Tool erfüllt sind (zum Beispiel unterstützt das Modell json_object, die Unterhaltung enthält Anweisungen zur Ausgabe von JSON, und alle Tool-Einschränkungen sind kompatibel). Mindestens eine Anfrage- oder Eingabenachricht im effektiven Eingabekontext muss json in einer Form enthalten, bei der die Groß-/Kleinschreibung keine Rolle spielt, etwa JSON, json oder Json; andernfalls gibt die API einen Fehler zurück. In Responses erfüllt das übergeordnete Feld für Anweisungen allein diese Validierung nicht. Wenn Funktionsaufruf bei kompatiblen Modellen/Pfaden verwendet wird, werden JSON-Einschränkungen automatisch auf Funktionsaufrufargumente angewendet; inkompatible Modelle oder Tool-/Antwortformat-Kombinationen können abgelehnt werden oder kein JSON-beschränktes Sampling verwenden.

Wichtige Hinweise:

  • Wenn Sie den JSON-Modus verwenden, müssen Sie das Modell immer über eine Nachricht in der Unterhaltung anweisen, JSON zu erzeugen, zum Beispiel über Ihre Systemnachricht. Wenn Sie keine ausdrückliche Anweisung zum Generieren von JSON einschließen, kann das Modell einen endlosen Strom von Leerzeichen erzeugen, und die Anfrage kann weiterlaufen, bis sie das Token-Limit erreicht. Damit Sie dies nicht vergessen, lehnt der JSON-Modus Anfragen ab, sofern die relevanten Eingabenachrichten oder Anweisungen das Wort json nicht in irgendeiner Form enthalten, unabhängig von der Groß-/Kleinschreibung.

  • Der JSON-Modus garantiert nicht, dass die Ausgabe einem bestimmten Schema entspricht, sondern nur, dass sie gültig ist und fehlerfrei geparst werden kann. Sie sollten strukturierte Ausgaben verwenden, um sicherzustellen, dass sie Ihrem Schema entsprechen. Falls dies 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 Grenzfä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?