Skip to content

open-biz/OpenBookLM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

142 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 OpenBookLM: Democratizing Learning with AI 🌟

Contributors Forks Stargazers Issues MIT License

Logo

OpenBookLM: Revolutionizing Content Comprehension

Unlock the power of AI-driven learning with our open-source platform πŸš€
Explore the docs Β»

View Demo Β· Report Bug Β· Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Freemium Model & Guest Mode
  4. Future Optimizations
  5. Contributing
  6. License
  7. Contact

About The Project

OpenBookLM Screen Shot

"OpenBookLM is a game-changer in the education sector, providing an open-source platform for AI-driven learning experiences." πŸŽ“πŸŒ

Concept πŸ“–

OpenBookLM is designed to bridge the gap between traditional learning methods and modern AI-driven approaches. Our platform empowers users to create and share interactive, audio-based courses, while leveraging the power of AI for enhanced learning experiences.

Target Audience 🎯

  • Students πŸ“š

    • High school and university students
    • Graduate researchers
    • Academic professionals
  • Lifelong Learners 🧠

    • Self-directed learners
    • Professional development enthusiasts
    • Knowledge seekers

Key Features ✨

Open Source Framework πŸ”“

  • Integration with various AI models
  • Flexible and customizable architecture
  • Community-driven development

Audio Course Creation 🎧

  • Create and share educational podcasts
  • Multilingual text-to-audio generation using Suno bark
  • High-quality audio content management

Collaborative Learning 🌍

  • Forum-like community system
  • Course rating and refinement
  • Knowledge sharing platform

Multilingual Support 🌐

  • Overcome English-only limitations
  • Support for multiple languages
  • Inclusive learning environment

System Architecture

graph TD
    subgraph Client
        UI[Next.js Frontend]
        Auth[Better Auth]
    end

    subgraph Server
        API[Next.js API Routes]
        LLM[LLM Python Service]
        Cache[Redis Cache]
    end

    subgraph Database
        PG[(PostgreSQL)]
        Prisma[Prisma ORM]
    end

    subgraph External
        Cerebras[Cerebras API]
        Sources[External Sources]
    end

    UI --> Auth
    UI --> API
    API --> LLM
    API --> Cache
    API --> Prisma
    Prisma --> PG
    LLM --> Cerebras
    LLM --> Sources
Loading

Built With

  • Next (v16+)
  • React (v19)
  • Bun
  • TypeScript
  • Tailwind
  • Prisma
  • PostgreSQL

Freemium Model & Guest Mode πŸ†“

OpenBookLM operates on a freemium model. We believe education should be accessible to everyone immediately. Users can access the site and utilize "Guest Mode" without the friction of signing up. Guest users are assigned temporary identities using cookies and receive a limited pool of credits for audio generation, document processing, and context tokens. Once they see the value, they can easily sign in via GitHub to unlock higher limits and persistent storage via Better Auth.

Future Optimizations ⚑

As OpenBookLM scales, there are several architectural paths we plan to explore to maximize speed and lower compute costs:

1. High-Performance Backend (Rust / Go)

Currently, our heavy text-to-audio and PDF parsing tasks are handled by a Python backend. Rewriting these specific, CPU-intensive microservices in Rust or Go could drastically reduce our memory footprint and execution time, allowing us to serve more concurrent users on cheaper hardware.

2. WebAssembly (Wasm) Integration

Certain parsing tasks, document vectorization, and local token counting can be shifted directly to the user's browser using WebAssembly. By compiling Rust/C++ libraries into Wasm, we can offload compute from our servers to the client, making the application feel instantaneous and significantly reducing our cloud hosting costs.

3. Edge Computing & Aggressive Caching

Leveraging Redis at the edge and pushing static LLM summaries to CDNs can ensure that repeated queries (like summarizing popular open-source books) are served in single-digit milliseconds worldwide.

Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

  • Node.js (v20 or later)
  • Bun
    curl -fsSL https://bun.sh/install | bash
  • Python (3.12 or later)
  • Docker & Docker Compose (for DB and Redis)

Installation

  1. Clone the repository
    git clone https://github.com/open-biz/OpenBookLM.git
  2. Install dependencies
    bun install
  3. Set up Python environment
    ./setup/create_venv.sh
    source venv/bin/activate
    pip install -r requirements.txt
  4. Set up environment variables
    cp .env.example .env
  5. Start local services (Postgres & Redis)
    docker compose up -d db redis
  6. Sync your database schema
    bunx prisma db push
  7. Start the development server
    bun dev

(back to top)

Usage

  1. Create a Notebook: Start by creating a new notebook for your study topic (Guests can do this instantly!)
  2. Add Sources: Upload URLs, documents, or other study materials
  3. Take Notes: Use the AI-powered interface to take and organize notes
  4. Study & Review: Engage with your materials through interactive features
  5. Share & Collaborate: Join the community and share your knowledge

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please see our CONTRIBUTING.md file for detailed guidelines on how to fork the repository, structure your branches, format your pull requests, and start building!

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Project Link: https://github.com/open-biz/OpenBookLM

(back to top)

About

Open Source alternative to NoteBookLM from Google

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors