Skip to main content

Module rograg

Module rograg 

Source
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:

  1. Logic Form Retrieval - Parses queries into structured logic forms for precise graph traversal
  2. Fuzzy Matching - Provides semantic similarity-based fallback when logic forms fail
  3. 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.
ComparativeAnalysis
Comparative analysis result.
Constraint
Constraint on variable bindings or argument values.
DecompositionResult
Result of decomposing a query into subqueries.
FuzzyMatch
A single fuzzy match entry.
FuzzyMatchConfig
Configuration for fuzzy matching behavior.
FuzzyMatchResult
Result of a fuzzy matching operation.
FuzzyMatcher
Fuzzy matcher for semantic similarity-based retrieval.
HealthCheckResult
Health check result for system monitoring.
HybridQueryDecomposer
Hybrid decomposer that combines semantic and syntactic approaches.
IntentClassificationConfig
Configuration for intent classification behavior.
IntentClassificationStats
Statistics about intent classification capabilities and configuration.
IntentClassifier
Intent classifier for query analysis and refusal detection.
IntentResult
Result of classifying a query’s intent.
LogicExecutionStats
Statistics from logic form execution.
LogicFormExecutor
Logic form executor
LogicFormQuery
Structured logic form representation of a query.
LogicFormResult
Result from executing a logic form query.
LogicFormRetriever
Logic form retriever for structured query processing.
PatternBasedParser
Pattern-based parser for converting queries to logic forms.
PerformanceStatistics
Performance statistics for system operation.
ProcessingStats
Processing statistics for a query.
QualityMetricsConfig
Quality metrics collector and analyzer.
QualityMetricsOptions
Configuration for quality metrics tracking and analysis.
QueryDependency
Dependency relationship between two subqueries.
QueryMetrics
Metrics for a single query execution.
QueryValidator
Query validator implementation
ResponseChunk
Streaming response chunk
ResponseQuality
Response quality metrics.
ResponseTemplate
Template for response generation
RogragConfig
Configuration for ROGRAG processing behavior.
RogragProcessor
ROGRAG processor implementation
RogragProcessorBuilder
Builder for RogragProcessor
RogragResponse
Response from ROGRAG processing.
SemanticQueryDecomposer
Semantic query decomposer using linguistic patterns.
StreamingConfig
Configuration for streaming response builder
StreamingResponseBuilder
Streaming response builder implementation
Subquery
A single subquery extracted from a complex query.
SubqueryResult
Result from processing a single subquery.
SyntacticQueryDecomposer
Syntactic query decomposer using grammatical structure.
SynthesisEngine
Synthesis engine for combining subquery results
SynthesisResult
Result from synthesis operation
SystemStatistics
System statistics for performance monitoring.
ValidationIssue
A specific validation issue found during checking.
ValidationResult
Result of validation containing validity status and detailed metrics.
ValidatorQualityMetrics
Comprehensive quality metrics for validated content.
VariableBinding
Variable binding produced during logic form execution.

Enums§

ArgumentType
Type classification for logic form arguments.
ConstraintType
Type of constraint on logic form bindings.
DecompositionError
Errors that can occur during query decomposition.
DecompositionStrategy
Strategy used for decomposing complex queries into subqueries.
DependencyType
Type of dependency between subqueries.
FuzzyMatchError
Errors that can occur during fuzzy matching operations.
HealthStatus
Health status levels for system monitoring.
IntentClassificationError
Errors that can occur during intent classification.
IssueSeverity
Severity level of validation issue.
IssueType
Category of validation issue.
LogicFormError
Errors that can occur during logic form operations.
LogicQueryType
Type of logic query operation.
MatchStrategy
Primary strategy used to find matches.
MatchType
Classification of fuzzy match types.
Predicate
Predicates for logic form operations.
ProcessingError
Error types for ROGRAG processing.
QueryIntent
Classification of query intent types.
StreamingError
Error types for streaming response generation
SubqueryResultType
Type of retrieval strategy used for subquery processing.
SubqueryType
Classification of subquery types for specialized processing.
SynthesisStrategy
Strategy for synthesizing multiple subquery results
TemplateType
Type of response template for different query intents

Traits§

LogicFormParser
Trait for implementing logic form parsers.
QueryDecomposer
Trait for implementing query decomposition strategies.

Functions§

initialize_rograg
Initialize the ROGRAG subsystem.