GitHub

Quivr - Your Second Brain, Empowered by Generative AI

What is the project about?

Quivr is a personal assistant project that leverages Generative AI to help users build a "second brain". It's designed to be an opinionated, fast, and efficient Retrieval-Augmented Generation (RAG) system. This repository represents the core engine of Quivr.

What problem does it solve?

Quivr addresses the challenge of information overload and the difficulty of organizing and retrieving personal knowledge. It allows users to store and query various types of information, acting as an externalized memory and knowledge base. It simplifies the process of building RAG applications.

What are the features of the project?

  • Opiniated RAG: A pre-configured, optimized RAG system.
  • LLM Agnostic: Compatible with various Large Language Models (OpenAI, Anthropic, Mistral, Gemma, Ollama, etc.).
  • Multiple File Support: Handles various file types (PDF, TXT, Markdown) and allows for custom parsers.
  • Customizable RAG: Options to customize the RAG process, add internet search, tools, etc.
  • Megaparse Integration: Works with the Megaparse library for file ingestion.
  • Configurable Workflows: YAML-based configuration for defining RAG pipelines (e.g., basic RAG, history filtering, rewriting, retrieval, generation).
  • Reranker Support: Includes options for reranking retrieved chunks (e.g., using Cohere).
  • Rich CLI: Provides a command-line interface for interacting with the "brain".

What are the technologies used in the project?

  • Python: The primary programming language.
  • Large Language Models (LLMs): OpenAI, Anthropic, Mistral, Gemma, Ollama, etc.
  • YAML: For configuration files.
  • Pip: For package management.
  • Megaparse: (External library) For file parsing.
  • Cohere: (Optional) For reranking.
  • Rich: For creating a rich command-line interface.

What are the benefits of the project?

  • Simplified RAG Development: Reduces the complexity of building RAG applications.
  • Flexibility: Supports various LLMs and file types.
  • Customization: Allows tailoring the RAG process to specific needs.
  • Extensibility: Designed for adding new features and integrations.
  • Improved Knowledge Management: Helps users organize and access their information more effectively.
  • Open Source: Apache 2.0 License.

What are the use cases of the project?

  • Personal Knowledge Management: Storing and querying notes, documents, and other personal information.
  • Building Chatbots: Creating conversational interfaces for accessing knowledge bases.
  • Research Assistance: Organizing and summarizing research materials.
  • Content Creation: Generating text based on stored knowledge.
  • Developing AI-powered Applications: As a core component for applications requiring RAG capabilities.
  • Any application that needs to retrieve and synthesize information from a corpus of documents.
quivr screenshot