Expand description
Builder pattern implementations GraphRAG builder module
This module provides builder patterns for constructing GraphRAG instances.
§Two Builder Options
§1. Simple Builder (GraphRAGBuilder) - Flexible, runtime validation
use graphrag_core::builder::GraphRAGBuilder;
let graphrag = GraphRAGBuilder::new()
.with_output_dir("./my_output")
.with_chunk_size(512)
.build()?;§2. Typed Builder (TypedBuilder) - Compile-time validation
use graphrag_core::builder::TypedBuilder;
// This won't compile until you configure required settings!
let graphrag = TypedBuilder::new()
.with_output_dir("./my_output") // Required - transitions state
.with_ollama() // Required - transitions state
.with_chunk_size(512) // Optional
.build()?; // Only available when properly configuredStructs§
- GraphRAG
Builder - Builder for GraphRAG instances
- HasLlm
- Marker: LLM/embedding is configured (Ollama, hash, or other)
- HasOutput
- Marker: Output directory is configured
- NoLlm
- Marker: LLM/embedding not configured
- NoOutput
- Marker: Output directory not configured
- Typed
Builder - Typed builder with compile-time validation