/quivr

Your GenAI Second Brain 🧠 A personal productivity assistant (RAG) ⚡️🤖 Chat with your docs (PDF, CSV, ...) & apps using Langchain, GPT 3.5 / 4 turbo, Private, Anthropic, VertexAI, Ollama, LLMs, that you can share with users ! Local & Private alternative to OpenAI GPTs & ChatGPT powered by retrieval-augmented generation

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Quivr - Your Second Brain, Empowered by Generative AI

Quivr-logo

Discord Follow GitHub Repo stars Twitter Follow

Quivr, your second brain, utilizes the power of GenerativeAI to be your personal assistant ! Think of it as Obsidian, but turbocharged with AI capabilities.

Roadmap here

Key Features 🎯

  • Fast and Efficient: Designed with speed and efficiency at its core. Quivr ensures rapid access to your data.
  • Secure: Your data, your control. Always.
  • OS Compatible: Ubuntu 22 or newer.
  • File Compatibility: Text, Markdown, PDF, Powerpoint, Excel, CSV, Word, Audio, Video
  • Open Source: Freedom is beautiful, and so is Quivr. Open source and free to use.
  • Public/Private: Share your brains with your users via a public link, or keep them private.
  • Marketplace: Share your brains with the world, or use other people's brains to boost your productivity.
  • Offline Mode: Quivr works offline, so you can access your data anytime, anywhere.

Demo Highlights 🎥

quivr-demo-new.mp4

Getting Started 🚀

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

You can find everything on the documentation.

Prerequisites 📋

Ensure you have the following installed:

  • Docker
  • Docker Compose

60 seconds Installation 💽

You can find the installation video here.

  • Step 1: Clone the repository:

    git clone https://github.com/StanGirard/Quivr.git && cd Quivr
  • Step 2: Copy the .env.example files

    cp .env.example .env
  • Step 3: Update the .env files

    vim .env # or emacs or vscode or nano

    Update OPENAI_API_KEY in the .env file.

    You just need to update the OPENAI_API_KEY variable in the .env file. You can get your API key here. You need to create an account first. And put your credit card information. Don't worry, you won't be charged unless you use the API. You can find more information about the pricing here.

    Want to use Ollama.ai instead? Uncomment the following lines in the .env file: OLLAMA_API_BASE_URL Run the following command to start Ollama: ollama run llama2 You can find more information about Ollama here.

  • Step 4: Launch the project

    docker compose pull
    docker compose up --build # if OPENAI
    # docker compose -f docker-compose-ollama.yml up --build  # Only if using Ollama. You need to run `ollama run llama2` first.

    If you have a Mac, go to Docker Desktop > Settings > General and check that the "file sharing implementation" is set to VirtioFS.

    If you are a developer, you can run the project in development mode with the following command: docker compose -f docker-compose.dev.yml up --build

  • Step 5: Login to the app

    Connect to the supabase database at http://localhost:8000/project/default/auth/users with the following credentials: admin/admin in order to create new users. Auto-confirm the email.

    You can now sign in to the app with your new user. You can access the app at http://localhost:3000/login.

    You can access Quivr backend API at http://localhost:5050/docs

Updating Quivr 🚀

  • Step 1: Pull the latest changes

    git pull
  • Step 2: Use the migration.sh script to run the migration scripts

    chmod +x migration.sh # You need to install Gum & postgresql (brew install gum for example)
    ./migration.sh
    # Select  2) Run migrations

    Alternatively, you can run the script on the Supabase database via the web interface (SQL Editor -> New query -> paste the script -> Run)

    All the scripts can be found in the scripts folder

Contributors ✨

Thanks go to these wonderful people:

Contribute 🤝

Did you get a pull request? Open it, and we'll review it as soon as possible. Check out our project board here to see what we're currently focused on, and feel free to bring your fresh ideas to the table!

Partners ❤️

This project would not be possible without the support of our partners. Thank you for your support!

Theodo

License 📄

This project is licensed under the Apache 2.0 License - see the LICENSE file for details

Stars History 📈

Star History Chart