Storing prompts in GitHub repositories
Store prompts directly in your GitHub repositories to leverage automated text summarization and other AI-driven functionalities.
In this article
Prompts can be stored as files directly within GitHub 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.
Benefits
- Easy integration with the new suite of AI development tools directly on GitHub.
- Simple and scalable from simple to complex use cases.
- Uses a widely supported format, compatible with existing tools.
Supported file format
Store prompts in YAML files.
The file can be located anywhere in your repository, butmust have the extension.prompt.yml
or.prompt.yaml
.
Example:
name: Text Summarizerdescription: Summarizes input text conciselymodel: gpt-4o-minimodelParameters: temperature: 0.5messages: - 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 -'
name:TextSummarizerdescription:Summarizesinputtextconciselymodel:gpt-4o-minimodelParameters:temperature:0.5messages:-role:systemcontent:Youareatextsummarizer.Youronlyjobistosummarizetextgiventoyou.-role:usercontent:| 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-Afoxjumpedoveralazy,unresponsivedog.evaluators:-name:Outputshouldstartwith'Summary -'string:startsWith:'Summary -'
Prompt structure
Prompts have two key parts:
- Runtime information (required)
- Prompt templates (system, user, etc.) using simple
{{variable}}
placeholders
- Prompt templates (system, user, etc.) using simple
- Development information (optional)
- Human-readable name and description
- Model identifier and parameters
- Sample data for testing and evaluations
- Data describing the evaluators themselves
Limitations
You cannot store prompts for:
- Complex templating languages
- Proprietary or complex file formats (such as
.ghprompt
, or.prompty
)