Expand description
ROGRAG (Robustly Optimized GraphRAG) implementation ROGRAG (Robustly Optimized GraphRAG) module - Reasoning on Graphs for RAG
This module implements a sophisticated query processing system that combines structured reasoning with graph-based retrieval for enhanced accuracy and robustness.
§Architecture
ROGRAG introduces three primary retrieval strategies:
- Logic Form Retrieval - Parses queries into structured logic forms for precise graph traversal
- Fuzzy Matching - Provides semantic similarity-based fallback when logic forms fail
- Query Decomposition - Breaks complex queries into manageable subqueries
§Key Components
- [
decomposer] - Query decomposition using semantic/syntactic/hybrid strategies - [
fuzzy_matcher] - Semantic similarity matching for entities and content chunks - [
intent_classifier] - Query intent detection with refusal capabilities - [
logic_form] - Structured query representation and execution - [
processor] - Main ROGRAG processing pipeline orchestration - [
validator] - Query validation and quality assessment - [
quality_metrics] - Performance and quality tracking - [
streaming] - Streaming response generation
§Usage Example
ⓘ
use graphrag_core::rograg::{RogragProcessor, RogragConfig};
// Initialize the ROGRAG processor
let processor = RogragProcessor::new(RogragConfig::default())?;
// Process a query
let result = processor.process_query(
"How are Entity A and Entity B related?",
&knowledge_graph
).await?;§Quality Assurance
The ROGRAG module includes built-in validation, quality metrics, and intent classification to ensure reliable operation and prevent inappropriate responses.
Modules§
- decomposer
- Query decomposition for ROGRAG system
- fuzzy_
matcher - Fuzzy matching for ROGRAG system
- intent_
classifier - Intent classification for ROGRAG system
- logic_
form - Logic form retrieval for ROGRAG system
- processor
- Main ROGRAG processor implementation
- quality_
metrics - Quality metrics and performance tracking for ROGRAG system
- streaming
- Streaming response generation for ROGRAG system
- validator
- Query validation and verification for ROGRAG system
Structs§
- Argument
- Argument to a logic form predicate.
- Comparative
Analysis - Comparative analysis result.
- Constraint
- Constraint on variable bindings or argument values.
- Decomposition
Result - Result of decomposing a query into subqueries.
- Fuzzy
Match - A single fuzzy match entry.
- Fuzzy
Match Config - Configuration for fuzzy matching behavior.
- Fuzzy
Match Result - Result of a fuzzy matching operation.
- Fuzzy
Matcher - Fuzzy matcher for semantic similarity-based retrieval.
- Health
Check Result - Health check result for system monitoring.
- Hybrid
Query Decomposer - Hybrid decomposer that combines semantic and syntactic approaches.
- Intent
Classification Config - Configuration for intent classification behavior.
- Intent
Classification Stats - Statistics about intent classification capabilities and configuration.
- Intent
Classifier - Intent classifier for query analysis and refusal detection.
- Intent
Result - Result of classifying a query’s intent.
- Logic
Execution Stats - Statistics from logic form execution.
- Logic
Form Executor - Logic form executor
- Logic
Form Query - Structured logic form representation of a query.
- Logic
Form Result - Result from executing a logic form query.
- Logic
Form Retriever - Logic form retriever for structured query processing.
- Pattern
Based Parser - Pattern-based parser for converting queries to logic forms.
- Performance
Statistics - Performance statistics for system operation.
- Processing
Stats - Processing statistics for a query.
- Quality
Metrics Config - Quality metrics collector and analyzer.
- Quality
Metrics Options - Configuration for quality metrics tracking and analysis.
- Query
Dependency - Dependency relationship between two subqueries.
- Query
Metrics - Metrics for a single query execution.
- Query
Validator - Query validator implementation
- Response
Chunk - Streaming response chunk
- Response
Quality - Response quality metrics.
- Response
Template - Template for response generation
- Rograg
Config - Configuration for ROGRAG processing behavior.
- Rograg
Processor - ROGRAG processor implementation
- Rograg
Processor Builder - Builder for RogragProcessor
- Rograg
Response - Response from ROGRAG processing.
- Semantic
Query Decomposer - Semantic query decomposer using linguistic patterns.
- Streaming
Config - Configuration for streaming response builder
- Streaming
Response Builder - Streaming response builder implementation
- Subquery
- A single subquery extracted from a complex query.
- Subquery
Result - Result from processing a single subquery.
- Syntactic
Query Decomposer - Syntactic query decomposer using grammatical structure.
- Synthesis
Engine - Synthesis engine for combining subquery results
- Synthesis
Result - Result from synthesis operation
- System
Statistics - System statistics for performance monitoring.
- Validation
Issue - A specific validation issue found during checking.
- Validation
Result - Result of validation containing validity status and detailed metrics.
- Validator
Quality Metrics - Comprehensive quality metrics for validated content.
- Variable
Binding - Variable binding produced during logic form execution.
Enums§
- Argument
Type - Type classification for logic form arguments.
- Constraint
Type - Type of constraint on logic form bindings.
- Decomposition
Error - Errors that can occur during query decomposition.
- Decomposition
Strategy - Strategy used for decomposing complex queries into subqueries.
- Dependency
Type - Type of dependency between subqueries.
- Fuzzy
Match Error - Errors that can occur during fuzzy matching operations.
- Health
Status - Health status levels for system monitoring.
- Intent
Classification Error - Errors that can occur during intent classification.
- Issue
Severity - Severity level of validation issue.
- Issue
Type - Category of validation issue.
- Logic
Form Error - Errors that can occur during logic form operations.
- Logic
Query Type - Type of logic query operation.
- Match
Strategy - Primary strategy used to find matches.
- Match
Type - Classification of fuzzy match types.
- Predicate
- Predicates for logic form operations.
- Processing
Error - Error types for ROGRAG processing.
- Query
Intent - Classification of query intent types.
- Streaming
Error - Error types for streaming response generation
- Subquery
Result Type - Type of retrieval strategy used for subquery processing.
- Subquery
Type - Classification of subquery types for specialized processing.
- Synthesis
Strategy - Strategy for synthesizing multiple subquery results
- Template
Type - Type of response template for different query intents
Traits§
- Logic
Form Parser - Trait for implementing logic form parsers.
- Query
Decomposer - Trait for implementing query decomposition strategies.
Functions§
- initialize_
rograg - Initialize the ROGRAG subsystem.