Skip to main content
Review Templates

Learning how to use review templates

Updated over a month ago

Understanding Jinja Templating for Dynamic User Reviews

Jinja templating is a powerful tool that allows you to create dynamic and customizable text outputs, ideal for creating personalized user reviews based on data extracted from documents. Here's a guide to help you understand the basics of Jinja templating in this context.

What is Jinja?

Jinja is a templating engine for Python that enables you to generate dynamic content by embedding Python-like expressions within static text. It is commonly used in web development but is equally powerful in other applications requiring dynamic content generation.

Key Features of Jinja

  • Variables: Embed dynamic data within your template.

  • Control Structures: Use loops and conditionals to control the flow of your template.

  • Filters: Modify the output of your variables with built-in or custom filters.

  • Macros: Define reusable blocks of code for complex templates.

Basic Syntax

  1. Variables:

    • Syntax: {{ variable_name }}

    • Example: Hello, {{ user_name }}!

  1. Control Structures:

    • For Loop:

      {% for item in item_list %} - {{ item }} {% endfor %}
    • If Statement:

      {% if user.is_active %} Welcome back, {{ user.name }}! {% else %} Please activate your account. {% endif %}
  1. Filters:

    • Syntax: {{ variable_name | filter_name }}

    • Example: {{ user_name | upper }}

    • Common Filters: upper, lower, title, default

  1. Macros:

    • Syntax:

      {% macro render_user(user) %} <p>{{ user.name }} - {{ user.email }}</p> {% endmacro %} {{ render_user(user) }}

Applying Jinja to User Reviews

Imagine you have a document from which you extract data elements like document_title, author_name, and publish_date. Using Jinja, you can create a dynamic review prompt that incorporates these elements.

Available Variables

We make the following variables available to use in the review template:

content : this is the text of the whole document

family : this is the document family we are working on

data : data that has already been extracted, as a list of objects

externalData : the external data associated with the document family

metadata : the metadata associated with this document family

Example Review Template

Below are some examples of templates:

Please look at the bill and ensure that the total billed amount is  {{ externalData.total_bill_amount }}

Did this answer your question?