Project Info
Inspiration
Biomedical researchers spend 15% of an average week up to 50% or more during intense periods of their time on literature review. When working on biomedical research, we realized finding connections across 50+ papers was nearly impossible manually. We needed a way to see the forest, not just the trees. What if AI could not only read papers but actively discover new ones, build knowledge networks, and generate research hypotheses automatically? That's why we built Empirica.
What it does
Empirica transforms biomedical research with three core capabilities: 1. Agentic Research Workflows: Turn on "Agent Mode" and watch Empirica autonomously search PubMed, discover papers via Google Scholar, download PDFs, extract entities, and build knowledge graphs—all while you focus on analysis. 2. Interactive Knowledge Graphs: Visualize genes, diseases, drugs, and their relationships in stunning 2D/3D force-directed graphs. Click nodes to explore connections, filter by entity type, and navigate through your research visually. 3. AI-Powered Intelligence: RAG-Enhanced Chat: Ask questions and get answers with exact paper + page citations Discovery Lab: AI generates research hypotheses by analyzing graph structure and document content, showing confidence scores and supporting evidence Every insight is traceable, persistent, and citation-backed.
How we built it
Backend (Python): FastAPI for async REST API with OAuth 2.0 authentication scispaCy for biomedical named entity recognition (80+ entity types) PyMuPDF for PDF text extraction NetworkX for graph construction and analysis sentence-transformers for semantic embeddings Custom RAG system with entity-aware chunking SQLite for persistence (projects, chat history, hypotheses) Frontend (TypeScript): React 18 + Vite for blazing-fast development react-force-graph for 2D/3D WebGL visualization Three.js for advanced 3D rendering with particles and curved edges Tailwind CSS + Lucide icons for modern UI Axios for API communication AI Integration: Claude 3.5 Sonnet for natural language processing Custom prompt engineering for hypothesis generation RAG architecture combining semantic search with graph context External APIs: PubMed E-utilities for paper search Google Scholar scraping for PDF discovery PMC and DOI resolution for full-text access
Challenges we ran into
1. Graph Performance: Visualizing 500+ nodes with real-time physics simulation tanked performance. We optimized by implementing WebGL rendering, reducing particle counts, and adding smart chunking for large graphs. 2. RAG Context Windows: Initially, RAG retrieved too much context, hitting Claude's token limits. We implemented entity-aware chunking that prioritizes relevant sections and semantic ranking to surface the best 7 chunks. 3. Real-time Progress Updates: Background jobs ran asynchronously, making it hard to show live progress. We implemented a polling system with granular status updates and persistent job tracking. 4. OAuth Token Expiration: During long research sessions (10+ minutes), Google OAuth tokens would expire mid-process, crashing the workflow. We implemented optional authentication for status endpoints and graceful error handling.
Accomplishments we're proud of
✅ End-to-end autonomous research pipeline - From query to knowledge graph in minutes, fully automated Production-quality RAG system - Semantic search + entity-aware retrieval with precise citations (paper + page) Stunning visualizations - 3D graphs with colored edges, animated particles, proper lighting, and smooth interactions rival commercial tools Full persistence layer - Chat history and hypotheses survive across sessions, making research continuity seamless Citation transparency - Every AI-generated answer links back to exact source documents and pages Graph-aware hypothesis generation - Discovery Lab analyzes both document content AND network structure to find insights humans might miss Real-time updates - Live progress tracking during agentic research (papers found, analyzed, entities extracted) Clean architecture - Modular, typed codebase with clear separation between services, ready for scale
What we learned
Technical: scispaCy's biomedical NER capabilities are incredible but require careful prompt engineering to maximize extraction quality WebGL force-directed graphs need careful optimization—curved edges, particles, and lighting all impact frame rates RAG isn't just "throw everything at the LLM"—entity-aware chunking and semantic ranking dramatically improve answer quality Background job management in FastAPI requires thoughtful state management and polling strategies Three.js lighting models make a huge difference in 3D visualization readability Research Domain: Biomedical research has VERY specific entity types (genes, proteins, diseases, drugs, pathways) PubMed's API is powerful but Google Scholar often has better PDF availability Relationship extraction is hard—co-occurrence is a decent baseline but pattern matching catches many more connections Researchers care deeply about citations and provenance—"trust but verify" is critical Product: Visual feedback is everything—users want to SEE progress, not just wait Persistence matters more than we thought—researchers return to projects over days/weeks The "magic moment" is when Discovery Lab surfaces a hypothesis the user hadn't considered Autonomous workflows need to show their work—users want to understand what the AI did
What's next
Expand Research Domains: Multi-domain NER models - Integrate specialized models for chemistry, physics, computer science, and social sciences beyond biomedicine Domain-adaptive entity extraction - Let users choose research domain (clinical, genomics, drug discovery) for optimized NER performance Custom entity training - Allow researchers to fine-tune models on their specific subdomain Enhanced Collaboration: Real-time multi-user editing - Multiple researchers annotating and discussing the same graph simultaneously via WebSockets Export to academic formats - BibTeX, RIS, EndNote, and auto-generated literature review sections with proper citations Author network analysis - Visualize collaboration patterns and identify key researchers in your field Smarter AI: Fine-tuned biomedical LLM - Train domain-specific model for better entity extraction and more accurate hypothesis generation Literature review generator - Auto-compose structured academic review sections from your knowledge graphs Experiment suggestions - Recommend methodologies and protocols based on successful papers in your graph Scale & Performance: PostgreSQL migration - Handle concurrent access and larger datasets efficiently Graph versioning - Track how your knowledge evolves over time with diff visualization Handle 10,000+ paper graphs - Streaming processing and smart pagination for massive research projects Our vision: Make AI-accelerated research accessible to every scientist, turning months of literature review into hours of insight discovery.
🧬 Empirica
Transform biomedical PDFs into interactive knowledge graphs with AI-powered insights
Empirica is a sophisticated research intelligence tool that ingests biomedical PDF documents and automatically generates interactive, force-directed knowledge graphs. Each PDF gets its own graph, which can be dynamically combined for multi-document analysis. Enhanced with RAG (Retrieval-Augmented Generation) and LLM-powered insights via Lava Payments + Anthropic Claude.
✨ Features
🎯 Core Capabilities
- Per-PDF Graph System - Each PDF gets its own knowledge graph
- Dynamic Graph Merging - Combine multiple PDF graphs by selection/deselection
- Named Entity Recognition - scispaCy-powered identification of biomedical entities
- Relationship Extraction - Pattern-based and co-occurrence analysis
- Interactive Visualization - 2D/3D force-directed graphs with smooth physics
- Advanced Analytics - Community detection, centrality analysis, graph statistics
🤖 AI-Powered Features
- RAG System - Document chunking, semantic indexing, and context retrieval
- Hypothesis Generation - LLM-powered research insights from your documents
- Conversational AI - Chat with your knowledge graph using natural language
- Evidence-Based Insights - All AI responses grounded in your source documents
- Lava Payments Integration - Usage-based billing for AI API calls
🚀 Advanced Features
- Smart PDF Management - Add/remove PDFs from existing projects
- PDF Selection - Toggle PDFs to dynamically update the merged graph
- Real-time Processing - Live progress tracking with background job processing
- Import/Export System - Full project state including RAG indices
- Multi-user Support - OAuth authentication with Google
- Persistent Storage - SQLite database with per-PDF graph storage
🎨 Beautiful UI
- Modern gradient design with dark theme
- Responsive layout for all screen sizes
- Smooth animations and transitions
- Interactive tooltips with evidence sentences
- Entity color-coding by type
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐
│ React + Vite │ HTTP │ FastAPI │
│ TypeScript │ ────▶ │ Python 3.9+ │
│ Tailwind CSS │ │ │
└─────────────────┘ └──────────────────┘
│ │
│ ▼
│ ┌──────────────────┐
│ │ NLP Pipeline │
│ │ - PyMuPDF │
│ │ - scispaCy │
│ │ - NetworkX │
│ └──────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Force Graph │ │ Graph Builder │
│ - 2D/3D Views │ ◀──── │ - Communities │
│ - Interactions │ JSON │ - Centrality │
└─────────────────┘ └──────────────────┘
🚀 Quick Start
Prerequisites
- Python 3.9+
- Node.js 18+
- npm or yarn
1. Clone Repository
git clone <your-repo-url>
cd calhacks
2. Backend Setup
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Download scispaCy model (this may take a few minutes)
pip install https://s3-us-west-2.amazonaws.com/ai2-s2-scispacy/releases/v0.5.4/en_ner_bionlp13cg_md-0.5.4.tar.gz
# Configure Lava Payments (required for AI features)
cat > .env << EOF
LAVA_SECRET_KEY=aks_live_...
LAVA_CONNECTION_SECRET=cons_live_...
LAVA_PRODUCT_SECRET=ps_live_...
ENABLE_LAVA=true
EOF
# Run backend server
uvicorn app.main:app --reload
Backend runs on http://localhost:8000
3. Frontend Setup
cd frontend
# Install dependencies
npm install
# Run development server
npm run dev
Frontend runs on http://localhost:5173
4. Open Browser
Navigate to http://localhost:5173 and start uploading PDFs!
📖 Usage
Basic Workflow
- Upload PDFs - Drag & drop biomedical PDF files
- Wait for Processing - Monitor real-time progress (NER, relationship extraction, graph building, RAG indexing)
- Explore Graph - Pan, zoom, click nodes to investigate
- Generate Hypotheses - Click "Generate Hypotheses" for AI-powered insights
- Chat with Graph - Ask questions about your documents in natural language
- Manage PDFs - Add/remove PDFs or toggle selection to update the graph
- Export/Import - Save full project state including RAG indices
Advanced Features
Per-PDF Graphs
- Each PDF gets its own knowledge graph stored separately
- Select/deselect PDFs to dynamically merge graphs
- Add new PDFs to existing projects
- Remove PDFs and their associated graph data
RAG-Enhanced AI
- Document Chunking: Smart sentence-aware chunking with entity tracking
- Semantic Search: Find relevant content using embeddings
- Graph-Aware Retrieval: Combine semantic similarity with graph connectivity
- Evidence-Based: All AI responses cite source documents
Graph Filtering
- Entity Types: Toggle specific biomedical entities
- PDF Selection: Show/hide graphs from specific PDFs
- Min Degree: Show only highly connected nodes
- Search: Find entities by name
View Modes
- 2D View: High performance, ideal for large graphs
- 3D View: Impressive visualization, better for presentations
- Labels Toggle: Show/hide node labels
🛠️ Tech Stack
Backend
- FastAPI - Modern async API framework
- PyMuPDF - High-performance PDF processing
- scispaCy - Biomedical NER (en_ner_bionlp13cg_md model)
- NetworkX - Graph algorithms and analysis
- sentence-transformers - RAG embeddings
- python-louvain - Community detection
- SQLAlchemy - Database ORM
- Anthropic Claude - LLM (via Lava Payments)
- Lava Payments - Usage-based AI billing
Frontend
- React 18 - UI library with hooks
- TypeScript - Type safety
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first styling
- react-force-graph - WebGL-powered graph rendering
- Recharts - Analytics visualizations
- Zustand - Lightweight state management
- Lucide React - Modern icon library
📊 API Endpoints
Projects
POST /api/projects- Create project & upload PDFsGET /api/projects- List user's projectsGET /api/projects/{id}- Get project detailsGET /api/projects/{id}/pdfs- List project PDFsGET /api/projects/{id}/graph- Get merged graph from selected PDFsDELETE /api/projects/{id}- Delete project
PDFs
POST /api/projects/{id}/pdfs- Add PDFs to existing projectDELETE /api/projects/{project_id}/pdfs/{pdf_id}- Remove PDF from projectPOST /api/projects/{id}/pdfs/selection- Update PDF selection status
AI Features (RAG-Enhanced)
POST /api/hypotheses- Generate research insightsPOST /api/chat- Chat with knowledge graph
Import/Export
POST /api/export- Export project with RAG indexPOST /api/import- Import project and restore RAG index
External Data
GET /api/pubmed/search- Search PubMedGET /api/clinicaltrials/search- Search ClinicalTrials.gov
Processing
GET /api/processing/{job_id}- Check processing status
🎯 Use Cases
Research Applications
- Literature Review - Discover connections across multiple papers
- Hypothesis Generation - Find unexpected relationships
- Drug Discovery - Identify drug-disease-gene interactions
- Biomarker Discovery - Explore disease-protein associations
Hackathon Tips
- Demo Impact - 3D visualization is visually impressive for judges
- Sample Data - Prepare biomedical PDFs beforehand
- Performance - Start with 2-5 PDFs for demos
- Analytics - Showcase community detection and centrality
- Export - Show data portability with exports
🧪 Development
Backend Development
cd backend
source venv/bin/activate
# Run with auto-reload
python -m app.main
# Or use uvicorn directly
uvicorn app.main:app --reload
Frontend Development
cd frontend
# Dev server with hot reload
npm run dev
# Type checking
npm run build
# Linting
npm run lint
Project Structure
calhacks/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI app
│ │ ├── config.py # Configuration
│ │ ├── models/ # Data models
│ │ │ ├── schemas.py # Pydantic models
│ │ │ └── database.py # SQLAlchemy models (per-PDF graphs)
│ │ └── services/ # Business logic
│ │ ├── pdf_processor.py # PDF text extraction
│ │ ├── ner_service.py # Named entity recognition
│ │ ├── relationship_extractor.py # Entity relationships
│ │ ├── graph_builder.py # NetworkX graph construction
│ │ ├── document_chunker.py # RAG document chunking
│ │ ├── rag_service.py # RAG indexing & retrieval
│ │ ├── content_insight_agent.py # Insight generation
│ │ ├── graph_agent.py # Conversational AI
│ │ ├── llm_service.py # LLM abstraction
│ │ ├── lava_service.py # Lava Payments integration
│ │ ├── pubmed_service.py # PubMed API
│ │ └── ctgov_service.py # ClinicalTrials.gov API
│ ├── uploads/ # PDF storage & RAG indices
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── Sidebar.tsx # Main navigation
│ │ │ ├── PDFSelector.tsx # PDF management
│ │ │ ├── ForceGraph2DView.tsx # 2D visualization
│ │ │ ├── ForceGraph3DView.tsx # 3D visualization
│ │ │ ├── ChatPanel.tsx # AI chat
│ │ │ └── ...
│ │ ├── services/ # API client
│ │ ├── store/ # Zustand state management
│ │ ├── types/ # TypeScript types
│ │ └── App.tsx
│ └── package.json
├── ARCHITECTURE.md # Detailed architecture docs
├── RAG_SYSTEM.md # RAG implementation details
├── LAVA_SETUP.md # Lava Payments setup guide
└── README.md # This file
🐛 Troubleshooting
Backend Issues
scispaCy model not found:
pip install https://s3-us-west-2.amazonaws.com/ai2-s2-scispacy/releases/v0.5.4/en_ner_bionlp13cg_md-0.5.4.tar.gz
CORS errors:
- Check
CORS_ORIGINSin backend.env - Ensure frontend URL is in allowed origins
Slow processing:
- Start with smaller PDFs
- Disable LLM extraction for faster processing
- Check system resources
Frontend Issues
Blank graph:
- Check browser console for errors
- Verify backend is running and accessible
- Check API URL in frontend
.env
Performance issues:
- Use 2D view for large graphs
- Apply filters to reduce node count
- Disable node labels when zoomed out
🚀 Deployment
Backend (Docker)
FROM python:3.9
WORKDIR /app
COPY backend/requirements.txt .
RUN pip install -r requirements.txt
COPY backend/ .
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
Frontend (Vercel/Netlify)
cd frontend
npm run build
# Deploy dist/ folder
🤝 Contributing
This is a hackathon project, but contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
MIT License - feel free to use this project for your hackathon or research!
🙏 Acknowledgments
- scispaCy - Biomedical NLP models
- NetworkX - Graph algorithms
- react-force-graph - Graph visualization
- FastAPI - API framework
📧 Contact
Built for CalHacks 2025 🐻
Happy Mapping! 🧬
Analysis
View
Metric
- 15
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- AWSClaimed
9 of 10 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
509 KB
Source files
56
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
jalenfran/empirica
65 files · 711 KB · @ 3814a7c
Structure
Interface
34 files · 52%Screens, components and styles rendered to the user.
Application logic
11 files · 17%Domain rules, services and shared utilities.
Data & schema
3 files · 5%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python54%
- TypeScript34%
- Markdown10%
- Shell1%
- CSS0%
- JavaScript0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 29- @react-oauth/google
- axios
- clsx
- jwt-decode
- lucide-react
- react
- react-dom
- react-dropzone
- react-force-graph-2d
- react-force-graph-3d
- react-hot-toast
- recharts
- three
- three-spritetext
- zustand
- +14 more
backend/requirements.txt
pypi · 25- aiofiles
- alembic
- anthropic
- beautifulsoup4
- fastapi
- httpx
- lxml
- networkx
- numpy
- pandas
- passlib[bcrypt]
- psycopg2-binary
- pydantic
- pydantic-settings
- PyMuPDF
- python-dotenv
- python-jose[cryptography]
- python-louvain
- +7 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
2D/3D force-directed graph visualizationVerified
Visualize genes, diseases, drugs, and their relationships in stunning 2D/3D force-directed graphs
Claimed on Devposthigh confidencefrontend/src/components/ForceGraph3DView.tsx:3— imports three-spritetext and THREE for 3D renderingfrontend/src/components/ForceGraph2DView.tsx— separate 2D force graph view component exists and is toggled in App.tsx
Agentic research workflow (PubMed search + Google Scholar PDF discovery + autonomous pipeline)Verified
Agentic Research Workflows: Turn on Agent Mode and watch Empirica autonomously search PubMed, discover papers via Google Scholar, download PDFs, extract entities, and build knowledge graphs
Claimed on Devposthigh confidencebackend/app/services/agentic_ai_service.py:41— autonomous_research orchestrates search, analyze, and graph-build stepsbackend/app/services/pubmed_service.py:16— search() hits PubMed E-utilities APIbackend/app/services/google_scholar_service.py:25— search() scrapes Google Scholar via requests+BeautifulSoup for PDF discovery
Claude 3.5 Sonnet LLM integration for NLP and hypothesis generationVerified
Claude 3.5 Sonnet for natural language processing; Custom prompt engineering for hypothesis generation
Claimed on Devposthigh confidencebackend/app/services/llm_service.py:31— instantiates anthropic.Anthropic client directly with API keybackend/app/services/llm_service.py:196— generate_insights() calls model='claude-3-5-sonnet-20241022'
Discovery Lab hypothesis generation with confidence scoresVerified
Discovery Lab: AI generates research hypotheses by analyzing graph structure and document content, showing confidence scores and supporting evidence
Claimed on Devposthigh confidencebackend/app/services/content_insight_agent.py:216— generate_insights() builds hypothesis dicts with a 'confidence' field derived from graph/document analysisfrontend/src/components/HypothesisBar.tsx:176— renders confidence percentage in the UI
Entity-aware document chunkingVerified
Document Chunking: Smart sentence-aware chunking with entity tracking; entity-aware chunking that prioritizes relevant sections
Claimed on Devposthigh confidencebackend/app/services/document_chunker.py:24— chunk_document() splits text with sentence overlapbackend/app/services/document_chunker.py:172— chunk_with_entities() attaches extracted entities to each chunk
Import/Export project state including RAG indicesVerified
Import/Export System - Full project state including RAG indices
Claimed on readmehigh confidencebackend/app/main.py:1680— export_project endpoint reads a pickled RAG index file and includes it in ProjectExportbackend/app/main.py:1761— import_project endpoint restores project data from JSON
Multi-user support with Google OAuth authenticationVerified
Multi-user Support - OAuth authentication with Google; FastAPI ... with OAuth 2.0 authentication
Claimed on readmehigh confidencebackend/app/services/auth_service.py:16— verify_google_token() validates tokens against Google's userinfo endpointbackend/app/services/auth_service.py:30— get_or_create_user() persists users keyed by Google account
NetworkX graph construction with community detection and centralityVerified
NetworkX for graph construction and analysis; Advanced Analytics - Community detection, centrality analysis, graph statistics
Claimed on readmehigh confidencebackend/app/services/graph_builder.py:157— uses community.community_louvain.best_partition for community detectionbackend/app/services/graph_builder.py:174— nx.betweenness_centrality computed for centrality analysis
PDF text extraction (PyMuPDF)Verified
PyMuPDF for PDF text extraction
Claimed on Devposthigh confidencebackend/app/services/pdf_processor.py:1— imports fitz (PyMuPDF)backend/app/services/pdf_processor.py:17— fitz.open(pdf_path) used to extract text and metadata
Per-PDF graph system with dynamic merging and selectionVerified
Per-PDF Graph System - Each PDF gets its own knowledge graph; Dynamic Graph Merging; PDF Selection - Toggle PDFs to dynamically update the merged graph
Claimed on readmehigh confidencebackend/app/main.py:596— POST /api/projects/{project_id}/select-pdfs endpoint to toggle PDF selectionbackend/app/services/graph_builder.py:235— merge_graphs() combines per-PDF entities/relationshipsfrontend/src/components/PDFSelector.tsx:45— togglePdfSelection wired to backend selection update
Persistent storage (SQLite) for projects, chat history, hypothesesVerified
SQLite for persistence (projects, chat history, hypotheses); Persistent Storage - SQLite database with per-PDF graph storage
Claimed on Devposthigh confidencebackend/app/config.py:12— default database_url is sqlite:///./synapse_mapper.dbbackend/app/main.py:1199— GET /api/projects/{project_id}/chat-history and hypotheses endpoints persist/retrieve from DB
PubMed and ClinicalTrials.gov external searchVerified
PubMed E-utilities for paper search; PMC and DOI resolution for full-text access
Claimed on Devposthigh confidencebackend/app/services/pubmed_service.py:12— base_url points to eutils.ncbi.nlm.nih.gov E-utilities APIbackend/app/main.py:1944— GET /api/clinicaltrials/search endpoint uses ClinicalTrialsService
Real-time progress tracking / polling for background jobsVerified
Real-time Processing - Live progress tracking with background job processing; polling system with granular status updates
Claimed on readmehigh confidencebackend/app/main.py:435— GET /api/status/{job_id} status polling endpointfrontend/src/components/AgenticAI.tsx:77— checkStatus() polls research status and fetches results
Relationship extraction (pattern-based and co-occurrence)Verified
Relationship Extraction - Pattern-based and co-occurrence analysis
Claimed on readmehigh confidencebackend/app/services/relationship_extractor.py:33— extract_cooccurrence_relationships implementedbackend/app/services/relationship_extractor.py:77— extract_pattern_relationships uses regex patterns for semantic relation extraction
Biomedical NER via scispaCyCode-supported
scispaCy for biomedical named entity recognition (80+ entity types)
Claimed on Devpostmedium confidencebackend/app/services/ner_service.py:13— loads spacy.load('en_ner_bionlp13cg_md') scispaCy model and extracts entitiesbackend/app/models/schemas.py:6— EntityType enum only defines about 9 categories (GENE_OR_GENE_PRODUCT, CHEMICAL, DISEASE, ORGANISM, CELL_TYPE, TISSUE, ORGAN, ENTITY, UNKNOWN), not the claimed 80+ entity types
RAG-enhanced chat with paper + page citationsCode-supported
RAG-Enhanced Chat: Ask questions and get answers with exact paper + page citations
Claimed on Devpostmedium confidencebackend/app/services/rag_service.py:270— prompt includes 'Excerpt from Document {doc_id}, Page {page}' giving paper+page context to the LLMbackend/app/services/graph_agent.py:113— chat() method assembles responses with a citations field populated from graph edge/node evidence, not from true semantic RAG retrieval
Lava Payments integration for usage-based AI billingClaimed only
Lava Payments Integration - Usage-based billing for AI API calls; Enhanced with ... LLM-powered insights via Lava Payments + Anthropic Claude
Claimed on readmehigh confidenceSemantic embeddings / sentence-transformers RAG searchClaimed only
sentence-transformers for semantic embeddings; RAG System - Document chunking, semantic indexing, and context retrieval; Semantic Search - Find relevant content using embeddings
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.