PharosRAG  by Laurent00TT

Local-first, agentic RAG knowledge base for teams

Created 3 months ago
292 stars

Top 90.1% on SourcePulse

GitHubView on GitHub
Project Summary

Navigable Knowledge Base (NaviKB) is a local-first, navigation-centric knowledge base designed to transform diverse document formats (PDF, scans, DOCX, PPTX, XLSX) into a queryable system with enterprise-grade features like multi-identity authentication, access control, and answer traceability. It targets individuals and small teams seeking a robust, self-hosted solution for managing and interacting with their internal documentation.

How It Works

NaviKB employs a resident daemon architecture to efficiently manage resource-intensive components like embedded Qdrant and large language models (LLMs), avoiding repeated loading overhead. This daemon exposes two primary interfaces: an HTTP API for direct, closed-pipe Q&A (retrieval, grounding, LLM generation with citations) and an MCP (Meta Communication Protocol) interface for agentic RAG interactions, where agents dynamically decide retrieval strategies. The system enforces a single source of truth for tool contracts and server-side identity/permissions, ensuring consistency and security. Its architecture is decomposed into three independently scalable layers: inference (GPU forward pass), pharos (application logic), and Qdrant server mode, enabling horizontal scaling of non-GPU components and fault tolerance.

Quick Start & Requirements

Installation is straightforward via editable pip install: pip install -e .[dev]. The system requires Python 3.10+ and benefits significantly from GPU acceleration (tested locally with NVIDIA 4090 on WSL). A DEEPSEEK_API_KEY is necessary for the /v1/ask endpoint. For production deployment, systemd is recommended for service management (auto-start, self-healing). Key documentation resources include docs/OVERVIEW.md for system architecture, docs/OPERATIONS.md for deployment and configuration, and docs/learning/ for RAG concepts.

Highlighted Details

  • Dual Interaction Modes: Offers both a structured HTTP API for direct querying and an agentic RAG interface (MCP) for flexible AI-driven information retrieval.
  • Layered Scalability: A three-tier architecture (inference, application, data store) allows independent scaling of components, improving resilience and throughput for non-GPU bound operations.
  • Robust Security Model: Implements a "fail-closed" security posture with identity management via API keys, Access Control Lists (ACLs) for data visibility, session isolation, and protection against prompt injection.
  • Integrated Learning Resources: Includes a comprehensive set of 12 articles covering RAG fundamentals, system design, evaluation methodologies, and interview preparation, complete with code examples and test data.

Maintenance & Community

The project appears to be primarily developed by Laurent00TT. Specific details regarding community channels (e.g., Discord, Slack), active contributors, or formal maintenance schedules are not detailed in the provided README.

Licensing & Compatibility

The license type is not explicitly stated in the README, which represents a significant gap for due diligence. The system is designed for local-first operation; HTTPS and direct public network access are not default configurations, suggesting a focus on secure, internal deployments.

Limitations & Caveats

The maximum throughput is constrained by the inference speed of a single GPU card, meaning adding more replicas does not increase this specific bottleneck. Default configurations prioritize local loopback access, and explicit setup is required for broader network accessibility. The absence of a specified license poses a potential adoption blocker for commercial or widespread use.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.