.aws | ||
.github | ||
.idea | ||
.vscode | ||
backend | ||
cms/quivr | ||
connectors/telegram_bot | ||
docs | ||
frontend | ||
scripts | ||
volumes | ||
.env.example | ||
.flake8 | ||
.gitignore | ||
.migration_info | ||
CHANGELOG.md | ||
docker-compose-dev-only-back-saas-supabase.yml | ||
docker-compose-dev-saas-supabase.yml | ||
docker-compose-ollama.yml | ||
docker-compose.dev.yml | ||
docker-compose.yml | ||
LICENSE | ||
logo.png | ||
Makefile | ||
migration.sh | ||
README.md | ||
vercel.json |
Quivr - Your Second Brain, Empowered by Generative AI
Quivr, your second brain, utilizes the power of GenerativeAI to be your personal assistant ! Think of it as Obsidian, but turbocharged with AI capabilities.
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/StanGirard/quivr/assets/19614572/a6463b73-76c7-4bc0-978d-70562dca71f5
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
filescp .env.example .env
-
Step 3: Update the
.env
filesvim .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 scriptschmod +x migration.sh ./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!
Sponsors ❤️
This project would not be possible without the support of our sponsors. Thank you for your support!
License 📄
This project is licensed under the Apache 2.0 License - see the LICENSE file for details