How priyanshuvijay1402/ai-powered-research-assistant works
The product is a web-based personal research assistant: a user submits a topic, the CrewAI workflow refines it, retrieves arXiv papers, summarizes them, and formats a report for display. The frontend and Flask request path are explicit in source. The README and task descriptions document arXiv retrieval, but the implementation of that integration is not shown. Also, importing main.py runs a CLI prompt and crew before the Flask server can start, which may interfere with the documented web workflow.
Main entry points: main.py Crew orchestrator · agents.py Agent definitions · server.py Flask server · script.js Research form
Components 12
Web interface
- Research form
frontend/script.js - Flask server
server.py
Research workflow
- Crew orchestrator
main.py - Query interpretation
main.py - Paper retrieval
main.py - Paper summarization
main.py - Report formatting
main.py - Agent definitions
agents.py
External services
- ChatLiteLLM
agents.py - OpenRouter
- arXiv
Other components
- Researcher
Connections 21
- Researcher → Research form: enters topic
- Research form → Flask server: posts topic
- Flask server → Research form: serves assets
- Flask server → Crew orchestrator: starts workflow
- Crew orchestrator → Query interpretation: runs task
- Crew orchestrator → Paper retrieval: runs task
- Crew orchestrator → Paper summarization: runs task
- Crew orchestrator → Report formatting: runs task
- Paper retrieval → Query interpretation: uses context
- Paper summarization → Paper retrieval: uses context
- Report formatting → Paper summarization: uses context
- Agent definitions → Query interpretation: configures agent
- Agent definitions → Paper retrieval: configures agent
- Agent definitions → Paper summarization: configures agent
- Agent definitions → Report formatting: configures agent
- Agent definitions → ChatLiteLLM: configures model
- ChatLiteLLM → OpenRouter: sends prompts
- Paper retrieval → arXiv: searches papers
- Crew orchestrator → Flask server: returns report
- Flask server → Research form: returns response
- Research form → Researcher: shows response