Specification

We use a standard JSON specification for Puzzlet so you can keep your code model-agnostic.

Fields

name
string
required

A unique name for your prompt template. This also needs to match with the name of your file.

schema_version
string
default: "latest"required

The version of your prompt template

prompts
Array<Prompt>

Prompts store the input and output for a model, along with any relevant metadata.

Example

Prompt Template
{
  "name": "prompt_template_1",
  "schema_version": "latest",
  "prompts": [
    {
      "name": "prompt1",
      "input": "Write a short story about a {{ animal }}.",
      "metadata": {
        "model": {
          "name": "gpt-3.5-turbo-1106",
          "settings": {
            "temperature": 0.7,
            "max_tokens": 4096,
            "top_p": 1,
            "frequency_penalty": 0,
            "presence_penalty": 0,
            "system_prompt": ""
          }
        },
        "parameters": {
          "animal": "Fox"
        }
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 0,
          "data": {
              "role": "assistant",
              "content": "This is a story about a fox named..."
          },
          "metadata": {
            "id": "chatcmpl-8I6nJzTo36E4PW60gGPuivJc0nEJB",
            "object": "chat.completion",
            "created": 1699326713,
            "name": "gpt-3.5-turbo-1106",
            "usage": {
                "prompt_tokens": 100,
                "completion_tokens": 19,
                "total_tokens": 102
            },
            "finish_reason": "stop"
          }
        },
      ]
    },
  ]
}

Questions or Feedback?

Have any questions or feature requests? Reach out to us at hello@puzzlet.ai