Skip to main content

A comprehensive RAG framework with Arabic language support, multi-provider embeddings, and advanced RAG strategies

Project description

🦊 fennec-rag

A comprehensive, production-ready Retrieval-Augmented Generation (RAG) framework with first-class Arabic language support.

PyPI version Python License: MIT

✨ Features

  • 🌍 Arabic-first NLP — dedicated Arabic chunker, embedder, and prompt templates
  • 🔌 Multi-provider LLMs — OpenAI, Anthropic, Gemini, Mistral, HuggingFace, Ollama
  • 🗄️ Multiple vector databases — FAISS, ChromaDB, Pinecone
  • 🧩 Advanced RAG strategies — Conversational, Agentic, Graph, Multi-hop, Federated, Self-improving, Streaming
  • 🛡️ Hallucination Guard — built-in hallucination detection and grounding
  • 📊 Observability & Evaluation — tracing, metrics, dashboards, evaluation suite
  • 📄 Rich document loaders — PDF, DOCX, HTML, CSV, JSON, Excel, Web, Directory

📦 Installation

# Basic
pip install fennec-rag

# With specific providers
pip install "fennec-rag[openai,faiss]"
pip install "fennec-rag[anthropic,chroma]"
pip install "fennec-rag[gemini,pinecone]"

# Arabic NLP
pip install "fennec-rag[arabic]"

# Full install
pip install "fennec-rag[all]"

🚀 Quick Start

from fennec.rag.core import RAGSystem, RAGConfig
from fennec.embeddings import OpenAIEmbedder
from fennec.vector_database import FAISSVectorDatabase
from fennec.llm import OpenAIInterface

embedder = OpenAIEmbedder(api_key="your-key")
vector_db = FAISSVectorDatabase(embedder=embedder)
llm = OpenAIInterface(api_key="your-key")

config = RAGConfig(chunk_size=512, overlap=128, top_k=5)
rag = RAGSystem(config=config, vector_db=vector_db, llm=llm)

rag.load_documents(["document.pdf"])
response = rag.query("What is the main topic?")
print(response)

🗂️ Modules

Module Description
fennec.rag.core RAGSystem, MultiDocRAG, Reranker, PromptRouter
fennec.rag.conversational_rag Multi-turn conversation RAG
fennec.rag.agentic_rag Agent-based RAG
fennec.rag.graph_rag Knowledge graph RAG
fennec.rag.hybrid_search BM25 + semantic hybrid search
fennec.rag.multi_hop Multi-hop question decomposition
fennec.rag.self_improving_rag HyDE + recursive refinement
fennec.rag.streaming_rag Token streaming
fennec.embeddings OpenAI, Gemini, HuggingFace, Mistral, Ollama, Arabic
fennec.vector_database FAISS, ChromaDB, Pinecone
fennec.llm OpenAI, Anthropic, Gemini, Mistral, HuggingFace, Ollama
fennec.llm.hallucination HallucinationGuard, ProtectedLLMInterface
fennec.chunks Arabic & multilingual text chunkers
fennec.document_loaders PDF, DOCX, HTML, CSV, JSON, Excel, Web, Directory
fennec.memory Buffer, Window, Summary, Entity memory
fennec.router SemanticRouter
fennec.prompt PromptTemplate, ChatTemplate, FewShotTemplate
fennec.output_parser JSON, YAML, CSV, Pydantic parsers
fennec.evaluator RAG evaluation & reporting
fennec.observability Tracing, metrics, dashboards
fennec.cache Multi-level cache
fennec.persistence State persistence & backup
fennec.plugins Extensible plugin system

📝 License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fennec_rag-0.1.4.tar.gz (413.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fennec_rag-0.1.4-py3-none-any.whl (509.9 kB view details)

Uploaded Python 3

File details

Details for the file fennec_rag-0.1.4.tar.gz.

File metadata

  • Download URL: fennec_rag-0.1.4.tar.gz
  • Upload date:
  • Size: 413.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for fennec_rag-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e51c0e15d12df8cb5faabaa1eae2cfeab74a28abff00c0188299ea6a938b0419
MD5 27513c50db61987518b7a1687a9c0355
BLAKE2b-256 64fd1841c0d770df33f939e183ba740f78f13abb307f4b5b7e185a77e9090e18

See more details on using hashes here.

File details

Details for the file fennec_rag-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: fennec_rag-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 509.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for fennec_rag-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d50724a4d3c09aac1ab44e1c4a309bb49f7c1118c9a8883367733d80457bb5bc
MD5 4296173fd8b2536f7aa986b811560ba1
BLAKE2b-256 cf632fac0267dba6e309b42f3f375d27d01c54a764c6b48ef3ba44d6bffed4db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page