Skip to main content

Storing prompts in repositories

Prompts can be stored as files directly within repositories. This unlocks the ability to view your prompts in an organized UI, share them with non-technical stakeholders, and run seamless iterations and comparisons on adjustments to models and prompts.

  • Easy integration with the new suite of AI development tools directly on .
  • Simple and scalable from simple to complex use cases.
  • Uses a widely supported format, compatible with existing tools.

Store prompts in YAML files.

The file can be located anywhere in your repository, but must have the extension .prompt.yml or .prompt.yaml.

Example:

YAML
name: Text Summarizer
description: Summarizes input text concisely
model: gpt-4o-mini
modelParameters:
  temperature: 0.5
messages:
  - role: system
    content: You are a text summarizer. Your only job is to summarize text given to you.
  - role: user
    content: |
      Summarize the given text, beginning with "Summary -":
      <text>
      {{input}}
      </text>
testData:
  - input: |
      The quick brown fox jumped over the lazy dog.
      The dog was too tired to react.
    expected: Summary - A fox jumped over a lazy, unresponsive dog.
evaluators:
  - name: Output should start with 'Summary -'
    string:
      startsWith: 'Summary -'

Prompts have two key parts:

  • Runtime information (required)
    • Prompt templates (system, user, etc.) using simple {{variable}} placeholders
  • Development information (optional)
    • Human-readable name and description
    • Model identifier and parameters
    • Sample data for testing and evaluations
    • Data describing the evaluators themselves

You cannot store prompts for:

  • Complex templating languages
  • Proprietary or complex file formats (such as .ghprompt, or .prompty)