pythonbeginner

Jinja2 Prompt Templates for AI

Manage complex AI prompt templates with Jinja2 for reusable, parameterised prompt generation.

python
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.