← 开源
ChaokunHong

MetaScreener

AI-powered tool for efficient abstract and PDF screening in systematic reviews.

ApplicationsResearch & knowledgePython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.34k
Star
50
Fork
+0
本周
1
贡献者
创建于 2025-05-08 · 更新于 2026-10-07 · 今日第 10648 名
主要开发者

ChaokunHong/MetaScreener 排名第 10,648,有 1,336 个星标。

同类别比较

ChaokunHong/MetaScreener 排名第 10,648,此处有 8 个同类条目;GuitarML/SmartGuitarAmp 排名第 10,642。

同类别比较
名称排名指标
jbilcke-hf/ai-comic-factory10,633
语言:
TypeScript
星标数:
1,341
分叉数:
310
简介:
Generate comic panels using a LLM + SDXL. Powered by Hugging Face 🤗
kuaikuaikim/dface10,636
语言:
Python
星标数:
1,340
分叉数:
347
简介:
Deep learning face detection and recognition, implemented by pytorch. (pytorch实现的人脸检测和人脸识别)
bloc97/CrossAttentionControl10,638
语言:
Jupyter Notebook
星标数:
1,339
分叉数:
83
简介:
Unofficial implementation of "Prompt-to-Prompt Image Editing with Cross Attention Control" with Stable Diffusion
GuitarML/SmartGuitarAmp10,642
语言:
C++
星标数:
1,337
分叉数:
62
简介:
Guitar plugin made with JUCE that uses neural networks to emulate a tube amplifier.
ahmetozlu/tensorflow_object_counting_api10,658
语言:
Python
星标数:
1,333
分叉数:
537
简介:
🚀 The TensorFlow Object Counting API is an open source framework built on top of TensorFlow and Keras that makes it easy to develop object counting systems!
lean-dojo/LeanCopilot10,660
语言:
C++
星标数:
1,333
分叉数:
131
简介:
LLMs as Copilots for Theorem Proving in Lean
uluckyXH/OpenMOSS10,661
语言:
Python
星标数:
1,333
分叉数:
145
supermemoryai/opensearch-ai10,669
语言:
TypeScript
星标数:
1,330
分叉数:
199
简介:
SearchGPT / Perplexity clone, but personalised for you.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Applications
子类别Research & knowledge
关键词Unstructured data extraction
星标数1,336
分叉数50
贡献者1
创建日期2025-05-08
更新日期2026-10-07
1 天星标数0
7 天星标数0
排名10,648
上次排名10,631
排名变化-17
7 天星标排名12,703
上次 7 天星标排名12,727
7 天星标排名变化24
总星标排名8,887
上次总星标排名8,875
总星标排名变化-12
国家UK
README 摘录

**Key idea:** Upload your search results from PubMed/Scopus/etc. Uncertain cases are routed to human review. 5 | Best accuracy, strong medical knowledge | | **Strong** | Llama 4 Maverick, GLM 5, MiniMax M2. 005 | Most reviews | | Precision | 2 thinking + 2 large | ~$0. 009 | High-stakes reviews | | Budget | 1 anchor + 3 fast | ~$0. 11+** **An API key** from OpenRouter (free sign-up, pay-per-use) Option A: Install with pip Then start the Web UI: Option B: Docker (no Python needed) Option C

: From source (for developers) Requires uv and Node. Configuration Set your API key via **one** of these methods: 1. Override it and the system learns from your feedback 6. , wrong language, animal study when humans required). Soft rules apply score penalties for partial matches. 60) + full model agreement | Auto-decide | | **2** | Moderate ECS (≥0.

常见问题

记录了多少星标和分叉?

ChaokunHong/MetaScreener 有 1,336 个星标和 50 个分叉。

仓库排名是多少?

ChaokunHong/MetaScreener 排名第 10,648。

记录的语言和类别是什么?

ChaokunHong/MetaScreener 有 1,336 个星标,语言为 Python,类别为 Applications。

哪个仓库排名最接近?

ChaokunHong/MetaScreener 与 GuitarML/SmartGuitarAmp 比较,后者排名第 10,642,有 1,337 个星标。

README

Open-source multi-LLM ensemble for systematic review screening


Overview

MetaScreener automates the screening phase of systematic reviews using an ensemble of open-source large language models. Instead of relying on a single model, it runs multiple LLMs in parallel and aggregates their outputs through a calibrated confidence pipeline — producing transparent, reproducible decisions with uncertainty quantification.

Key idea: Upload your search results from PubMed/Scopus/etc., define your review criteria (PICO/PEO/SPIDER), and MetaScreener reads each title & abstract — returning include/exclude decisions with confidence scores. Uncertain cases are routed to human review.

Why MetaScreener?

Feature Description
Multi-LLM Ensemble 4+ open-source models vote together — no single point of failure
Calibrated Confidence Post-hoc calibration (Platt/Isotonic) maps raw scores to true probabilities
Tiered Decisions Auto-decide on high-confidence cases, flag uncertain ones for human review
Element Consensus Per-element (P/I/C/O) agreement scoring across models
Active Learning Human feedback loop recalibrates model weights in real time
Full Reproducibility temperature=0.0, seed=42, audit trail on every decision
Cost-Effective ~$0.003–0.009 per paper using free-tier API providers

Architecture

MetaScreener uses a Hierarchical Consensus Network (HCN) — a 4-layer screening pipeline:

                        ┌──────────────────────────────────┐
    Upload              │         Layer 1: Inference        │
  .ris/.bib ──────────▶ │  4+ LLMs run in parallel via API  │
  .csv/.xlsx            │  (DeepSeek, Qwen, Llama, Kimi…)  │
                        └──────────────┬───────────────────┘
                                       ▼
                        ┌──────────────────────────────────┐
    PICO/PEO/           │       Layer 2: Rule Engine        │
    SPIDER  ──────────▶ │  Hard rules (auto-exclude)        │
    Criteria            │  Soft rules (score penalties)      │
                        └──────────────┬───────────────────┘
                                       ▼
                        ┌──────────────────────────────────┐
                        │     Layer 3: CCA + ECS            │
                        │  Calibrated Confidence Aggregation │
                        │  Element Consensus Scoring         │
                        └──────────────┬───────────────────┘
                                       ▼
                        ┌──────────────────────────────────┐
                        │    Layer 4: Decision Router        │
                        │  Tier 0 → Hard-rule exclusion      │
                        │  Tier 1 → High-confidence auto     │
                        │  Tier 2 → Moderate auto-decide     │
                        │  Tier 3 → Human review             │
                        └──────────────────────────────────┘

Supported Models

15 open-source LLMs via OpenRouter, organized by capability:

Tier Models Characteristics
Flagship DeepSeek V3, Qwen 3, Kimi K2.5 Best accuracy, strong medical knowledge
Strong Llama 4 Maverick, GLM 5, MiniMax M2.7, Nous Hermes 4, Nvidia Nemotron, Cogito 671B, AI21 Jamba Good balance of cost and performance
Lightweight Gemma 3 27B, Mistral Small 4, Phi 4 Fast and cheap, good for budget screening

Recommended presets:

Preset Models Cost/Paper Best For
Balanced 4 models ~$0.005 Most reviews
Precision 2 thinking + 2 large ~$0.009 High-stakes reviews
Budget 1 anchor + 3 fast ~$0.003 Large-scale screening

Quick Start

Prerequisites

  • Python 3.11+
  • An API key from OpenRouter (free sign-up, pay-per-use)

Option A: Install with pip

pip install metascreener

Then start the Web UI:

python -m metascreener
# → Open http://localhost:8000

Option B: Docker (no Python needed)

docker pull chaokunhong/metascreener:latest

docker run -p 8000:8000 \
  -e OPENROUTER_API_KEY="sk-or-v1-your-key-here" \
  chaokunhong/metascreener
# → Open http://localhost:8000

Option C: From source (for developers)

Requires uv and Node.js 18+.

git clone https://github.com/ChaokunHong/MetaScreener.git
cd MetaScreener

uv sync --extra dev        # Install Python dependencies
python run.py              # Start FastAPI + Vite dev servers
# → Backend: http://localhost:8000
# → Frontend: http://localhost:5173

Configuration

Set your API key via one of these methods:

  1. Web UI — Go to Settings page and paste your key
  2. Environment variable:
    export OPENROUTER_API_KEY="sk-or-v1-your-key-here"
    

Web UI Workflow

MetaScreener provides a modern web interface (Vue 3) with a guided step-by-step workflow:

Step Page What It Does
0 Criteria AI-generated PICO/PEO/SPIDER criteria from your research question
1 Settings Select models, adjust thresholds, configure API keys
2 Screening (TA) Upload search results → run title/abstract screening → review decisions
3 Screening (FT) Upload PDFs → run full-text screening with intelligent chunking
4 Extraction Extract structured data (tables, fields) from included PDFs
5 Quality Risk-of-bias assessment (RoB 2 / ROBINS-I / QUADAS-2)
6 Evaluation Performance metrics, calibration diagnostics, visualizations
7 History Session audit trail with full decision provenance

Screening Flow

  1. Upload your search export (.ris, .bib, .csv, .xlsx)
  2. Define criteria — type your research question and let AI generate PICO criteria, or upload existing criteria
  3. Run screening — papers are processed one-by-one with real-time progress
  4. Review — each paper shows: decision, confidence score, tier, per-element consensus, model agreement
  5. Override — disagree with a decision? Override it and the system learns from your feedback
  6. Export — download results as CSV, Excel, JSON, or RIS

How It Works

Layer 1 — Parallel LLM Inference

Each paper is sent to 4+ LLMs simultaneously. Each model returns:

  • Decision (include / exclude / uncertain)
  • Confidence score (0–1)
  • Per-element assessment (population, intervention, comparison, outcome)
  • Reasoning chain explaining the decision

Layer 2 — Semantic Rule Engine

Hard rules auto-exclude papers that violate non-negotiable criteria (e.g., wrong language, animal study when humans required). Soft rules apply score penalties for partial matches.

Layer 3 — Calibrated Confidence Aggregation (CCA)

Raw model scores are calibrated using Platt scaling or isotonic regression, then aggregated with tier-weighted blending. The Element Consensus Score (ECS) measures per-element agreement across models — if all models agree that Population matches but disagree on Outcome, this is captured precisely.

Layer 4 — Decision Router

Papers are routed to one of four tiers:

Tier Condition Action
0 Hard-rule violation Auto-exclude
1 High ECS (≥0.60) + full model agreement Auto-decide
2 Moderate ECS (≥0.10) + within dissent tolerance Auto-decide with lower confidence
3 Low confidence or high disagreement Route to human review

Supported File Formats

Format Extension Source
RIS .ris PubMed, Scopus, Web of Science, Ovid, Embase
BibTeX .bib Google Scholar, Zotero, Mendeley
CSV .csv Any spreadsheet (must have title and abstract columns)
Excel .xlsx Any spreadsheet (must have title and abstract columns)
PDF .pdf For full-text screening and data extraction

Project Structure

MetaScreener/
├── configs/models.yaml            # Model registry + thresholds (single source of truth)
├── src/metascreener/
│   ├── api/                       # FastAPI backend + routes
│   ├── core/                      # Pydantic models, enums, exceptions
│   ├── io/                        # File readers/writers, PDF parser
│   ├── llm/                       # LLM backends, adapters, parallel runner
│   ├── criteria/                  # PICO/PEO/SPIDER criteria generator
│   ├── module1_screening/         # HCN 4-layer screening pipeline
│   │   ├── layer1/                #   Parallel LLM inference
│   │   ├── layer2/                #   Semantic rule engine
│   │   ├── layer3/                #   CCA + ECS aggregation
│   │   └── layer4/                #   Decision router
│   ├── module2_extraction/        # PDF data extraction
│   ├── module3_quality/           # Risk of bias (RoB 2 / ROBINS-I / QUADAS-2)
│   └── evaluation/                # Metrics, calibration, visualization
├── frontend/                      # Vue 3 + TypeScript + Vite
├── tests/                         # Unit + integration tests (all offline)
├── validation/                    # Reproducibility experiments
├── docker/Dockerfile              # Multi-stage build (slim / full)
├── run.py                         # Dev server launcher
└── pyproject.toml

Evaluation Metrics

MetaScreener computes standard systematic review metrics:

  • Sensitivity (recall) — proportion of relevant studies correctly identified
  • Specificity — proportion of irrelevant studies correctly excluded
  • WSS@95 — Work Saved over Sampling at 95% recall
  • AUROC — Area Under Receiver Operating Characteristic curve
  • Brier Score — calibration quality (how well confidence matches correctness)
  • Calibration Curves — visual diagnostic for model probability calibration
  • Bootstrap 95% CI — confidence intervals on all metrics

Development

# Install dependencies
uv sync --extra dev

# Run tests (all offline, no API keys needed)
uv run pytest

# Lint
uv run ruff check src/

# Type check
uv run mypy src/

# Dev server (FastAPI + Vite hot reload)
python run.py

Docker Build

# Slim build (daily use)
docker build -f docker/Dockerfile --target slim -t metascreener .

# Full build (reproducibility experiments + visualization extras)
docker build -f docker/Dockerfile --target full -t metascreener:full .

Reproducibility

MetaScreener is designed for TRIPOD-LLM compliant reproducibility:

  • temperature = 0.0 on all LLM calls (deterministic output)
  • seed = 42 on all stochastic operations
  • Full audit trail: every decision logs model outputs, rule violations, confidence scores, and timestamps
  • Session persistence: all screening sessions saved as JSON for re-analysis
  • Calibration diagnostics: Brier scores, calibration curves, and confidence intervals

Tech Stack

Component Technology
Backend FastAPI, uvicorn, Pydantic 2
Frontend Vue 3 (Composition API), TypeScript, Vite, Pinia
LLM Routing LiteLLM → OpenRouter API
PDF Processing PyMuPDF (fitz), Tesseract OCR
Data Processing pandas, NumPy, scikit-learn, SciPy
Visualization Plotly, Chart.js
Logging structlog (structured JSON)
Testing pytest, MockLLMAdapter (fully offline)

Citation

If you use MetaScreener in your research, please cite:

@software{hong2025metascreener,
  author    = {Hong, Chaokun},
  title     = {{MetaScreener}: Open-Source Multi-LLM Ensemble for Systematic Review Screening},
  year      = {2025},
  url       = {https://github.com/ChaokunHong/MetaScreener},
  license   = {Apache-2.0}
}

License

Apache License 2.0 — free for academic and commercial use.

排名相邻
同类项目