Message Templates
Build reusable, dynamic prompts with placeholders that get filled in at runtime. Message templates are the foundation of flexible AI pipelines.
🚀 Creating Messages
🏗️ Message Template Architecture
Basic Message
message = aiMessage()
.user( "Hello, world!" )
messages = message.run()
// [{ role: "user", content: "Hello, world!" }]Multiple Messages
message = aiMessage()
.system( "You are a helpful assistant" )
.user( "What is BoxLang?" )
.assistant( "BoxLang is a modern JVM language" )
.user( "Tell me more" )
messages = message.run()Message Roles
🔤 Template Placeholders
🔄 Placeholder Binding Flow
Simple Placeholder
Multiple Placeholders
Complex Templates
🎯 Binding Strategies
Runtime Bindings
Stored Bindings
Binding Precedence
Merging Bindings
📦 Message Context
🔄 Context Injection Flow
The ${context} Placeholder
${context} PlaceholderContext Methods
RAG with Context
Security Context
Messages in Pipelines
Basic Pipeline
Reusable Template
Multi-Step Templates
Pipeline Options
Setting Default Options
Runtime Options Override
Convenience Methods
Available Options
Advanced Features
Rendering Templates
Named Messages
History
Images
Image URLs
Embedded Images
Multiple Images
Detail Levels
Practical Examples
Audio
Audio URLs
Embedded Audio
Audio Analysis Pipeline
Video
Video URLs
Embedded Videos
Video Analysis Pipeline
Documents and PDFs
Document URLs
Embedded Documents
Document Analysis Pipeline
Mixed Multimodal Content
Multimodal Provider Support
Feature
OpenAI
Claude
Gemini
Streaming Messages
Practical Examples
FAQ Template
Code Generator
Translation Pipeline
Context-Aware Assistant
Multi-Language Support
Tips and Best Practices
Template Library Pattern
Next Steps
Last updated