Skip to main content

title: open research-lite colorFrom: red colorTo: crimson sdk: gradio sdk_version: 4.44.0 app_file: app.py pinned: false license: mit short_description: Autonomous Deep Research Agent with Differential Knowledge Graphs and Dual-Model Architecture tags:

  • deep-research
  • llm-agents
  • gpt-researcher
  • knowledge-graph
  • agentic-rag
  • token-optimization
  • dual-model
  • paper:10.5281/zenodo.22168098

open research-lite

Autonomous Deep Research Agent with Differential Knowledge Graphs and Dual-Model Pipeline
Slashes 70%+ token bloat, extracts atomic fact assertions, catches metric contradictions deterministically, and synthesizes executive research dossiers.

PyPI version License: MIT Python 3.10+ DOI Token Savings


Why open research-lite over GPT-Researcher?

In conventional research agents (such as GPT-Researcher), over 70% of prompt tokens are consumed ingesting repetitive introductory fluff, boilerplate history, and SEO prose across multi-page web search streams. Furthermore, GPT-Researcher's "Fast LLM" is only used for generating search sub-queries, while raw scraped web pages (50,000+ tokens) are dumped into the expensive "Smart LLM". When two sources present divergent metrics (for example, 26W vs 31W peak package power), conventional agents silently average or hallucinate.

open research-lite introduces an architectural layer add-on with Session Knowledge-State Tracking ($G_t = G_{t-1} \cup \Delta G_t$) that supercharges the Fast LLM & Smart LLM pipeline:

  1. Fast LLM (fast_llm / extractor_model): A fast, cost-efficient model (e.g., gemini-2.5-flash, gpt-4o-mini, claude-3-5-haiku, llama-3.1-8b) acts as an intelligent gatekeeper. It sifts raw web scrapes, isolates Subject-Predicate-Object triplets and quantitative metrics, prunes 70%+ redundant text, and detects metric contradictions.
  2. Smart LLM (smart_llm / writer_model): A flagship reasoning model (e.g., claude-3-5-sonnet, gpt-4o, gemini-2.5-pro, o1, deepseek-r1) receives only the high-signal, distilled differential graph assertions (~1,200 tokens instead of 50,000+ raw tokens) and writes a comprehensive, structured research dossier.
Capability GPT-Researcher open research-lite Why It Matters
Ingestion Pipeline Raw document stuffing (50k+ tokens) Dual-Model Differential Graph 70%+ Cheaper API costs and sub-second synthesis
Fast LLM Role Search sub-query generator only Fact Extractor & Contradiction Radar Converts raw scrapes into verified fact graph
Contradiction Detection None (silently averages) Deterministic Contradiction Radar Flags real metric disputes across sources
Visual Knowledge Graph None Interactive HTML / Mermaid Dossier Visual entity relationship mapping
Interactive Terminal UI Basic stdout Crimson Terminal Dashboard (Claude Code-inspired) Full model dropdowns, live progress, metric scorecards
Multi-Tenancy & Isolation Varies Thread-Safe Session Isolation Zero state leakage between concurrent runs
Drop-in Compatibility GPTResearcher from open_research_lite import GPTResearcher 1-line seamless replacement

Quickstart

1. Installation

pip install open-research-lite

2. Custom Terminal Commands (No python -m Required)

Launch deep autonomous research straight from your terminal using custom executable commands:

# Windows
.\open-research "High-Bandwidth Memory HBM4 Architecture and Interconnect Scaling"

# Or run the interactive crimson TUI wizard
.\open-research
# macOS / Linux
./open-research "Fault-Tolerant Quantum Computing and Surface Code Thresholds"

Automatically generates both a clean Markdown dossier (research_report.md) and a standalone visual HTML report (research_report.html) with embedded interactive Mermaid knowledge graphs!


3. Supported Production Models

open research-lite supports 18+ production models selectable directly from interactive dropdowns:

  • Google: Gemini 2.5 Flash, Gemini 2.5 Pro
  • OpenAI: GPT-4o, GPT-4o Mini, GPT-4.1, o1, o3-mini
  • Anthropic: Claude 3.5 Sonnet, Claude 3.5 Haiku, Claude 3 Opus
  • DeepSeek: DeepSeek-R1, DeepSeek-V3
  • Meta / Groq: Llama 3.3 70B, Llama 3.1 8B, Mixtral 8x7B
  • Mistral: Mistral Large, Mistral Small

4. Python API (Drop-in GPT-Researcher Replacement)

Use open research-lite as a drop-in replacement for GPT-Researcher with identical fast_llm and smart_llm parameters:

import asyncio
from open_research_lite import GPTResearcher, Researcher

async def main():
    # 1. Initialize Researcher with Fast LLM and Smart LLM
    researcher = GPTResearcher(
        query="High-Bandwidth Memory HBM4 Architecture Trends",
        report_type="research_report",
        fast_llm="gpt-4o-mini",               # Fast LLM for fact extraction & graph building
        smart_llm="claude-3-5-sonnet-latest", # Smart LLM for analytical dossier writing
        search_api="tavily",                  # Or "duckduckgo" for free search
        max_results=5
    )

    # 2. Conduct research (extracts facts and updates session graph)
    await researcher.conduct_research()

    # 3. Synthesize structured report
    report = await researcher.write_report()
    print(report)

    # 4. Export visual HTML dossier and Markdown
    researcher.export_markdown("hbm4_report.md")
    researcher.export_html("hbm4_dossier.html")

    # 5. Inspect telemetry & graph stats
    stats = researcher.get_stats()
    print(f"Token reduction: {stats['telemetry']['token_reduction_pct']}%")
    print(f"Verified assertions: {stats['graph']['total_facts']}")

if __name__ == "__main__":
    asyncio.run(main())

5. Standalone Middleware Usage (for LangGraph, CrewAI, AutoGPT)

You can use the core ConceptDiffEngine as gatekeeper middleware for existing agent architectures:

import asyncio
from open_research_lite import ConceptDiffEngine

async def main():
    engine = ConceptDiffEngine(model_name="gemini-2.5-flash")

    raw_scrape = """
    High-Bandwidth Memory (HBM) stacks integrate multiple DRAM dies via TSVs.
    In 2026, engineers validated an HBM4 memory stack delivering 2.8 TB/s peak bandwidth per stack.
    Operating power consumption is measured at 26W under full saturation.
    """

    # Intercept raw scrape and convert into dense diff payload
    diff_payload = await engine.process_observation(
        raw_text=raw_scrape,
        source_url="https://semiconductor-audit.org/hbm4-2026",
        source_title="HBM4 Interface Milestone"
    )

    print(diff_payload)

if __name__ == "__main__":
    asyncio.run(main())

Interactive Visual HTML Dossier

Every research mission exports an interactive dark-mode HTML dossier containing:

  1. Mermaid.js Knowledge Graph: Pan, zoom, and inspect verified entity links and relationships.
  2. Contradiction Radar: Callout cards highlighting conflicting claims between sources.
  3. Efficiency Scorecard: Raw input tokens, pruned redundant tokens, and unique mapped entities.
  4. Structured Executive Dossier: Executive summary, key metrics, and linked source citations.

Repository Structure

open-research-lite/
├── src/
│   └── open_research_lite/         # Production package (v0.3.0)
│       ├── __init__.py             # Top-level exports (Researcher, GPTResearcher, exceptions)
│       ├── __main__.py             # Interactive crimson TUI wizard
│       ├── researcher.py           # Core orchestrator with bounded async concurrency
│       ├── diff_engine.py          # Differential fact extraction & contradiction engine
│       ├── knowledge_graph.py      # Thread-safe SessionKnowledgeGraph (RLock)
│       ├── models.py               # Multi-provider LLM factory (Google, OpenAI, Anthropic, etc.)
│       ├── search.py               # Search engine integrations (DuckDuckGo, Tavily, Google)
│       ├── exceptions.py           # Typed exception hierarchy
│       └── telemetry.py            # Token cost and latency metrics
├── docs/                           # Whitepapers, technical specifications & proposals
│   ├── RESEARCH_PAPER.md           # Formal paper on Concept-Diffing architecture
│   ├── paper.tex                   # LaTeX preprint
│   └── proposals/                  # Platform integration proposals
├── benchmarks/                     # GAIA & deep research benchmarks and verified results
│   ├── results/                    # Benchmark scorecards and evaluation outputs
│   └── legacy_eval/                # Historical benchmark harnesses
├── examples/                       # Developer guides & quickstart scripts
│   ├── quickstart_researcher.py    # Complete Python API walkthrough
│   └── reports/                    # Domain-specific sample reports
├── tests/                          # Production unit & integration test suites
│   ├── test_researcher.py          # Researcher API, dual models, custom search tests
│   └── test_concept_diff.py        # Fact diffing and knowledge graph tests
├── cli.py                          # Direct launcher
├── open-research.cmd               # Custom Windows terminal command
└── pyproject.toml                  # Package configuration (v0.3.0)

Enterprise Production Features (v0.3.0)

  • Bounded Asynchronous Concurrency: Parallel source processing via asyncio.Semaphore(max_concurrency) prevents API rate limits and thread starvation during massive web crawls.
  • Custom Search Provider Injection: Supply your own search callback (search_func) to query internal enterprise databases, vector indices, or proprietary APIs seamlessly.
  • Structured JSON Export: Call export_json("output.json") or to_dict() to ingest research graph nodes, facts, contradiction warnings, and telemetry directly into microservice pipelines.
  • Strongly-Typed Exceptions: Catch granular errors (ConfigurationError, SearchProviderError, FactExtractionError, ReportSynthesisError) without unhandled crashes or silent mock fallbacks.
  • Thread-Safe Multi-Tenancy: SessionKnowledgeGraph and ResearchTelemetry employ reentrant locking (threading.RLock) to guarantee complete thread safety across parallel worker threads.

Testing & Verification

# Run unit tests
python tests/test_concept_diff.py
python tests/test_researcher.py

# Run quickstart demo
python examples/quickstart_researcher.py

Citation

@article{openresearchlite2026,
  title={Differential Knowledge-State Tracking for Token-Efficient Autonomous Deep Research Agents},
  author={open research-lite Team},
  year={2026},
  doi={10.5281/zenodo.22168098}
}

License

MIT License. Open source and production ready.

Metadata

Release files for open-research-lite 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-research-lite 0.3.0
File Size Uploaded
open_research_lite-0.3.0.tar.gz 35.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-research-lite 0.3.0
File Interpreter ABI Platform
open_research_lite-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 66.1 kB

Release files / open_research_lite-0.3.0.tar.gz

Download URL open_research_lite-0.3.0.tar.gz
Size 35.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8c5c28f4fd21f3167efd674cab33baca9fe5c2c13b991e75eb8b00f6f6f9388a
BLAKE2b-256 checksum
How to use checksums
9e26fecd76718f47a34c71e8871c6c4a6d903996edee15261f1be3fc0a88a738
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / open_research_lite-0.3.0-py3-none-any.whl

Download URL open_research_lite-0.3.0-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f12851b710126c8809293c2cb0747aec4e66225c0635168d78e9294f8e92ddd4
BLAKE2b-256 checksum
How to use checksums
54193c32298dd75dcf9c8ff09040071cbc0b725eb59ebbf6683235e31412d118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page