Five steps from
files to a graph.
Every step is swappable. Bring your own extractor, LLM, embedding model, or graph store — OpenGraph AI orchestrates them into one coherent context layer for your agent.
- 01ingest
Point at your data
PDFs, CSVs, JSON, audio, video, images, URLs, S3, Postgres. A unified loader normalizes every modality into a content stream with provenance.
- 02extract
Multimodal extractors
Transcribe audio, parse tables, caption images, segment documents. We emit typed entities, relations and timestamped citations.
- 03link
Resolve & link
Cross-modal entity resolution merges duplicates and links the same Acme Corp mentioned in a PDF, an MP3, and a chart.
- 04graph
Persist the graph
Stored as a property graph with attached embeddings. Versioned, diffable, exportable to Neo4j / Memgraph / Postgres.
- 05query
Query in plain language
Natural language → graph query → ranked subgraph + citations. Or hand the graph to an agent as a single tool.
from opengraph import Graph
g = Graph()
g.ingest("./customers/**/*")
g.ask("Top 3 churn risks and why?")import { Graph } from "opengraph-ai";
const g = await Graph.fromSources([
"s3://acme/calls/*.mp3",
]);
await g.ask("Who flagged pricing risk?");