ScholAR is an AI-powered research assistant built as a Kalvium capstone project. It combines RAG, multi-persona prompting, and chain-of-thought reasoning to help researchers and students manage complex research workflows.
- Literature Reviewer: Comprehensive paper analysis and synthesis
- Data Analyst: Statistical interpretation and visualization
- Citation Manager: Automated formatting and validation
- Writing Assistant: Academic writing support and editing
- Automatic temperature adjustment based on task type
- Context-aware response length optimization
- Domain-specific parameter profiles
- Standardized research summaries (Abstract, Findings, Methodology)
- Multi-format citations (APA, MLA, Chicago, IEEE)
- JSON metadata for reference managers
- Personal knowledge base creation and management
- Cross-document intelligent querying
- Automatic knowledge linking and synthesis
- Node.js 16+
- An LLM API key (OpenAI or compatible)
- Clone the repository
git clone https://github.com/Uday9909/scholAR.git
cd scholAR- Install dependencies
npm install- Configure environment variables
cp .env.example .env
# Add your API keys to .env- Start the app
npm run devconst response = await assistant.query({
question: "What are recent developments in quantum computing?",
persona: "literature_reviewer",
output_format: "structured_summary"
});const insights = await assistant.ragQuery({
question: "How do quantum algorithms compare to classical ones?",
sources: ["personal_library"]
});┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Frontend │ │ API Gateway │ │ AI Engine │
│ (React) │◄──►│ (Express) │◄──►│ (LangChain) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
┌──────────────────┐ ┌─────────────────┐
│ Vector DB │ │ Function │
│ (Pinecone) │ │ Registry │
└──────────────────┘ └─────────────────┘
Located in config/prompts/, customize AI personas:
literature_reviewer:
system_prompt: "You are an expert academic literature reviewer..."
temperature: 0.3
max_tokens: 2000embedding_model: "text-embedding-ada-002"
chunk_size: 1000
overlap: 200
similarity_threshold: 0.75- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add your feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
- LangChain for the AI application framework
- OpenAI for GPT models and embeddings
Built by Udaybir Singh