Hello, tech enthusiasts! Today, I’m excited to share with you a fascinating project I stumbled upon recently. It’s called Quivr, and it’s designed to be your “second brain” in the cloud. Now, I know what you’re thinking: “Another productivity tool? Really?” But trust me, this one is worth your attention.
What is Quivr?
Quivr is an open-source project developed by Stan Girard. It's designed to store and retrieve unstructured information, much like a second brain. The concept is similar to Obsidian, a popular knowledge base that works on top of a local folder of plain text Markdown files. But Quivr takes it a step further by leveraging the power of generative AI.
You can find the Quivr project on GitHub: https://github.com/StanGirard/quivr
You can also go to Quivr website at quivr.app:
From the website you can directly access a limited and hosted version of Quivr by clicking on button "Try Demo".
In order to be able to use Quivr without any limits, you can setup your own Quivr installation locally. We'll cover the steps which are necessary to setup Quivr locally below.
Features of Quivr
- Quivr is packed with features that make it a versatile tool for anyone looking to store and retrieve information efficiently. Here's a quick rundown:
- Store Anything: Quivr can handle almost any type of data you throw at it. Text, images, code snippets - you name it.
- Generative AI: Quivr uses advanced AI to help you generate and retrieve information. This is where it truly stands out from other similar tools.
- Fast and Efficient: Quivr is designed with speed and efficiency in mind. It ensures you can access your data as quickly as possible.
- Secure: Your data is stored securely in the cloud and is always under your control.
- Compatible Files: Quivr supports a variety of file types including Text, Markdown, PDF, Audio, and Video.
When you run Quivr you can use the "Add Knowledge" mode to add documents or websites to the database, so that you can later on chat with these knowledge assets:
E.g. adding a website is quick and easy:
Once you've added content to the database you're ready to switch to the "Chat with your Brain" mode and start asking questions about the content you've provided:
Quivr is built with Python and uses Streamlit as the web framework. It leverages Supabase, an open-source Firebase alternative, for backend services.
Setting Up Quivr Locally: A Step-by-Step Guide
Setting up Quivr on your local machine is a fairly straightforward process. Here's a step-by-step guide to get you started:
Before you begin, make sure you have the following installed on your machine:
- Python 3.10 or higher: You can download the latest version of Python from the official Python website.
- Pip: This is a package manager for Python. It usually comes pre-installed with Python.
- Virtualenv: This is a tool to create isolated Python environments. You can install it using pip with the command
pip install virtualenv.
Additionally, you'll need a Supabase account for the following:
- A new Supabase project
- Supabase Project API key
- Supabase Project URL
Once you have the prerequisites in place, follow these steps to set up Quivr:
- Clone the repository: Use the command
git clone email@example.com:StanGirard/Quivr.gitto clone the Quivr repository to your local machine. Then, navigate to the Quivr directory using the command
- Create a virtual environment: Use the command
virtualenv venvto create a new virtual environment in the Quivr directory.
- Activate the virtual environment: Use the command
source venv/bin/activateto activate the virtual environment.
- Install the dependencies: Use the command
pip install -r requirements.txtto install all the necessary dependencies for Quivr.
- Copy the Streamlit
secrets.tomlexample file: Use the command
cp .streamlit/secrets.toml.example .streamlit/secrets.tomlto copy the example secrets file.
- Add your credentials to the
secrets.tomlfile: Open the
.streamlit/secrets.tomlfile and add your Supabase URL, Supabase service key, and OpenAI API key. If you have an Anthropic API key, you can add that as well.
- Run the migration scripts on the Supabase database: Navigate to the SQL Editor in the Supabase web interface and run the provided migration scripts. These scripts will enable the pgvector extension and create the necessary tables in your database.
- Run the app: Finally, use the command
streamlit run main.pyto run the Quivr app.
And that's it! You now have Quivr set up on your local machine.
Quivr is a promising project that combines the power of generative AI with the convenience of cloud storage. It's a versatile tool that can handle a variety of data types, making it an excellent choice for anyone looking to enhance their productivity.
Remember, Quivr is open-source and free to use. So, why not give it a try and see how it can serve as your second brain in the cloud? I'm certainly excited to see how this project evolves and the impact it will have on the way we store and retrieve information.
Until next time, keep exploring and stay curious, tech enthusiasts!