Using DotPrompt
Use Google's DotPrompt specification to define prompts with metadata, templates, and validation.
Quick Start
import 'package:dotprompt_dart/dotprompt_dart.dart';
final dotPrompt = DotPrompt('''
---
model: openai
input:
default:
length: 3
text: "The quick brown fox jumps over the lazy dog."
---
Summarize this in {{length}} words: {{text}}
''');
// Extract model and render prompt
final prompt = dotPrompt.render();
final agent = Agent(dotPrompt.frontMatter.model!);
final result = await agent.send(prompt);
print(result.output); // "Fox jumps dog."
With Variables
final dotPrompt = DotPrompt('''
---
model: anthropic
---
Translate "{{phrase}}" to {{language}}
''');
final prompt = dotPrompt.render({
'phrase': 'Hello world',
'language': 'Spanish',
});
final agent = Agent(dotPrompt.frontMatter.model!);
await agent.send(prompt);
From Files
final file = File('prompts/summarize.prompt');
final content = await file.readAsString();
final dotPrompt = DotPrompt(content);
final agent = Agent(dotPrompt.frontMatter.model!);
await agent.send(dotPrompt.render());
Next Steps
- Quick Start - Agent fundamentals
- System Messages - Built-in prompt management