Skip to main content

Module traits

Module traits 

Source
Expand description

Core traits for GraphRAG system components

This module defines the fundamental abstractions that enable modularity, testability, and flexibility throughout the GraphRAG system.

§Async Migration

All core traits have been migrated to async/await patterns for:

  • Non-blocking I/O operations (LLM calls, database access, network requests)
  • Better resource utilization with concurrent processing
  • Improved throughput for high-load scenarios
  • Future-proof architecture for cloud deployments

Modules§

async_utils
Comprehensive async trait utilities and helpers
sync_to_async
Adapter to convert sync traits to async

Structs§

AsyncTimer
Async timer handle for measuring durations
FunctionInfo
Information about a registered function
GenerationParams
Parameters for text generation
GraphStats
Statistics about a graph
ModelInfo
Information about a language model
ModelUsageStats
Usage statistics for language model
ParameterInfo
Information about a function parameter
RetrievalStats
Statistics for retrieval operations
SearchResult
Result from vector similarity search
Timer
Timer handle for measuring durations

Enums§

MetricRecord
Metric record for batch operations

Traits§

AsyncConfigProvider
Async configuration management abstraction for non-blocking configuration operations
AsyncEmbedder
Async text embedding abstraction for non-blocking embedding operations
AsyncEntityExtractor
Async entity extraction abstraction for non-blocking entity extraction
AsyncFunctionRegistry
Async function calling abstraction for non-blocking tool usage
AsyncGraphStore
Async graph operations abstraction for non-blocking graph management
AsyncLanguageModel
Async Large Language Model abstraction for non-blocking text generation
AsyncMetricsCollector
Async monitoring and metrics abstraction for non-blocking metrics collection
AsyncRetriever
Async text retrieval abstraction for non-blocking content retrieval
AsyncSerializer
Async serialization abstraction for non-blocking serialization operations
AsyncStorage
Async storage abstraction for non-blocking storage operations
AsyncVectorStore
Async vector similarity search abstraction for non-blocking vector operations
ConfigProvider
Configuration management abstraction
Embedder
Text embedding abstraction for converting text to vector representations
EntityExtractor
Entity extraction abstraction for identifying entities in text
FunctionRegistry
Function calling abstraction for tool usage
GraphStore
Graph operations abstraction for knowledge graph management
LanguageModel
Large Language Model abstraction for text generation
MetricsCollector
Monitoring and metrics abstraction
Retriever
Text retrieval abstraction for finding relevant content
Serializer
Serialization abstraction for different formats
Storage
Core storage abstraction for persisting and retrieving entities, documents, and graph data
VectorStore
Vector similarity search abstraction for finding similar embeddings

Type Aliases§

BoxedAsyncEmbedder
Type-erased async embedder for dynamic dispatch
BoxedAsyncLanguageModel
Type aliases for common async trait objects Type-erased async language model for dynamic dispatch
BoxedAsyncRetriever
Type-erased async retriever for dynamic dispatch
BoxedAsyncVectorStore
Type-erased async vector store for dynamic dispatch
VectorBatch
Type alias for vector batch operations
VectorMetadata
Type alias for vector metadata