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
Go to file
Stan Girard 37793d549a
feat: Improve file loading logic in File model (#2861)
The code changes in `files.py` improve the file loading logic in the
File model. The `load()` method now returns the loaded content, which is
then assigned to the `documents` variable. Additionally, the logger now
includes information about the loaded documents.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:10:14 -07:00
.github feat: Add OPENAI_API_KEY to backend-core-tests.yml 2024-07-09 18:48:07 +02:00
.vscode Feat/auth-playground (#2605) 2024-05-21 13:20:35 -07:00
backend feat: Improve file loading logic in File model (#2861) 2024-07-15 03:10:14 -07:00
cms/quivr chore(strapi): Update package.json with license and author information 2024-02-07 11:06:49 -08:00
docs docs(security): added compliance (#2621) 2024-05-27 06:59:17 -07:00
frontend chore: trigger preview 2024-07-12 17:46:02 +02:00
.env.example refacto(backend): poetry package manager and chat route refactoring (#2684) 2024-06-26 00:58:55 -07:00
.flake8 Feat: chat name edit (#343) 2023-06-20 09:54:23 +02:00
.gitignore feat: Add Quivr chatbot example (#2827) 2024-07-10 12:42:49 -07:00
.pre-commit-config.yaml feat(precommit): Update pre-commit hooks to latest versions (#2823) 2024-07-09 10:33:45 -07:00
.release-please-manifest.json chore(main): release 0.0.283 (#2851) 2024-07-12 08:57:47 -07:00
CHANGELOG.md chore(main): release 0.0.283 (#2851) 2024-07-12 08:57:47 -07:00
docker-compose.dev.yml feat(backend): quivr-monorepo and quivr-core package (#2765) 2024-06-27 03:51:01 -07:00
docker-compose.yml feat: add megaparse (#2785) 2024-07-04 02:23:15 -07:00
LICENSE Update license to include enterprise features (#2653) 2024-06-10 09:42:14 -07:00
logo.png [ImgBot] Optimize images (#2568) 2024-05-09 07:16:31 -07:00
Makefile feat: Add bulk_id field to CreateNotification and Notification models (#2850) 2024-07-12 01:51:27 -07:00
README.md Update README.md (#2660) 2024-06-11 16:15:03 +02:00
release-please-config.json chore: release please updated manifest 2024-07-09 16:38:36 +02:00
renovate.json chore(config): migrate renovate config (#2838) 2024-07-11 01:33:50 -07:00
vercel.json Revert "feat: 🎸 posthog (#1945)" 2024-01-02 10:23:40 +01:00

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 🎥

https://github.com/quivrhq/quivr/assets/19614572/a6463b73-76c7-4bc0-978d-70562dca71f5

Getting Started 🚀

You can deploy Quivr to Porter Cloud with one-click:

Deploy to Porter

If you would like to deploy locally, 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 0: Supabase CLI

    Follow the instructions here to install the Supabase CLI that is required.

    supabase -v # Check that the installation worked
    
  • Step 1: Clone the repository:

    git clone https://github.com/quivrhq/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.

  • Step 4: Launch the project

    cd backend && supabase start
    

    and then

    cd ../
    docker compose pull
    docker compose up
    

    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

    You can now sign in to the app with admin@quivr.app & admin. You can access the app at http://localhost:3000/login.

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

    You can access supabase at http://localhost:54323

Updating Quivr 🚀

  • Step 1: Pull the latest changes

    git pull
    
  • Step 2: Update the migration

    supabase migration up
    

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!

YCombinator Theodo

License 📄

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

Stars History 📈

Star History Chart