Venue-aware multi-agent academic review pipeline with FastAPI, LangGraph, and modular LLM providers.
PanelMind is an advanced AI-powered system designed to simulate a roundtable academic review process. It orchestrates multiple AI agents acting as reviewers, cross-validators, and meta-reviewers to provide comprehensive, venue-specific feedback on academic papers.
- Multi-Agent Orchestration: Uses LangGraph to manage complex workflows involving independent reviews, cross-validation, and meta-reviews.
- Venue-Aware: Tailors reviews based on specific venue guidelines (e.g., ICLR, NeurIPS) using configurable YAML definitions.
- Modern Backend: Built with FastAPI, supporting SSE (Server-Sent Events) for real-time workflow updates.
- Modular Architecture: Clean separation between Core (Agent Logic), Backend (API/DB), and Shared components.
- Pluggable LLM Layer: Supports OpenAI, Gemini, Anthropic, Groq, and xAI via a unified interface.
- Observability: Integrated with LangTrace and OpenTelemetry for deep tracing of agent interactions.
- PDF Ingestion: Robust PDF parsing using Docling.
The codebase is organized into three main domains:
PanelMind/
├── backend/ # Server-side logic
│ ├── api/ # FastAPI routes and app factory
│ ├── database/ # SQLAlchemy models and DB connection
│ ├── services/ # Business logic (SSE, Event Store)
│ ├── storage/ # S3/File storage handlers
│ └── auth/ # Authentication & Security
├── core/ # AI Agent Engine
│ ├── agents/ # Reviewer, Cross-Validator, Meta-Reviewer classes
│ ├── workflows/ # LangGraph state machine definitions
│ ├── llm/ # LLM Client, Providers, and Parsers
│ ├── prompts/ # Jinja2 prompt templates
│ └── processors/ # PDF processing (Docling)
└── shared/ # Common utilities
├── models/ # Pydantic domain models
├── config/ # Configuration management
├── types/ # Shared type definitions
└── monitor/ # Tracing and logging
-
Clone the repository
git clone <your-repo-url> cd PanelMind-core
-
Set up Python environment
python3.11 -m venv venv source venv/bin/activate -
Install dependencies
pip install -r requirements.txt
-
Configuration Copy the example environment file and populate it with your API keys.
cp .env.example .env
Required keys:
OPENAI_API_KEY,GEMINI_API_KEY, etc., depending on the providers you use.
Start the FastAPI backend with hot-reloading:
uvicorn PanelMind.backend.api.app:app --reload- API Docs: Visit
http://127.0.0.1:8000/docsfor Swagger UI. - Health Check:
http://127.0.0.1:8000/health
You can run a review workflow directly from the command line:
python -m PanelMind.backend.cli.run_review --pdf assets/pdfs/YourPaper.pdf --venue ICLRTo verify the pipeline integrity:
python test_pipeline.pyThe review process follows a structured graph:
- Preprocess: PDF is parsed, and text is extracted.
- Independent Review: Multiple agents (e.g., Technical Expert, Novelty Expert) generate initial reviews based on venue guidelines.
- Cross-Validation: Agents critique each other's reviews to identify gaps or inconsistencies.
- Meta-Review: A senior agent synthesizes all reviews and critiques into a final decision and summary.
PanelMind uses LangTrace for tracing LLM calls.
- To enable, set
LANGTRACE_API_KEYin your.env. - To reduce noise, SQLite instrumentation is disabled by default in
PanelMind/__init__.py.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for details.