1#![warn(missing_docs)]
2
3pub mod channels;
21
22pub mod context;
24
25pub mod engine;
27
28pub mod error;
30
31pub mod generation;
33
34pub mod indexing;
36
37pub mod pipeline;
39
40pub mod preprocessing;
42
43pub mod traits;
45
46pub mod types;
48
49pub mod cache;
51
52pub use engine::{DefaultRagEngine, DefaultRagEngineBuilder};
54pub use error::RagError;
55pub use traits::RagEngine;
56pub use types::chunk::{Chunk, ChunkMetadata};
57pub use types::config::{RagConfig, RagEngineInfo};
58pub use types::rag::{
59 BuiltContext, ChatMessage, ChatRole, Citation, CitationFormat, ContextConfig, PromptTemplate,
60 RagGenerationConfig, RagRequest, RagRequestBuilder, RagResponse, RagStreamEvent, RagTokenUsage,
61 RequestOptions,
62};
63pub use types::retrieval::{
64 ChannelStats, QueryPreprocessing, RetrieveRequest, RetrieveRequestBuilder, RetrieveResult,
65 RetrievedChunk, StructuredFilter,
66};
67
68pub use pipeline::channel::{ChannelConfig, ChannelPipeline, ChannelType};
70pub use pipeline::fusion::RrfFusion;
71pub use pipeline::normalize::{MinMaxNormalizer, ZScoreNormalizer};
72
73pub use context::citation::format_citations_numeric;
75pub use context::token_budget::ContextBuilder;
76
77pub use indexing::chunker::ChunkStrategy;
79pub use indexing::chunker::fixed::FixedSizeChunker;
80pub use indexing::chunker::recursive::RecursiveCharacterChunker;
81pub use indexing::chunker::semantic::SeparatorChunker;
82pub use indexing::{DocumentIndexer, IndexDocument};
83
84#[cfg(feature = "bm25")]
86pub use channels::bm25::Bm25ChannelExecutor;
87pub use channels::graph::{GraphChannelExecutor, KnowledgeGraphSearch};
88pub use channels::metadata::{MetadataChannelExecutor, MetadataStore};
89pub use channels::semantic::{Embedder, SemanticChannelExecutor, SemanticSearch};