{% set header_subtitle = 'pipeline report' %} {% include '_header.html' %}

Pipeline Analysis Report

{{ pipeline.name }}

1. Pipeline Structure

{{ pipeline.to_mermaid()|safe }}

2. Run Metadata

Pipeline Information
  • Name: {{ pipeline.name }}
  • Total Nodes: {{ pipeline.nodes|length }}
  • {% if pipeline.config.model_name %}
  • Default Model: {{ pipeline.config.model_name }}
  • {% endif %}
Context Variables
{% if pipeline.default_context %}
    {% for key, value in pipeline.default_context.items() %}
  • {{ key }}: {{ value }}
  • {% endfor %}
{% else %}

No context variables

{% endif %} {% if pipeline.config.extra_context %}
Extra Context:
    {% for key, value in pipeline.config.extra_context.items() %}
  • {{ key }}: {{ value }}
  • {% endfor %}
{% endif %}
Execution Order

Nodes in the same batch run in parallel

{% for batch_idx, batch_nodes in execution_order|enumerate %}
Batch {{ batch_idx + 1 }}: {% for node_name in batch_nodes %} {{ node_name }} {% endfor %}
{% endfor %}
{% if pipeline.config.document_paths %}
Source Documents
    {% for doc_path in pipeline.config.document_paths %}
  • {{ doc_path }}
  • {% endfor %}
{% endif %} {% if pipeline.config.report_texts %}

Report Summary

{% for report_key in pipeline.config.report_texts %} {% set node_name = report_key.split('.')[0] %} {% set slot_name = report_key.split('.')[1] if '.' in report_key else none %} {% if node_name in pipeline.nodes_dict and pipeline.nodes_dict[node_name].output %} {% set report_info = pipeline.config.report_texts[report_key] if pipeline.config.report_texts is mapping else {} %} {% set display_label = report_info.label if report_info is mapping and report_info.label else (slot_name or node_name)|title|replace('_', ' ') %} {% set display_description = report_info.description if report_info is mapping and report_info.description else none %}
{{ display_label }}
{% if display_description %}

{{ display_description }}

{% endif %}
{% markdown %} {% if slot_name %} {% set node = pipeline.nodes_dict[node_name] %} {% set first_output = node.output[0] if node.output else none %} {% if first_output and first_output.outputs is defined and slot_name in first_output.outputs %} {{ first_output.outputs[slot_name]|safe }} {% else %} {{ node.result().response_obj|safe }} {% endif %} {% else %} {{ pipeline.nodes_dict[node_name].result().response_obj|safe }} {% endif %} {% endmarkdown %}
{% endif %} {% endfor %} {% endif %}

3. Node Results

{% for node in pipeline.nodes %}
{{ render_node(node)|safe }}
{% endfor %}

Run Configuration

{% if pipeline.config.export_metadata and pipeline.config.export_metadata.command %}
CLI Command:
{{ pipeline.config.export_metadata.command }}
{% endif %}
Pipeline
{{ pipeline.name }}
{% if pipeline.config.model_name %}
Model
{{ pipeline.config.model_name }}
{% endif %} {% if pipeline.config.sample_n %}
Sample
{{ pipeline.config.sample_n }} documents (randomly sampled)
{% endif %} {% if pipeline.config.head_n %}
Head
{{ pipeline.config.head_n }} documents (first N)
{% endif %} {% if pipeline.config.seed %}
Seed
{{ pipeline.config.seed }}
{% endif %}
Documents
{{ pipeline.config.document_paths|length }} files{% if pipeline.config.input_source %} from {{ pipeline.config.input_source }}{% endif %}