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

Funktionsaufruf ermöglicht es Ihnen, OpenAI-Modelle mit externen Tools und Systemen zu verbinden. Das ist für viele Dinge nützlich, etwa um KI-Assistenten mit Fähigkeiten auszustatten oder umfassende Integrationen zwischen Ihren Anwendungen und LLMs zu erstellen.

Weitere Informationen finden Sie in unserem Entwickler:innenleitfaden zum Funktionsaufruf.

Im Juni 2024 haben wir strukturierte Ausgaben eingeführt. Wenn Sie sie aktivieren, indem Sie in Ihrer Funktionsdefinition strict: true setzen, garantieren strukturierte Ausgaben, dass die vom Modell für einen Funktionsaufruf generierten 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, sie direkt einfügen oder Ihren Code einfügen und ein gültiges Funktionsschema generieren können. Weitere Informationen zu „Generate Anything“ finden Sie hier im Help-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?