Format JSON pour Outils LLM
Un moyen portable de partager des outils
Introduction
Partager un outil de manière à ce qu'il puisse être rapidement ajouté à un programme ou à un éditeur d'outils serait grandement amélioré avec une méthode standard pour représenter un outil et comment l'utiliser. Nous voulons activer des fonctionnalités telles que les suivantes :
Une icône pour représenter visuellement l'outil
Métadonnées pour l'invite :
Un nom pour l'outil
Une description pour l'outil
Des notes d'utilisation pour l'outil
Paramètres de pseudo qui sont inclus dans la chaîne d'outils
Sortie attendue
Versioning et horodatage.
Spécification de Format JSON
Vous pouvez télécharger notre exemple de JSON ici.
Description des Champs
model_prompt: Une chaîne contenant l'indication de modèle GPT.
metadata: Un objet contenant des informations supplémentaires sur l'indication de modèle GPT, y compris les sous-champs suivants :
model_version: Une chaîne indiquant la version du modèle GPT utilisé.
creator: Un objet contenant des informations sur le créateur de l'indication de modèle GPT, avec les sous-champs suivants :
name: Une chaîne représentant le nom du créateur.
email: Une chaîne représentant le courrier électronique du créateur.
organization: Une chaîne représentant l'organisation à laquelle est affilié le créateur.
parameters: Un objet contenant des informations sur les paramètres du modèle GPT, avec les sous-champs suivants :
temperature: Un flottant indiquant la température utilisée pour contrôler l'aléa de la sortie.
max_tokens: Un entier indiquant le nombre maximum de jetons dans la réponse générée.
top_p: Un flottant représentant le seuil de probabilité d'échantillonnage du noyau.
frequency_penalty: Un flottant représentant la pénalité appliquée aux jetons en fonction de leur fréquence dans l'ensemble de données.
presence_penalty: Un flottant représentant la pénalité appliquée aux nouveaux jetons en fonction de leur présence dans l'indication.
timestamp: Une chaîne au format ISO 8601 représentant la date et l'heure de création ou de dernière modification de l'indication de modèle GPT.
expected_output (Optionnel): Un objet contenant des champs liés à la sortie attendue du model_prompt, y compris les sous-champs suivants :
type: Une chaîne indiquant le type de sortie attendu du model_prompt.
format (Optionnel): Une chaîne représentant le format de la sortie attendue si applicable.
language (Optionnel): Une chaîne représentant le langage de programmation de la sortie attendue si le type est
code
.allowed_values (Optionnel): Un tableau de chaînes contenant une liste de valeurs de sortie autorisées si le type est
limited
.
variables (Optionnel): Une liste contenant des variables qui pourraient être insérées dans la chaîne
model_prompt
au format f-string. Chaque variable contient les sous-champs suivants :name: Une chaîne représentant le nom de la variable.
type: Une chaîne montrant le type de variable. Les valeurs possibles de
type
sont actuellementtext
pour la variable par défaut, etsingle-select
oumulti-select
pour les variables de sélection.description: Une chaîne montrant la description de la variable, y compris les usages et les exemples.
default: Une valeur montrant la valeur par défaut de la variable. Cette valeur est une chaîne si
type
esttext
ousingle-select
, et un tableau de chaînes pourmulti-select
.allowed_values: Un tableau de chaînes contenant une liste de valeurs autorisées si le type de variable est
single-select
oumulti-select
avatar (Optionnel): Un objet contenant des champs liés à l'image graphique agissant comme un avatar ou une icône pour l'indication, y compris les sous-champs suivants :
avatar_type: Une chaîne spécifiant le type de données d'avatar incluses.
avatar: Une chaîne contenant l'URL pointant vers l'image si le type d'avatar est
url
, ou une chaîne encodée en base64 représentant l'image si le type d'avatar estbase64
.
prompt_name (Optionnel): Une chaîne représentant le nom de l'indication.
description (Optionnel): Une chaîne fournissant une brève description de l'outil et de son but.
usage_notes (Optionnel): Une chaîne contenant des notes libres du créateur sur l'utilisation ou toute considération spécifique liée à l'outil.
Pour spécifier le format de la sortie attendue du model_prompt, vous pouvez ajouter un objet expected_output
à l'intérieur de l'objet metadata
. En fonction du type de sortie attendu, vous pouvez inclure les sous-champs pertinents dans l'objet expected_output
.
Pour inclure des champs pour les variables qui pourraient être insérés dans la chaîne model_prompt
au format f-string, vous pouvez ajouter une liste variables
séparée à l'intérieur de l'objet metadata
.
Pour inclure une image graphique agissant comme un avatar ou une icône pour l'indication, vous pouvez ajouter un champ avatar
à l'intérieur de l'objet metadata
.
L'inclusion des champs expected_output
, variables
, avatar
, prompt_name
, description
, et usage_notes
à l'intérieur de l'objet metadata
aide à garder toute l'information contextuelle sur l'indication en un seul endroit, facilitant sa gestion et sa compréhension.
Vous pouvez utiliser le champ version
au niveau supérieur de l'objet JSON pour suivre explicitement la version de l'ensemble du fichier JSON
Dernière mise à jour