pythonbeginner
Jinja2 Prompt Templates for AI
Manage complex AI prompt templates with Jinja2 for reusable, parameterised prompt generation.
pythonPress ⌘/Ctrl + Shift + C to copy
from jinja2 import Environment, BaseLoader
env = Environment(loader=BaseLoader())
SYSTEM_TMPL = """
You are a {{ role }} expert specialising in {{ domain }}.
Always respond in {{ language }}.
Be {{ tone }}.
"""
USER_TMPL = """
Context:
{% for doc in documents %}
{{ loop.index }}. {{ doc }}
{% endfor %}
Question: {{ question }}
"""
system = env.from_string(SYSTEM_TMPL).render(role='Python', domain='data engineering', language='English', tone='concise')
user = env.from_string(USER_TMPL).render(documents=['Pandas docs', 'NumPy guide'], question='How do I merge DataFrames?')
print('System:', system.strip())
print('User:', user.strip())Use Cases
- prompt management
- dynamic prompts
- multi-language prompts
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
typescriptbeginner
Few-Shot Prompt Template
Build structured few-shot prompts with examples, system instructions, and output format constraints.
Best for: Consistent AI outputs
#prompts#few-shot
pythonbeginner
Prompt Template Engineering Patterns
Design reusable, parameterized prompt templates for consistent LLM outputs.
Best for: Consistent LLM outputs
#ai#prompt-engineering
pythonintermediate
LLM Prompt Testing Framework
Write automated tests for LLM prompts using Python assertions to detect regressions.
Best for: prompt regression testing
#testing#prompts
typescriptintermediate
OpenAI Chat Completion with Streaming
Stream GPT responses token-by-token using the OpenAI SDK with async iteration.
Best for: chatbot UI
#openai#streaming