Introduction
Quick Start
from hypergraph import Graph, node, SyncRunner
@node(output_name="embedding")
def embed(text: str) -> list[float]:
# Your embedding model here
return [0.1, 0.2, 0.3]
@node(output_name="docs")
def retrieve(embedding: list[float]) -> list[str]:
# Your vector search here
return ["Document 1", "Document 2"]
@node(output_name="answer")
def generate(docs: list[str], query: str) -> str:
# Your LLM here
return f"Based on {len(docs)} docs: answer to {query}"
# Edges inferred from matching names
graph = Graph(nodes=[embed, retrieve, generate])
# Run the graph
runner = SyncRunner()
result = runner.run(graph, {"text": "RAG tutorial", "query": "What is RAG?"})
print(result["answer"])Why Hypergraph?
Documentation
Getting Started
Core Concepts
Patterns
Real-World Examples
How-To Guides
API Reference
Design
Design Principles
Beyond AI/ML
Last updated