#![warn(missing_docs)]
#![warn(clippy::all)]
pub mod config;
pub mod core;
pub mod entity;
#[cfg(feature = "async")]
pub mod generation;
pub mod graph;
pub mod retrieval;
#[cfg(any(
feature = "memory-storage",
feature = "persistent-storage",
feature = "async"
))]
pub mod storage;
pub mod text;
pub mod vector;
pub mod builder;
pub mod embeddings;
pub mod nlp;
pub mod ollama;
pub mod persistence;
pub mod query;
pub mod summarization;
pub mod pipeline;
#[cfg(feature = "parallel-processing")]
pub mod parallel;
#[cfg(feature = "lightrag")]
pub mod lightrag;
pub mod pipeline_executor;
pub mod reranking;
pub mod monitoring;
pub mod critic;
pub mod evaluation;
#[cfg(feature = "async")]
pub mod optimization;
#[cfg(feature = "api")]
pub mod api;
pub mod inference;
#[cfg(feature = "corpus-processing")]
pub mod corpus;
#[cfg(feature = "async")]
pub mod async_graphrag;
#[cfg(feature = "async")]
pub mod async_processing;
#[cfg(feature = "caching")]
pub mod caching;
#[cfg(feature = "function-calling")]
pub mod function_calling;
#[cfg(feature = "incremental")]
pub mod incremental;
#[cfg(feature = "rograg")]
pub mod rograg;
pub mod prelude {
pub use crate::GraphRAG;
pub use crate::builder::GraphRAGBuilder;
pub use crate::builder::TypedBuilder;
pub use crate::config::Config;
pub use crate::core::{GraphRAGError, Result};
pub use crate::core::{
ChunkId, Document, DocumentId, Entity, EntityId, EntityMention, KnowledgeGraph,
Relationship, TextChunk,
};
pub use crate::retrieval::SearchResult;
pub use crate::retrieval::{ExplainedAnswer, ReasoningStep, SourceReference, SourceType};
pub use crate::pipeline_executor::{PipelineExecutor, PipelineReport};
pub use crate::config::setconfig::SetConfig;
}
pub use crate::config::Config;
pub use crate::core::{
ChunkId, Document, DocumentId, Entity, EntityId, EntityMention, ErrorContext, ErrorSeverity,
ErrorSuggestion, GraphRAGError, KnowledgeGraph, Relationship, Result, TextChunk,
};
#[cfg(feature = "async")]
pub use crate::core::traits::{
Embedder, EntityExtractor, GraphStore, LanguageModel, Retriever, Storage, VectorStore,
};
#[cfg(feature = "memory-storage")]
pub use crate::storage::MemoryStorage;
pub use crate::builder::GraphRAGBuilder;
#[cfg(feature = "lightrag")]
pub use crate::lightrag::{
DualLevelKeywords, DualLevelRetriever, DualRetrievalConfig, DualRetrievalResults,
KeywordExtractor, KeywordExtractorConfig, MergeStrategy, SemanticSearcher,
};
#[cfg(feature = "pagerank")]
pub use crate::graph::pagerank::{PageRankConfig, PersonalizedPageRank};
#[cfg(feature = "leiden")]
pub use crate::graph::leiden::{HierarchicalCommunities, LeidenCommunityDetector, LeidenConfig};
#[cfg(feature = "cross-encoder")]
pub use crate::reranking::cross_encoder::{
ConfidenceCrossEncoder, CrossEncoder, CrossEncoderConfig, RankedResult, RerankingStats,
};
#[cfg(feature = "pagerank")]
pub use crate::retrieval::pagerank_retrieval::{PageRankRetrievalSystem, ScoredResult};
#[cfg(feature = "pagerank")]
pub use crate::retrieval::hipporag_ppr::{Fact, HippoRAGConfig, HippoRAGRetriever};
mod graphrag;
pub use graphrag::GraphRAG;