AI-powered academic paper synthesis tool
Project description
LitAI
AI-powered literature review assistant that understands your research questions and automatically finds papers, extracts insights, and synthesizes findings - all through natural conversation.
Why LitAI?
LitAI accelerates your research by turning hours of paper reading into minutes of focused insights:
- Find relevant papers fast: Natural language search across millions of papers
- Extract key insights: AI reads papers and pulls out claims with evidence
- Synthesize findings: Ask questions across multiple papers and get cited answers
- Build your collection: Manage PDFs locally with automatic downloads from ArXiv
Perfect for:
- Literature reviews for research papers
- Understanding a new field quickly
- Finding solutions to technical problems
- Discovering contradictions in existing work
- Building comprehensive reading lists
💡 Tip: Use the /questions command to see research unblocking questions organized by phase - from debugging experiments to contextualizing results.
Installation
Prerequisites
- Python 3.11 or higher
- API key for OpenAI or Anthropic
Install with pip or uv
# Using pip
pip install litai-research
# Using uv (faster)
uv pip install litai-research
Configuration
Set your API key as an environment variable:
# For OpenAI
export OPENAI_API_KEY=sk-...
# For Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
Advanced Configuration
Configure LitAI using the /config command:
# Show current configuration
/config show
# Set provider and model
/config set llm.provider openai
/config set llm.model gpt-4o-mini
# Reset to auto-detection
/config reset
Configuration is stored in ~/.litai/config.json and persists across sessions.
Quick Start
Launch the interactive interface:
litai
Two Ways to Use LitAI
→ Natural Language Mode (Recommended)
Just ask questions and let AI handle everything. Follow this workflow:
litai
# Step 1: Find papers (builds search results)
> Find papers about vision transformers
# Step 2: Add papers from search results to your collection
> Add the "Attention Is All You Need" paper to my collection
# Step 3: Analyze papers in your collection
> What are the key findings in the BERT paper?
# Step 4: Synthesize across your collection
> How does ViT compare to CNN methods in my papers?
The AI will automatically:
- Search for relevant papers
- Download and read PDFs
- Extract key insights
- Synthesize findings across multiple sources
- Provide citations for all claims
→ Command Mode
For precise control over specific operations:
View Command Reference
# Search for papers
> /find attention mechanisms for computer vision
# Add papers to your collection (by search result number)
> /add 1 3 5
# List papers in your collection
> /list
# Extract key points from a paper
> /distill 1
# Synthesize multiple papers
> /synthesize Compare transformer and CNN architectures
# Clear the screen
> /clear
Features
Paper Discovery
- Natural language search via Semantic Scholar API
- View abstracts and metadata before adding to collection
Paper Management
- Build a local collection of research papers
- Automatic PDF download from ArXiv
- Duplicate detection and organized storage
AI-Powered Analysis
- Extract key claims with supporting evidence
- Automatic section references and quotes
- Generate comprehensive literature reviews
- Proper inline citations (Author et al., Year)
Natural Language Interface
- Chat-based interaction for complex queries
- Context-aware conversations about your research
- Multi-paper analysis and comparison
Data Storage
LitAI stores all data locally in ~/.litai/:
litai.db- SQLite database with paper metadata and extractionspdfs/- Downloaded PDF fileslogs/- Application logs for debugging
Development
Project Structure
litai/
├── src/litai/
│ ├── cli.py # Command-line interface
│ ├── database.py # Data persistence layer
│ ├── llm.py # LLM client (OpenAI/Anthropic)
│ ├── papers.py # Paper search and management
│ ├── pdf.py # PDF processing
│ ├── synthesis.py # Literature synthesis
│ └── tools.py # Extraction tools
├── tests/ # Test suite
├── docs/ # Documentation
└── pyproject.toml # Project configuration
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=litai
# Run specific test file
pytest tests/test_papers.py
FAQ
Why do paper searches sometimes fail?
Semantic Scholar's public API can experience high load, leading to search failures. If you encounter frequent issues:
- Wait a few minutes and try again
- Consider requesting a free API key for higher rate limits: Semantic Scholar API Key Form
License
This project is open source and available under the MIT License.
Acknowledgments
- Built with Semantic Scholar API
- Powered by OpenAI/Anthropic language models
Support
- Report issues: GitHub Issues
- Logs for debugging:
~/.litai/logs/litai.log
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file litai_research-0.1.1.tar.gz.
File metadata
- Download URL: litai_research-0.1.1.tar.gz
- Upload date:
- Size: 59.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db10e956195065fe88e943ab449bb696d4fccd0ba9e62a6301cde2c6d9782ed7
|
|
| MD5 |
291773c86d8ea30a08119fc85515dac9
|
|
| BLAKE2b-256 |
453d607f0844540a44e586d5a580735e4a2a2fe877825a87d125eb364f5db045
|
File details
Details for the file litai_research-0.1.1-py3-none-any.whl.
File metadata
- Download URL: litai_research-0.1.1-py3-none-any.whl
- Upload date:
- Size: 52.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08f116adc1619b226337d67e7a150d004e674ed576cfeabca071075d22349033
|
|
| MD5 |
ac6a4816d55caded1f64b352fceb7837
|
|
| BLAKE2b-256 |
8f1f86cfbab08d740ef084196de464c6210b8d243a96700c353cdce422980b2d
|