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 retrieval. It allows users to store and quickly access information from various sources, acting as an external 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 LLMs (OpenAI, Anthropic, Mistral, Gemma, Ollama, etc.).
  • Versatile File Handling: Supports multiple file types (PDF, TXT, Markdown) and allows for custom parsers.
  • Customizable RAG: Options to integrate internet search, tools, and other enhancements.
  • Megaparse Integration: Seamlessly works with the Megaparse file ingestion tool.
  • 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).
  • LLM Configuration: Settings for controlling LLM behavior (max input tokens, temperature).

What are the technologies used in the project?

  • Python: The primary programming language (3.10+).
  • Large Language Models (LLMs): OpenAI, Anthropic, Mistral, Gemma, Ollama.
  • YAML: For configuration files.
  • Pip: For package management.
  • Megaparse: (External tool) For file ingestion.
  • Cohere: (Optional) For reranking.
  • Rich: For terminal UI.

What are the benefits of the project?

  • Simplified RAG Development: Reduces the complexity of building RAG applications.
  • Fast and Efficient: Optimized for speed and performance.
  • Flexibility: Adaptable to different LLMs and data sources.
  • Customization: Allows tailoring the RAG process to specific needs.
  • Extensibility: Supports adding new features and integrations.
  • Easy to use: Simple installation and setup.

What are the use cases of the project?

  • Personal Knowledge Management: Creating a searchable "second brain".
  • Question Answering Systems: Building chatbots or applications that answer questions based on provided documents.
  • Content Summarization: Generating summaries from large text corpora.
  • Research Assistance: Quickly finding and synthesizing information from research papers or other documents.
  • Any application requiring RAG: Provides a foundation for any project needing to combine retrieval and generation.
quivr screenshot