JSON-Format für LLM-Werkzeuge
Eine tragbare Möglichkeit, Werkzeuge zu teilen
Einleitung
Das Teilen eines Tools auf eine Weise, die schnell zu einem Programm oder Tool-Editor hinzugefügt werden könnte, wäre mit einer standardisierten Methode zur Repräsentation eines Tools und seiner Nutzung erheblich verbessert. Wir möchten Funktionen wie die folgenden ermöglichen:
Ein Icon zur visuellen Darstellung des Tools
Metadaten für die Aufforderung:
Ein Name für das Tool
Eine Beschreibung des Tools
Anwendungshinweise für das Tool
Platzhalterparameter, die in die Tool-Zeichenkette aufgenommen werden
Erwartete Ausgabe
Versionierung und Zeitstempel.
Spezifikation des JSON-Formats
Unser Beispiel JSON kann hier heruntergeladen werden.
Feldbeschreibung
model_prompt: Ein String, der den GPT-Modellprompt enthält.
metadata: Ein Objekt, das zusätzliche Informationen über den GPT-Modell-Prompt enthält, einschließlich der folgenden Unterfelder:
model_version: Ein String, der die Version des verwendeten GPT-Modells angibt.
creator: Ein Objekt, das Informationen über den Ersteller des GPT-Modell-Prompts enthält, mit den folgenden Unterfeldern:
name: Ein String, der den Namen des Erstellers darstellt.
email: Ein String, der die E-Mail des Erstellers darstellt.
organization: Ein String, der die Organisation darstellt, mit der der Ersteller verbunden ist.
parameters: Ein Objekt, das Informationen über die Parameter des GPT-Modells enthält, mit den folgenden Unterfeldern:
temperature: Eine Gleitkommazahl, die die für die Steuerung der Zufälligkeit der Ausgabe verwendete Temperatur angibt.
max_tokens: Eine ganze Zahl, die die maximale Anzahl von Tokens in der generierten Antwort angibt.
top_p: Eine Gleitkommazahl, die die Nukleussampling-Wahrscheinlichkeitsschwelle darstellt.
frequency_penalty: Eine Gleitkommazahl, die die auf Token angewendete Strafe anhand ihrer Häufigkeit im Datensatz darstellt.
presence_penalty: Eine Gleitkommazahl, die die auf neue Token angewendete Strafe anhand ihrer Präsenz im Eingabeaufforderung darstellt.
timestamp: Ein String im ISO 8601-Format, der das Datum und die Uhrzeit darstellt, wann der GPT-Modell-Prompt erstellt oder zuletzt geändert wurde.
expected_output (Optional): Ein Objekt, das Felder enthält, die mit der erwarteten Ausgabe aus dem model_prompt zusammenhängen, einschließlich der folgenden Unterfelder:
type: Ein String, der den Typ der erwarteten Ausgabe aus dem model_prompt anzeigt.
format (Optional): Ein String, der das Format der erwarteten Ausgabe darstellt, falls zutreffend.
language (Optional): Ein String, der die Programmiersprache der erwarteten Ausgabe darstellt, wenn der Typ
code
ist.allowed_values (Optional): Ein Array von Strings, das eine Liste der zulässigen Ausgabewerte enthält, wenn der Typ
limited
ist.
variables (Optional): Eine Liste, die Variablen enthält, die möglicherweise im
model_prompt
String in einem f-string-Stil eingefügt werden. Jede Variable enthält die folgenden Unterfelder:name: Ein String, der den Variablennamen darstellt.
type: Ein String, der den Variablentyp anzeigt. Derzeit sind die möglichen Werte von
type
text
für Standardvariable undsingle-select
odermulti-select
für Auswahlvariablen.description: Ein String, der die Beschreibung der Variable darstellt, einschließlich Verwendungen und Beispielen.
default: Ein Wert, der den Standardwert der Variable anzeigt. Dieser Wert ist ein String, wenn
type
text
odersingle-select
ist, und ein Array von Strings fürmulti-select
.allowed_values: Ein Array von Strings, das eine Liste der zulässigen Werte enthält, wenn der Variablentyp
single-select
odermulti-select
ist.
avatar (Optional): Ein Objekt, das Felder in Bezug auf das grafische Bild enthält, das als Avatar oder Icon für die Eingabeaufforderung fungiert, einschließlich der folgenden Unterfelder:
avatar_type: Ein String, der den Typ der enthaltenen Avatar-Daten angibt.
avatar: Ein String, der die URL enthält, die auf das Bild zeigt, wenn der avatar_type
url
ist, oder ein base64-codierter String, der das Bild darstellt, wenn der avatar_typebase64
ist.
prompt_name (Optional): Ein String, der den Namen der Eingabeaufforderung darstellt.
description (Optional): Ein String, der eine kurze Beschreibung des Tools und seines Zwecks gibt.
usage_notes (Optional): Ein String, der freie Anmerkungen des Erstellers über die Nutzung oder spezielle Überlegungen in Bezug auf das Tool enthält.
Um das Format der erwarteten Ausgabe aus dem model_prompt anzugeben, können Sie ein expected_output
Objekt innerhalb des metadata
Objekts hinzufügen. Abhängig von der Art der erwarteten Ausgabe können Sie die relevanten Unterfelder in das expected_output
Objekt einschließen.
Um Felder für Variablen einzuschließen, die möglicherweise im model_prompt
String in einem f-string-Stil eingefügt werden, können Sie eine separate variables
Liste innerhalb des metadata
Objektes hinzufügen.
Um ein grafisches Bild einschließlich, das als Avatar oder Icon für die Eingabeaufforderung fungiert, können Sie ein avatar
Feld innerhalb des metadata
Objekts hinzufügen.
Das Einschließen der expected_output
, variables
, avatar
, prompt_name
, description
und usage_notes
Felder innerhalb des metadata
Objektes hilft, alle kontextuellen Informationen über die Eingabeaufforderung an einem Ort zu behalten, was die Verwaltung und das Verständnis erleichtert.
Sie können das version
Feld auf der obersten Ebene des JSON-Objekts verwenden, um explizit die Version der gesamten JSON-Datei zu verfolgen.
Last updated