Skip to main content

Module builder

Module builder 

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

Structs§

GraphRAGBuilder
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
TypedBuilder
Typed builder with compile-time validation