{% extends "base.html" %} {% block title %}Index — Paperful{% endblock %} {% block body_attrs %}{% if poll_run %} data-poll-run="{{ poll_run }}"{% endif %}{% endblock %} {% block content %}

Index

{% if error %}
{{ error }}
{% endif %}

{{ message }}

{% if flags.remote_llm %}

Remote LLM — excerpts from your PDFs leave this machine.

{% endif %} {% if flags.remote_embed %}

Remote embedding model — passage text leaves this machine.

{% endif %} {% if enabled %}
Status {% for k, v in status.items() %} {% endfor %}
FieldValue
{{ k }}{{ v }}
{% endif %} {% if flags.can_ingest %}

Ingest

{% if ingest_result.summary %}

{% if ingest_result.dry_run %}Would index{% else %}Indexed{% endif %} {{ ingest_result.summary.pdf + ingest_result.summary.ocr }} PDFs ({{ ingest_result.summary.ocr }} after OCR) and {{ ingest_result.summary.abstract }} abstracts. Unchanged {{ ingest_result.summary.unchanged }}, failed {{ ingest_result.summary.failed }}. pdf {{ ingest_result.summary.pdf }}, chunks {{ ingest_result.summary.chunks }}.

{% elif ingest_result.status %}

Last ingest: {{ ingest_result.status }}

{% endif %}
{% endif %} {% if flags.can_search %}

Search

{% if hits %} {% for h in hits %} {% endfor %}
ScoreTitleExcerpt
{{ h.score }}{{ h.title }} [{{ h.item_key }}]{{ h.text }}
{% endif %}
{% endif %} {% if flags.can_ask %}

Ask

Scope: {% if prefs.collection %}{{ prefs.collection }}{% else %}entire mirror{% endif %} · New thread

{% if threads %}
Threads ({{ threads|length }})
{% endif %}
{% for turn in turns %}

{{ turn.role }}

{{ turn.content }}
{% endfor %}
{% if last_result.sources %}

{% if last_result.cited %}Sources{% else %}Retrieved, not cited{% endif %}

{% endif %}

Question

{% include "_rag_scope_fields.html" %} {% include "_rag_prompt_fields.html" %}
{% elif flags.rag_on and not flags.llm_on %}

Turn on [llm] for Ask.

{% elif enabled and not flags.can_ask %}

Run ingest, then reload.

{% endif %} {% if flags.llm_on and flags.rag_on %}

Batch Ask

{% if batch_result.stamp %}

Last batch: {{ batch_result.answered }}/{{ batch_result.questions }} answers

{% endif %}

Questions

{% include "_rag_scope_fields.html" %}

Output

{% include "_rag_prompt_fields.html" %}
{% if packs %}
Recent batches ({{ packs|length }})
{% endif %}

Extract questions

{% if questions_result.questions is defined %}

Last: {{ questions_result.questions }} question(s) from {{ questions_result.items }} item(s){% if questions_result.dry_run %} (dry-run){% endif %}

{% endif %}
{% include "_rag_scope_fields.html" %}

Extract

Already answered?

{% if answered_result.stamp %}

Last: answered {{ answered_result.answered }} · partial {{ answered_result.partial }} · not found {{ answered_result.not_found }} report

{% endif %}

Questions

{% include "_rag_scope_fields.html" %}

Check

{% if answered_packs %}
Recent answered reports ({{ answered_packs|length }})
{% endif %}

Synthesize report

{% if synthesize_result.slug %}

Last: {{ synthesize_result.slug }} {% if synthesize_result.skipped %}({{ synthesize_result.skipped }}){% endif %}

{% endif %}
{% if reports %}
Recent reports ({{ reports|length }})
{% endif %}
{% endif %} {% endblock %}