Automated Reporting

Trustworthy Answers, straight from your data.

Reporting by manually trawling through documents is resource intensive. BookWyrm's cite endpoint answers complex business questions by finding and verifying evidence within your source files.

Build reporting apps that answer questions from your documents

from bookwyrm import BookWyrmClient

client = BookWyrmClient()

# Answer business questions from your documents
async def generate_report(chunks, questions):
    report = {}
    for question in questions:
        async for citation in client.stream_citations(
            chunks=chunks,
            question=question
        ):
            if citation.quality >= 3:
                report[question] = {
                    "answer": citation.answer,
                    "source": citation.text_span,
                    "confidence": citation.quality
                }
    return report

# Generate weekly sales report
questions = [
    "Which region had the highest growth in Q3?",
    "What are the top three client prospects by sales value?"
]

report = await generate_report(sales_chunks, questions)
Grounded Intelligence

Grounded Intelligence

LLMs hallucinate; BookWyrm cites. Every answer is anchored to specific text chunks with a quality score, ensuring your reports are built on facts, not guesses.

Verification

Returns the exact text span used to answer.

Confidence

Quality scores (1-4) let you filter out weak data.

Transparency

"Reasoning" fields explain the logic behind the match.

Ad-Hoc Analysis (CLI)

Ad-Hoc Analysis (CLI)

Need a quick answer from a sales log or quarterly report? Query your data directly from the terminal.

Developer Implementation

bookwyrm cite \
  --question "Which region had the highest growth in Q3?" \
  --file sales_data.jsonl \
  --verbose
Automated Dashboards (Python)

Automated Dashboards (Python)

Build self-updating reports. Integrate the client into your internal tools to answer lists of questions against new data every night.

Developer Implementation

# Scan for risks in new contracts
async for citation in client.stream_citations(
    chunks=contract_chunks,
    question="What are the termination clauses?"
):
    if citation.quality >= 3:
        add_to_risk_report(citation)
Business Impact

Business Impact

Sales

Identify top prospects from call transcripts instantly.

Compliance

Audit policy documents for non-compliant phrasing.

Research

Synthesize findings from hundreds of papers in minutes.

BookWyrm Delivers Your Agentic Workflows Strategy.

Your data pipeline is the foundation for your agentic workflows. Build it right. Get started with the API that's fast to set up, easy to extend, and built for developers.