Recommendica: AI Research Paper Recommendation Agent with Multi-Turn Query Expansion
- Multi-turn Relevance Agent evaluates and dynamically rewrites queries to maximize result quality
- Live arXiv API integration ensures coverage of latest research not yet in local databases
- Parallel generation workers enable low-latency responses for complex queries
- Pay-what-you-want donation model through Paddle supports sustainable operation
- Deterministic verification metrics prevent hallucination and ensure answer faithfulness
The Challenge: Why Recommendica Was Built
Traditional semantic search systems for academic papers suffer from two critical flaws: they return top-K results regardless of actual relevance, and they’re limited by static local datasets. This leads to:
- Hallucinated citations when RAG systems reference irrelevant papers
- Missed discoveries from recent arXiv preprints not yet indexed
- Wasted API costs processing clearly off-topic queries
Recommendica solves these through an active Relevance Agent that dynamically refines searches and a live arXiv fallback that supplements local results when coverage is insufficient.
Core Architecture & Technical Stack
Service Orchestration
The system combines Django for business logic with React for the responsive frontend:
┌─────────────────┐ HTTP/SSE ┌─────────────────┐
│ React Frontend │ ◄─────────────► │ Django REST API │
└─────────────────┘ └────────┬────────┘
│
┌───────────────┼────────────────┐
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────┐ ┌─────────────┐
│ ChromaDB Vector DB │ │ Paddle Billing│ │ arXiv API │
└─────────────────────┘ └─────────────┘ └─────────────┘
Parallel Generation Engine
To optimize latency and cost:
- Documents partitioned into groups (default: 5 papers per chunk)
- Parallel workers (default: 3) process chunks concurrently
- Results collated and streamed in original query order
Key Features Breakdown
Multi-Turn Relevance Agent
The agent operates through an iterative loop:
- Initial vector search retrieves candidate papers
- LLM grades each on 0.0-1.0 relevance scale
- If insufficient papers meet threshold (default: 0.5 score):
- Analyzes rejection patterns
- Dynamically rewrites query
- Executes secondary search (max 2 iterations)
Live arXiv Fallback System
When local results are inadequate:
- Circuit breaker checks API status
- Rate limiter enforces 3s minimum request interval
- Results tagged with
meta.source="arxiv_api" - Failure tracking triggers 5-minute cooldown after 3 consecutive errors
Real-World Use Cases
- Literature Review Acceleration: PhD candidates identifying foundational papers with precise relevance filtering
- Citation Synthesis: Automated generation of survey papers with verified source adherence
- Research Discovery: Industry labs discovering cutting-edge preprints through the arXiv fallback
How It Works: Step-by-Step Workflow
- Query Validation: Rejects empty/chitchat inputs while failing open on system errors
- Initial Retrieval: Hybrid search combining dense vectors and BM25
- Relevance Grading: LLM evaluates each candidate against original query intent
- Dynamic Expansion: Rewrites queries when relevant papers < AGENT_MIN_RELEVANT_DOCS (default: 3)
- Fallback Activation: Live arXiv query when local results remain insufficient
- Verification: Computes faithfulness_score before final response
Comparison: Recommendica vs Traditional Approaches
| Feature | Traditional Search | Recommendica |
|---|---|---|
| Result Relevance | Static top-K results | Dynamically graded & filtered |
| Coverage | Limited to local database | Live arXiv fallback integration |
| Query Processing | Single-pass retrieval | Multi-turn agentic refinement |
| Verification | None | Faithfulness scoring & source audits |
Frequently Asked Questions (FAQ)
How does the Relevance Agent prevent hallucination?
The agent performs three-stage verification: 1) Pre-retrieval query validation, 2) Document-level relevance grading (0.0-1.0), and 3) Post-generation faithfulness scoring against source texts.
What happens when the arXiv API is unavailable?
The circuit breaker opens after 3 failures, skipping live queries for 300 seconds. The system continues with locally available papers while showing coverage warnings.
How are Paddle donations processed securely?
All webhooks are verified via Paddle-Signature headers, with idempotent database updates preventing duplicate or out-of-order transaction processing.
Conclusion & Next Steps
Recommendica represents a paradigm shift in academic search by combining agentic refinement with live data integration. The system is currently available at recommendica.nevatal.tech, with the pay-what-you-want model ensuring sustainable access for researchers worldwide.
For developers interested in the technical implementation, the architecture demonstrates several best practices including:
- Graceful degradation through circuit breakers
- Parallel processing of semantic chunks
- Deterministic verification metrics
Leave a Reply