GraphAI Logo

GraphAI is a lightweight, modular framework for building graph-based AI agents and workflows. Unlike monolithic AI frameworks, GraphAI provides a clean foundation without abstractions for LLMs, embeddings, or vector databases — giving you the flexibility to build ultrafast, use-case-specific AI applications.

Scroll
1

Modular

GraphAI provides a clean foundation without abstractions for LLMs, embeddings, or vector databases, giving you complete control over your AI stack.

2

Lightweight

Unlike monolithic AI frameworks, GraphAI is designed to be minimal and fast, letting you build use-case-specific solutions without unnecessary overhead.

3

Graph-Based

Build complex AI workflows as interconnected graphs, enabling sophisticated agent behaviors and decision-making processes.

Build AI Workflows as Graphs

GraphAI enables you to design complex AI workflows as interconnected graphs, where each node represents a specific operation or decision point.

Node-Based Design

Each node in your graph represents a specific AI operation, from data processing to model inference.

Dynamic Execution

Graphs execute dynamically based on runtime conditions and data flow requirements.

Composable Workflows

Build complex workflows by composing smaller, reusable graph components.

Input
Process
Output

fully open source

Transparency in code, creativity in collaboration. GraphAI uses an MIT license so you can use it however and wherever you want. Interested in contributing? Find us at: github.com/aurelio-labs/graphai

build your way

GraphAI doesn't lock you into specific providers or abstractions. Use any LLM, vector database, or embedding model you prefer — GraphAI provides the graph foundation, you choose the AI components.

get started

view on github
pip install graphai

from graphai import Graph, Node

# Create nodes
input_node = Node("input", data={"text": "Hello World"})
process_node = Node("process", function=transform_text)
output_node = Node("output", function=save_result)

# Build graph
graph = Graph()
graph.add_edge(input_node, process_node)
graph.add_edge(process_node, output_node)

# Execute workflow
result = graph.run()