Formato JSON para Herramientas LLM
Una forma portátil de compartir herramientas
Introducción
Compartir una herramienta de una manera que se pueda agregar rápidamente a un programa o editor de herramientas se mejoraría enormemente con una forma estándar de representar una herramienta y cómo usarla. Queremos habilitar características como las siguientes:
Un icono para representar visualmente la herramienta
Metadatos para el aviso:
Un nombre para la herramienta
Una descripción de la herramienta
Notas de uso para la herramienta
Parámetros de marcador de posición que se incluyen en la cadena de la herramienta
Salida esperada
Versiones y marcas de tiempo.
Especificación de Formato JSON
Puedes descargar nuestra muestra JSON aquí.
Descripción de los Campos
model_prompt: Una cadena que contiene el prompt del modelo GPT.
metadata: Un objeto que contiene información adicional sobre el prompt del modelo GPT, que incluye los siguientes subcampos:
model_version: Una cadena que indica la versión del modelo GPT utilizado.
creator: Un objeto que contiene información sobre el creador del prompt del modelo GPT, con los siguientes subcampos:
name: Una cadena que representa el nombre del creador.
email: Una cadena que representa el correo electrónico del creador.
organization: Una cadena que representa la organización a la que está afiliado el creador.
parameters: Un objeto que contiene información sobre los parámetros del modelo GPT, con los siguientes subcampos:
temperature: Un flotante que indica la temperatura utilizada para controlar la aleatoriedad de la salida.
max_tokens: Un entero que indica el número máximo de tokens en la respuesta generada.
top_p: Un flotante que representa el umbral de probabilidad de muestreo del núcleo.
frequency_penalty: Un flotante que representa la penalización aplicada a los tokens en función de su frecuencia en el conjunto de datos.
presence_penalty: Un flotante que representa la penalización aplicada a los nuevos tokens basada en su presencia en el prompt.
timestamp: Una cadena en formato ISO 8601 que representa la fecha y la hora en que se creó o modificó por última vez el prompt del modelo GPT.
expected_output (Opcional): Un objeto que contiene campos relacionados con la salida esperada del model_prompt, incluyendo los siguientes subcampos:
type: Una cadena que indica el tipo de salida esperada del model_prompt.
format (Opcional): Una cadena que representa el formato de la salida esperada si es aplicable.
language (Opcional): Una cadena que representa el lenguaje de programación de la salida esperada si el tipo es
code
.allowed_values (Opcional): Un array de cadenas que contiene una lista de valores de salida permitidos si el tipo es
limited
.
variables (Opcional): Una lista que contiene variables que podrían insertarse en la cadena
model_prompt
en un estilo de f-string. Cada variable contiene los siguientes subcampos:name: Una cadena que representa el nombre de la variable.
type: Una cadena que muestra el tipo de variable. Actualmente los valores posibles de
type
sontext
para la variable por defecto, ysingle-select
omulti-select
para las variables de selección.description: Una cadena que muestra la descripción de la variable, incluyendo usos y ejemplos.
default: Un valor que muestra el valor por defecto de la variable. Este valor es una cadena si
type
estext
osingle-select
, y un array de cadenas paramulti-select
.allowed_values: Un array de cadenas que contiene una lista de valores permitidos si el tipo de variable es
single-select
omulti-select
.
avatar (Opcional): Un objeto que contiene campos relacionados con la imagen gráfica que actúa como avatar o icono para el prompt, que incluye los siguientes subcampos:
avatar_type: Una cadena que especifica el tipo de datos del avatar incluido.
avatar: Una cadena que contiene el URL que apunta a la imagen si el avatar_type es
url
, o una cadena codificada en base64 que representa la imagen si el avatar_type esbase64
.
prompt_name (Opcional): Una cadena que representa el nombre del prompt.
description (Opcional): Una cadena que proporciona una breve descripción de la herramienta y su propósito.
usage_notes (Opcional): Una cadena que contiene notas de formato libre del creador sobre el uso o cualquier consideración específica relacionada con la herramienta.
Para especificar el formato de la salida esperada del model_prompt, puedes agregar un objeto expected_output
dentro del objeto metadata
. Dependiendo del tipo de salida esperada, puedes incluir los subcampos relevantes en el objeto expected_output
.
Para incluir campos para variables que podrían insertarse en la cadena model_prompt
en un estilo de f-string, puedes agregar una lista variables
separada dentro del objeto metadata
.
Para incluir una imagen gráfica que actúa como avatar o icono para el prompt, puedes agregar un campo avatar
dentro del objeto metadata
.
Incluir los campos expected_output
, variables
, avatar
, prompt_name
, description
, y usage_notes
dentro del objeto metadata
ayuda a mantener toda la información contextual sobre el prompt en un solo lugar, lo que facilita su gestión y comprensión.
Puedes usar el campo version
en el nivel superior del objeto JSON para rastrear explícitamente la versión de todo el archivo JSON.
Última actualización