Formato JSON para Ferramentas LLM
Uma Forma Portátil de Compartilhar Ferramentas
Introdução
Compartilhar uma ferramenta de uma maneira que possa ser rapidamente adicionada a um programa ou editor de ferramentas seria muito melhorada com uma maneira padrão de representar uma ferramenta e como usá-la. Queremos habilitar recursos como os seguintes:
Um ícone para representar visualmente a ferramenta
Metadados para o prompt:
Um nome para a ferramenta
Uma descrição para a ferramenta
Notas de uso para a ferramenta
Parâmetros de placeholder incluídos na string de ferramenta
Saída esperada
Versionamento e carimbos de data/hora.
Especificação do Formato JSON
Você pode baixar nosso exemplo de JSON aqui.
Descrição dos Campos
model_prompt: Uma string que contém o prompt do modelo GPT.
metadata: Um objeto que contém informações adicionais sobre o prompt do modelo GPT, incluindo os seguintes sub-campos:
model_version: Uma string que indica a versão do modelo GPT utilizado.
creator: Um objeto que contém informações sobre o criador do prompt do modelo GPT, com os seguintes sub-campos:
name: Uma string que representa o nome do criador.
email: Uma string que representa o email do criador.
organization: Uma string que representa a organização à qual o criador é afiliado.
parameters: Um objeto que contém informações sobre os parâmetros do modelo GPT, com os seguintes sub-campos:
temperature: Um float que indica a temperatura utilizada para controlar a aleatoriedade da saída.
max_tokens: Um inteiro que indica o número máximo de tokens na resposta gerada.
top_p: Um float que representa o limiar de probabilidade de amostragem do núcleo.
frequency_penalty: Um float que representa a penalidade aplicada aos tokens com base em sua frequência no conjunto de dados.
presence_penalty: Um float que representa a penalidade aplicada a novos tokens com base em sua presença no prompt.
timestamp: Uma string no formato ISO 8601 que representa a data e hora em que o prompt do modelo GPT foi criado ou modificado pela última vez.
expected_output (Opcional): Um objeto que contém campos relacionados à saída esperada do model_prompt, incluindo os seguintes sub-campos:
type: Uma string que indica o tipo de saída esperado do model_prompt.
format (Opcional): Uma string que representa o formato da saída esperada, se aplicável.
language (Opcional): Uma string que representa a linguagem de programação da saída esperada se o tipo for
code
.allowed_values (Opcional): Um array de strings que contém uma lista de valores de saída permitidos se o tipo for
limited
.
variables (Opcional): Uma lista contendo variáveis que podem ser inseridas na string
model_prompt
em um estilo de f-string. Cada variável contém os seguintes sub-campos:name: Uma string representando o nome da variável.
type: Uma string mostrando o tipo de variável. Atualmente, os possíveis valores de
type
sãotext
para a variável padrão, esingle-select
oumulti-select
para variáveis de seleção.description: Uma string mostrando a descrição da variável, incluindo usos e exemplos.
default: Um valor mostrando o valor padrão da variável. Este valor é uma string se
type
fortext
ousingle-select
, e um array de strings paramulti-select
.allowed_values: Um array de strings que contém uma lista de valores permitidos se o tipo de variável for
single-select
oumulti-select
avatar (Opcional): Um objeto que contém campos relacionados à imagem gráfica que atua como um avatar ou ícone para o prompt, incluindo os seguintes sub-campos:
avatar_type: Uma string especificando o tipo de dados do avatar incluído.
avatar: Uma string contendo o URL que aponta para a imagem se o avatar_type for
url
, ou uma string codificada em base64 que representa a imagem se o avatar_type forbase64
.
prompt_name (Opcional): Uma string representando o nome do prompt.
description (Opcional): Uma string fornecendo uma breve descrição da ferramenta e sua finalidade.
usage_notes (Opcional): Uma string contendo notas de uso livre do criador sobre o uso ou quaisquer considerações específicas relacionadas à ferramenta.
Para especificar o formato da saída esperada do model_prompt, você pode adicionar um objeto expected_output
dentro do objeto metadata
. Dependendo do tipo de saída esperada, você pode incluir os sub-campos relevantes no objeto expected_output
.
Para incluir campos para variáveis que podem ser inseridas na string model_prompt
em um estilo de f-string, você pode adicionar uma lista variables
separada dentro do objeto metadata
.
Para incluir uma imagem gráfica atuando como um avatar ou ícone para o prompt, você pode adicionar um campo avatar
dentro do objeto metadata
.
A inclusão dos campos expected_output
, variables
, avatar
, prompt_name
, description
, e usage_notes
dentro do objeto metadata
ajuda a manter todas as informações contextuais sobre o prompt em um só lugar, facilitando o gerenciamento e o entendimento.
Você pode usar o campo version
no nível superior do objeto JSON para rastrear explicitamente a versão de todo o arquivo JSON
Last updated