lumen_rag/
lib.rs

1//! # Lumen RAG Framework
2//!
3//! Lumen is a modular Retrieval-Augmented Generation framework for Rust.
4//! It allows you to build RAG pipelines using interchangeable vector stores (MongoDB, Qdrant).
5//!
6//! ## Example
7//! ```rust,no_run
8//! use lumen_rag::{VectorStore, types::Passage};
9//! // Initialize a specific store (e.g. MongoStore) via feature flags
10//! ```
11
12pub mod config;
13pub mod generation;
14pub mod ingestion;
15pub mod store;
16pub mod types;
17pub mod utils;
18
19mod stores {
20    #[cfg(feature = "mongodb")]
21    pub mod mongo;
22    #[cfg(feature = "qdrant")]
23    pub mod qdrant;
24}
25
26pub use store::VectorStore;
27pub use types::{IngestRequest, IngestResponse, Metadata, Passage, QuestionRequest};
28
29#[cfg(feature = "mongodb")]
30pub use stores::mongo::MongoStore;
31
32#[cfg(feature = "qdrant")]
33pub use stores::qdrant::QdrantStore;