alpha
LLM-agnostic · any database · 3 lines of code
↑ the product ↑
ora-app · workspace · localhost:8080
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
Schema Analysis
SchemaAgent introspects the DB → builds KnowledgeGraph → detects FK topology → serializes to M-Schema for token-efficient prompting.
schema analysis
02
↑ 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
03
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
04
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