Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(docs): Update Quivr README.md #3408

Merged
merged 2 commits into from
Oct 21, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 42 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,117 +8,82 @@
[![GitHub Repo stars](https://img.shields.io/github/stars/quivrhq/quivr?style=social)](https://github.com/quivrhq/quivr)
[![Twitter Follow](https://img.shields.io/twitter/follow/StanGirard?style=social)](https://twitter.com/_StanGirard)

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](https://docs.quivr.app/docs/roadmap)
Quivr, helps you build your second brain, utilizes the power of GenerativeAI to be your personal assistant !

## 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 20 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.
- **Offline Mode**: Quivr works offline, so you can access your data anytime, anywhere.
- **Opiniated RAG**: We created a RAG that is opinionated, fast and efficient so you can focus on your product
- **LLMs**: Quivr works with any LLM, you can use it with OpenAI, Anthropic, Mistral, Gemma, etc.
- **Any File**: Quivr works with any file, you can use it with PDF, TXT, Markdown, etc and even add your own parsers.
- **Customize your RAG**: Quivr allows you to customize your RAG, add internet search, add tools, etc.
- **Integrations with Megaparse**: Quivr works with [Megaparse](https://github.com/quivrhq/megaparse), so you can ingest your files with Megaparse and use the RAG with Quivr.

## Demo Highlight 🎥
>We take care of the RAG so you can focus on your product. Simply install quivr-core and add it to your project. You can now ingest your files and ask questions.*

https://github.com/quivrhq/quivr/assets/19614572/a6463b73-76c7-4bc0-978d-70562dca71f5
**We will be improving the RAG and adding more features everything, stay tuned!**

## Getting Started 🚀

You can deploy Quivr to Porter Cloud with one-click:
This is the core of Quivr, the brain of Quivr.com.

<a href="https://cloud.porter.run/addons/new?addon_name=quivr" target="_blank">
<img src="https://mintlify.s3-us-west-1.amazonaws.com/porter/images/deploying-applications/deploy-to-porter.svg" alt="Deploy to Porter" style="width: 150px;">
</a>
<!-- ## Demo Highlight 🎥

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

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.
## Getting Started 🚀

You can find everything on the [documentation](https://docs.quivr.app/).
You can find everything on the [documentation](https://core.quivr.app/).

### Prerequisites 📋

Ensure you have the following installed:

- Docker
- Docker Compose

### 60 seconds Installation 💽

You can find the installation video [here](https://www.youtube.com/watch?v=cXBa6dZJN48).

- **Step 0**: Supabase CLI

Follow the instructions [here](https://supabase.com/docs/guides/cli/getting-started) to install the Supabase CLI that is required.

```bash
supabase -v # Check that the installation worked
```


- **Step 1**: Clone the repository:

```bash
git clone https://github.com/quivrhq/quivr.git && cd quivr
```

- **Step 2**: Copy the `.env.example` files

```bash
cp .env.example .env
```

- **Step 3**: Update the `.env` files
- Python 3.10 or newer

```bash
vim .env # or emacs or vscode or nano
```
### 30 seconds Installation 💽

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](https://platform.openai.com/api-keys). 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](https://openai.com/pricing/).
- **Step 1**: Install the package



- **Step 4**: Launch the project

```bash
cd backend && supabase start
```
and then
```bash
cd ../
docker compose pull
docker compose up
pip install quivr-core # Check that the installation worked
```

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 2**: Create a RAG with 5 lines of code

- **Step 5**: Login to the app
```python
import tempfile

You can now sign in to the app with `[email protected]` & `admin`. You can access the app at [http://localhost:3000/login](http://localhost:3000/login).
from quivr_core import Brain

You can access Quivr backend API at [http://localhost:5050/docs](http://localhost:5050/docs)
if __name__ == "__main__":
with tempfile.NamedTemporaryFile(mode="w", suffix=".txt") as temp_file:
temp_file.write("Gold is a liquid of blue-like colour.")
temp_file.flush()

You can access supabase at [http://localhost:54323](http://localhost:54323)
brain = Brain.from_files(
name="test_brain",
file_paths=[temp_file.name],
)

## Updating Quivr 🚀
answer = brain.ask(
"what is gold? asnwer in french"
)
print("answer:", answer)
```

- **Step 1**: Pull the latest changes
## Examples

```bash
git pull
```
| Name | Description |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Simple Question](./examples/simple_question) | Ask a simple question to the RAG by ingesting a single file |
| [ChatBot](./examples/chatbot) | Build a chatbot by ingesting a folder of files with a nice UI powered by [Chainlit](https://github.com/Chainlit/chainlit) |

- **Step 2**: Update the migration
## Go further

```bash
supabase migration up
```
You can go further with Quivr by adding internet search, adding tools, etc. Check the [documentation](https://core.quivr.com/) for more information.


## Contributors ✨
Expand All @@ -135,9 +100,6 @@ Did you get a pull request? Open it, and we'll review it as soon as possible. Ch
- [Open Issues](https://github.com/quivrhq/quivr/issues)
- [Open Pull Requests](https://github.com/quivrhq/quivr/pulls)
- [Good First Issues](https://github.com/quivrhq/quivr/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
- [Frontend Issues](https://github.com/quivrhq/quivr/issues?q=is%3Aopen+is%3Aissue+label%3Afrontend)
- [Backend Issues](https://github.com/quivrhq/quivr/issues?q=is%3Aopen+is%3Aissue+label%3Abackend)
- [Translate](https://docs.quivr.app/docs/Developers/contribution/guidelines#translations)

## Partners ❤️

Expand Down
Loading