Major Changes: - Implemented notebook-first architecture (multi-document collections) - Added user authentication and multi-tenancy - Created comprehensive database schema (7 tables) - Built complete notebook management system - Implemented notebook-level chat across multiple documents - Added podcast generation from notebooks - Implemented notebook sharing with permissions - Fixed MCP server crashes by bypassing for document processing - Added all enterprise features requested New Features: - User login/signup with bcrypt password hashing - Create/edit/delete notebooks - Upload multiple PDFs to notebooks - Add documents to existing notebooks - Chat across all documents in a notebook - Generate podcasts from entire notebooks - Share notebooks with other users - View shared notebooks - Persistent chat history per notebook - Document summaries, Q&A, and highlights Technical Improvements: - PostgreSQL database with SQLAlchemy ORM - Connection pooling and proper cleanup - Bypassed buggy MCP server for document processing - Direct LlamaCloud API calls for reliability - Proper CASCADE deletes - Session management - Error handling and logging Documentation: - ENTERPRISE_SETUP.md - Setup guide - IMPLEMENTATION_SUMMARY.md - Technical details - SIMPLIFIED_PLAN.md - Architecture overview - CURRENT_STATUS.md - Status and known issues - FINAL_README.md - User guide 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| data/test | ||
| src/notebookllama | ||
| tests | ||
| tools | ||
| .DS_Store | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| compose.yaml | ||
| CONTRIBUTING.md | ||
| CURRENT_STATUS.md | ||
| ENTERPRISE_SETUP.md | ||
| FINAL_README.md | ||
| IMPLEMENTATION_SUMMARY.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| README_ENTERPRISE.md | ||
| server.log | ||
| SIMPLIFIED_PLAN.md | ||
| start.sh | ||
| uv.lock | ||
| watch_server.sh | ||
NotebookLlaMa🦙
A fluffy and open-source alternative to NotebookLM!
https://github.com/user-attachments/assets/7e9cca45-8a4c-4dfa-98d2-2cef147422f2
This project is aimed at producing a fully open-source, LlamaCloud-backed alternative to NotebookLM.
Prerequisites
This project uses uv to manage dependencies. Before you begin, make sure you have uv installed.
On macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
On Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
For more install options, see uv's official documentation.
Get it up and running!
Get the GitHub repository:
git clone https://github.com/run-llama/notebookllama
Install dependencies:
cd notebookllama/
uv sync
Modify the .env.example file with your API keys:
OPENAI_API_KEY: find it on OpenAI PlatformELEVENLABS_API_KEY: find it on ElevenLabs SettingsLLAMACLOUD_API_KEY: find it on LlamaCloud Dashboard
Rename the file to .env:
mv .env.example .env
Now, you will have to execute the following scripts:
uv run tools/create_llama_extract_agent.py
uv run tools/create_llama_cloud_index.py
And you're ready to set up the app!
Launch Postgres and Jaeger:
docker compose up -d
Run the MCP server:
uv run src/notebookllama/server.py
Now, launch the Streamlit app:
streamlit run src/notebookllama/Home.py
Important
You might need to install
ffmpegif you do not have it installed already
And start exploring the app at http://localhost:8751/.
Contributing
Contribute to this project following the guidelines.
License
This project is provided under an MIT License.