Crate oxirs_graphrag

Crate oxirs_graphrag 

Source
Expand description

§OxiRS GraphRAG

GraphRAG (Graph Retrieval-Augmented Generation) combines vector similarity search with graph topology traversal for enhanced knowledge retrieval.

§Architecture

Query → Embed → Vector KNN + Keyword Search → Fusion → Graph Expansion → LLM Answer

§Key Features

  • Hybrid Retrieval: Vector similarity + BM25 keyword search
  • Graph Expansion: SPARQL-based N-hop neighbor traversal
  • Community Detection: Louvain algorithm for hierarchical summarization
  • Context Building: Intelligent subgraph extraction for LLM context

§Example

use oxirs_graphrag::{GraphRAGEngine, GraphRAGConfig};

let engine = GraphRAGEngine::new(config).await?;
let result = engine.query("What safety issues affect battery cells?").await?;
println!("Answer: {}", result.answer);

Re-exports§

pub use config::GraphRAGConfig;
pub use graph::community::CommunityDetector;
pub use graph::traversal::GraphTraversal;
pub use query::planner::QueryPlanner;
pub use retrieval::fusion::FusionStrategy;

Modules§

config
GraphRAG configuration
generation
Answer generation module
graph
Graph processing module
query
Query processing module
retrieval
Retrieval module for GraphRAG
sparql
SPARQL extension functions for GraphRAG

Structs§

CommunitySummary
Community summary for hierarchical retrieval
GraphRAGEngine
Main GraphRAG engine
GraphRAGResult2
GraphRAG query result
QueryProvenance
Query provenance for attribution
ScoredEntity
Entity with relevance score
Triple
Triple representation for RDF data

Enums§

GraphRAGError
GraphRAG error types
ScoreSource
Source of entity score

Traits§

EmbeddingModelTrait
Trait for embedding model operations
LlmClientTrait
Trait for LLM client operations
SparqlEngineTrait
Trait for SPARQL engine operations
VectorIndexTrait
Trait for vector index operations

Type Aliases§

GraphRAGResult