↑  the product  ↑
ora-app  ·  workspace  ·  localhost:8080
$ pip install ora-sql Copy
⭐ GitHub 🤗 HuggingFace 📖 Docs 💬 Discord
Ask anything about your data...
Revenue by region this quarter Average order value over time Monthly active users trend Inventory turnover by category
3-line start multi-source
import ora

db = ora.connect("postgresql://localhost/mydb")

result = db.query("Show me top 10 customers by revenue")
DataFrame  ·  1.2s  ·  $0.003  ·  BIRD 65%+ Copy
↓  speak to your data  ↓
Your workspaces
Loading…
01
Data Layer
connected sources · any dialect · SQLAlchemy 2.0
PostgreSQL
Snowflake
BigQuery
DuckDB
MySQL
Redshift
CSV / XLSX
Query Received
User's natural language query arrives — Ora orchestrates the full pipeline: anaphora resolution, intent classification, entity alias mapping, data coverage analysis, and cross-source planning before routing to agents.
query received
02
Ora
query orchestrator & reasoning agent
↑ click any node to see live output
STAGE 1
Intent Analysis
anaphora · scope · ambiguity
STAGE 2
Entity Resolution
fuzzy match · alias mapping
STAGE 3
Data Coverage
source scan · gap detection
OUTPUT
Execution Plan
route · decompose · schedule
orchestratorroutes queries across agents
owns the full pipeline
LangGraphStateGraph orchestration
conditional routing edges
LiteLLMall LLM providers via one adapter
GPT-4o · Claude · Ollama
Qdrantsemantic cache cosine ≥ 0.85
skips LLM on repeat queries
SemanticMemorySQLite entity alias store
learns from every query
Schema Analysis
SchemaAgent introspects the DB → builds KnowledgeGraph → detects FK topology → serializes to M-Schema for token-efficient prompting.
schema analysis
03
Schema Agent
knowledge construction · graph topology · vector indexing
↑ click any node to see live output
STAGE 1
DB Introspect
DDL · FK · cardinality
STAGE 2
Knowledge Graph
nodes · edges · layers
STAGE 3
FK Topology
Merkle · 3-pass detect
STAGE 4
Vector Index
M-Schema · NL→SQL
LangGraph5-node agent StateGraph
SchemaAgent class
SQLAlchemy 2.0async dialect reflection
PostgreSQL · Snowflake · BQ
SQLGlotAST parsing · transpilation
cross-dialect normalization
Qdrantin-process vector store
NL→SQL example retrieval
fastembedBAAI/bge-small-en-v1.5
zero-API-key embeddings
DuckDBin-memory cross-source JOIN
data never leaves environment
Query Orchestration
LangGraph StateGraph routes NL query → CHESS schema pruning → parallel SQL generation → ReFoRCE 3-stage self-correction → result.
query orchestration
04
AgentSQL Orchestration
LangGraph pipeline · self-correcting · CHESS + ReFoRCE
STAGE 1
Schema Linker
CHESS LSH · RAG
STAGE 2
SQL Generator
3 candidates · parallel
STAGE 3
Self-Corrector
ReFoRCE · 3-stage loop
OUTPUT
Result
DataFrame · NL · Chart
LangGraphStateGraph per query
conditional edges
LangChainTool adapters +
few-shot prompt chains
LiteLLMUnified router — OpenAI
Anthropic · Bedrock · Ollama
OpenTelemetryOne span per node
Langfuse + Prometheus
FastAPISSE /query/stream
live trace events to UI
Specialist Agents
Decompose cross-source queries → fan out to each DB → DuckDB in-memory synthesis → NL response generation → LearningLoop trains on feedback.
specialist agents
05
Specialist Agents
decompose · synthesize · respond · learn
AGENT
DecomposeAgent
cross-source split · DAG planner
AGENT
SynthesisAgent
DuckDB JOIN · in-memory merge
AGENT
ResponseGenerator
NL summary · chart · follow-ups
AGENT
LearningLoop
feedback → training pairs
DuckDBin-memory cross-source JOIN
data never leaves environment
LangGraphsupervisor orchestrator
QueryOrchestrator class
LiteLLMNL summary generation
follow-up question generation
QdrantNL→SQL training pair store
thumbs-up → auto-indexed