AskDocs AI is a smart chatbot that answers questions based on your documents. Using retrieval-augmented generation (RAG) techniques, it extracts relevant information from PDFs, Word files, and more, delivering quick, accurate answers to help you save time and access key insights effortlessly.
TypeScript
1
7 commits
updated Sep 30, 2026
A local-first, lightweight document interaction application similar to NotebookLM. Upload documents and interact with them through Q&A, summaries, flashcards, and quizzes—all running locally on your machine.
Clone or download this repository
Install dependencies:
pip install -r requirements.txt
Run the application:
python app.py
Bind to the platform-provided port and expose health/webhook endpoints:
python server.py # runs FastAPI on PORT or 5000
On Render/Heroku, ensure the process binds to $PORT.
# Download models for offline use
python manage.py download-models
# Rebuild vector index from documents
python manage.py rebuild_index
# Backup vector DB and sessions
python manage.py backup --out ./data/backups
http://localhost:7860That's it! The application will run locally with default settings.
.pdf) - Text extraction from PDF files.docx) - Full text extraction.pptx, .ppt) - Slide content extraction.txt) - Plain text files.md, .markdown) - Markdown documents.csv) - Tabular data.html, .htm) - Web pagesThe application is organized into modular components:
AskDocs-AI/
├── app.py # Main entry point
├── config.py # Configuration management
├── ui.py # Gradio UI interface
├── document_manager.py # Document processing and storage
├── vector_store.py # ChromaDB vector database
├── qa_engine.py # Question answering engine
├── summarizer.py # Document summarization
├── flashcard_generator.py # Flashcard generation
├── quiz_generator.py # Quiz generation
├── text_processor.py # Text chunking and processing
└── parsers/ # Document parsers
├── document_parser.py
├── pdf_parser.py
├── docx_parser.py
├── pptx_parser.py
├── text_parser.py
├── markdown_parser.py
├── csv_parser.py
└── html_parser.py
Create a .env file (optional) to customize settings:
# Embedding model (local, no API key needed)
EMBEDDING_MODEL=all-MiniLM-L6-v2
# Language model (local)
LLM_MODEL=google/flan-t5-base
# Storage paths
DATA_DIR=./data
DOCUMENTS_DIR=./data/documents
VECTOR_DB_PATH=./data/vector_db
# UI settings
UI_TITLE=AskDocs AI
UI_PORT=7860
UI_DEBUG=false
Note: No API keys are required! The application runs entirely locally using open-source models.
./data/ directoryThe modular architecture makes it easy to:
parsers/summarizer.pyqa_engine.py with different modelsui.py with new tabs or componentspip install -r requirements.txt)UI_PORT in .env or kill the process using port 7860config.py or use a smaller embedding modelCheck app.log for detailed error messages and debugging information.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
AskDocs AI is a smart chatbot that answers questions based on your documents. Using retrieval-augmented generation (RAG) techniques, it extracts relevant information from PDFs, Word files, and more, delivering quick, accurate answers to help you save time and access key insights effortlessly.
TypeScript
1
7 commits
updated Sep 30, 2026
A local-first, lightweight document interaction application similar to NotebookLM. Upload documents and interact with them through Q&A, summaries, flashcards, and quizzes—all running locally on your machine.
Clone or download this repository
Install dependencies:
pip install -r requirements.txt
Run the application:
python app.py
Bind to the platform-provided port and expose health/webhook endpoints:
python server.py # runs FastAPI on PORT or 5000
On Render/Heroku, ensure the process binds to $PORT.
# Download models for offline use
python manage.py download-models
# Rebuild vector index from documents
python manage.py rebuild_index
# Backup vector DB and sessions
python manage.py backup --out ./data/backups
http://localhost:7860That's it! The application will run locally with default settings.
.pdf) - Text extraction from PDF files.docx) - Full text extraction.pptx, .ppt) - Slide content extraction.txt) - Plain text files.md, .markdown) - Markdown documents.csv) - Tabular data.html, .htm) - Web pagesThe application is organized into modular components:
AskDocs-AI/
├── app.py # Main entry point
├── config.py # Configuration management
├── ui.py # Gradio UI interface
├── document_manager.py # Document processing and storage
├── vector_store.py # ChromaDB vector database
├── qa_engine.py # Question answering engine
├── summarizer.py # Document summarization
├── flashcard_generator.py # Flashcard generation
├── quiz_generator.py # Quiz generation
├── text_processor.py # Text chunking and processing
└── parsers/ # Document parsers
├── document_parser.py
├── pdf_parser.py
├── docx_parser.py
├── pptx_parser.py
├── text_parser.py
├── markdown_parser.py
├── csv_parser.py
└── html_parser.py
Create a .env file (optional) to customize settings:
# Embedding model (local, no API key needed)
EMBEDDING_MODEL=all-MiniLM-L6-v2
# Language model (local)
LLM_MODEL=google/flan-t5-base
# Storage paths
DATA_DIR=./data
DOCUMENTS_DIR=./data/documents
VECTOR_DB_PATH=./data/vector_db
# UI settings
UI_TITLE=AskDocs AI
UI_PORT=7860
UI_DEBUG=false
Note: No API keys are required! The application runs entirely locally using open-source models.
./data/ directoryThe modular architecture makes it easy to:
parsers/summarizer.pyqa_engine.py with different modelsui.py with new tabs or componentspip install -r requirements.txt)UI_PORT in .env or kill the process using port 7860config.py or use a smaller embedding modelCheck app.log for detailed error messages and debugging information.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.