JSON Format for LLM Værktøjer

En bærbar måde at dele værktøjer på

Introduktion

At dele et værktøj på en måde, der hurtigt kan tilføjes til et program eller værktøjsredigerer, ville blive betydeligt forbedret med en standardmetode til at repræsentere et værktøj og hvordan man bruger det. Vi ønsker at muliggøre funktioner som følgende:

  • Et ikon til visuelt at repræsentere værktøjet

  • Metadata til prompten:

    • Et navn til værktøjet

    • En beskrivelse af værktøjet

    • Brugernoter for værktøjet

  • Pladsholderparametre, der er inkluderet i værktøjsstrengen

  • Forventet output

  • Versionsstyring og tidsstempler.

JSON Format Specification

{
  "version": "string eller heltal",
  "model_prompt": "string med {{variable_name}} pladsholdere",
  "metadata": {
    "prompt_name": "string",
    "description": "string",
    "usage_notes": "string",
    "model_version": ["string", "string", …],
    "creator": {
      "name": "string",
      "email": "string",
      "organization": "string"
    },
    "parameters": {
      "temperature": "float",
      "max_tokens": "integer",
      "top_p": "float",
      "frequency_penalty": "float",
      "presence_penalty": "float"
    },
    "variables": [
      {
        "name": "variabelnavn 1",
        "type": "text",
        "description": "string",
        "default": "string",
      },
      {
        "name": "variabelnavn 2",
        "type": "single-select",
        "description": "string",
        "default": "value1",
        "allowed_values": ["value1", "value2", "value3"]
      },
      {
        "name": "variabelnavn 3",
        "type": "multi-select",
        "description": "string",
        "default": ["value1", "value2"]
        "allowed_values": ["value1", "value2", "value3"]
      },
      ...
    ],
    "expected_output": {
      "type": "string (f.eks. tekst, kode, begrænset)",
      "format": "string (valgfri, f.eks. JSON, XML, CSV)",
      "language": "string (valgfri, f.eks. Python, JavaScript)",
      "allowed_values": ["string1", "string2", ...] (valgfri)
    },
    "avatar_type": "string (f.eks. url, base64)",
    "avatar": "string (URL eller base64-kodet billede), 256x256 pixels anbefales",
    "timestamp": "string (ISO 8601 format)"
  }
}

Du kan downloade vores eksempel JSON her.

Felter Beskrivelse

  • model_prompt: En streng, der indeholder GPT-modelprompten.

  • metadata: Et objekt, der indeholder yderligere information om GPT-modelprompten, herunder følgende underfelter:

    • model_version: En streng, der angiver versionen af den anvendte GPT-model.

    • creator: Et objekt, der indeholder information om skaberen af GPT-modelprompten, med følgende underfelter:

      • name: En streng, der repræsenterer navnet på skaberen.

      • email: En streng, der repræsenterer e-mailen til skaberen.

      • organization: En streng, der repræsenterer den organisation, som skaberen er tilknyttet.

    • parameters: Et objekt, der indeholder information om GPT-modelparametre, med følgende underfelter:

      • temperature: En float, der angiver temperaturen, der bruges til at kontrollere tilfældigheden af outputtet.

      • max_tokens: Et heltal, der angiver det maksimale antal tokens i det genererede svar.

      • top_p: En float, der repræsenterer nucleus sampling sandsynlighedstærsklen.

      • frequency_penalty: En float, der repræsenterer straffen anvendt på tokens baseret på deres hyppighed i datasættet.

      • presence_penalty: En float, der repræsenterer straffen anvendt på nye tokens baseret på deres tilstedeværelse i prompten.

    • timestamp: En streng i ISO 8601-format, der repræsenterer dato og tid, hvor GPT-modelprompten blev oprettet eller sidst ændret.

    • expected_output (Valgfri): Et objekt, der indeholder felter relateret til det forventede output fra model_prompt, herunder følgende underfelter:

      • type: En streng, der angiver typen af output, der forventes fra model_prompt.

      • format (Valgfri): En streng, der repræsenterer formatet af det forventede output, hvis det er relevant.

      • language (Valgfri): En streng, der repræsenterer programmeringssproget for det forventede output, hvis typen er code.

      • allowed_values (Valgfri): Et array af strenge, der indeholder en liste over tilladte outputværdier, hvis typen er limited.

    • variables (Valgfri): En liste, der indeholder variabler, der kan indsættes i model_prompt strengen i en f-string stil. Hver variabel indeholder følgende underfelter:

      • name: En streng, der repræsenterer variabelnavnet.

      • type: En streng, der viser typen af variabel. I øjeblikket er de mulige værdier for type text for standardvariabel og single-select eller multi-select for valgvariabler.

      • description: En streng, der viser beskrivelsen af variablen, herunder anvendelser og eksempler.

      • default: En værdi, der viser standardværdien for variablen. Denne værdi er en streng, hvis type er text eller single-select, og et array af strenge for multi-select.

      • allowed_values: Et array af strenge, der indeholder en liste over tilladte værdier, hvis variabeltypen er single-select eller multi-select.

    • avatar (Valgfri): Et objekt, der indeholder felter relateret til det grafiske billede, der fungerer som et avatar eller ikon for prompten, herunder følgende underfelter:

      • avatar_type: En streng, der specificerer typen af avatar-data, der er inkluderet.

      • avatar: En streng, der indeholder URL'en, der peger på billedet, hvis avatar_type er url, eller en base64-kodet streng, der repræsenterer billedet, hvis avatar_type er base64.

    • prompt_name (Valgfri): En streng, der repræsenterer navnet på prompten.

    • description (Valgfri): En streng, der giver en kort beskrivelse af værktøjet og dets formål.

    • usage_notes (Valgfri): En streng, der indeholder fritekstnoter fra skaberen om brugen eller eventuelle specifikke overvejelser relateret til værktøjet.

For at specificere formatet af det forventede output fra model_prompt kan du tilføje et expected_output objekt inden for metadata objektet. Afhængigt af typen af forventet output kan du inkludere de relevante underfelter i expected_output objektet.

For at inkludere felter for variabler, der kan indsættes i model_prompt strengen i en f-string stil, kan du tilføje en separat variables liste inden for metadata objektet.

For at inkludere et grafisk billede, der fungerer som et avatar eller ikon for prompten, kan du tilføje et avatar felt inden for metadata objektet.

Inkludering af felterne expected_output, variables, avatar, prompt_name, description og usage_notes inden for metadata objektet hjælper med at holde al den kontekstuelle information om prompten på ét sted, hvilket gør det lettere at administrere og forstå.

Du kan bruge feltet version på det øverste niveau af JSON-objektet til eksplicit at spore versionen af hele JSON-filen.

Last updated