from pathlib import Path
from sift_kg import (
load_domain,
run_extract,
run_build,
run_view,
KnowledgeGraph,
)
# 1. Load domain
domain = load_domain(bundled_name="schema-free")
# 2. Extract entities and relations
extractions = run_extract(
doc_dir=Path("./documents"),
model="openai/gpt-4o-mini",
domain=domain,
output_dir=Path("./output"),
chunk_size=10000,
concurrency=4,
)
print(f"Extracted {len(extractions)} documents")
# 3. Build knowledge graph
kg = run_build(
output_dir=Path("./output"),
domain=domain,
review_threshold=0.7,
postprocess=True,
)
print(f"Graph: {kg.entity_count} entities, {kg.relation_count} relations")
# 4. Generate visualization
html_path = run_view(
output_dir=Path("./output"),
open_browser=False,
min_confidence=0.5,
)
print(f"Visualization saved to {html_path}")