Everything you need to
build better RAG systems
A complete toolkit for designing, executing, debugging, and collaborating on retrieval-augmented generation pipelines.
Design your pipeline,
node by node
Drag nodes from the palette, connect them with typed wires, and configure everything inline. Your entire RAG architecture in one visual workspace.
8 specialized node types
Query, HyDE, Embedding, Retriever, Reranker, Judge, LLM, and Agent — each purpose-built.
Typed connections
STRING, VECTOR, DOCUMENT, JSON — the canvas validates wire compatibility as you build.
Inline property panels
Click any node to configure model, temperature, top-k, and prompt right on the canvas.
Keyboard shortcuts
Cmd+C/V to copy nodes, Delete to remove, Cmd+Z to undo. Feels like a native app.
Smart auto-layout
Nodes automatically arrange into clean topological layouts. Manual adjustments snap to grid.
Export to code
One-click export to a standalone TypeScript pipeline you can run anywhere.
Version history
Every save creates a version. Diff, compare, and restore any previous pipeline state.
Template library
Start from pre-built patterns: HyDE, CRAG, Fusion, Parent-Child, and more.
query → embedding → retriever → judge → reranker → llm → output
"documents": [
}
Click any wire.
See everything.
Every connection is inspectable. Click a wire to see exactly what data flowed through it — documents, scores, embeddings, latency, and cost. No logging setup required.
Inspect any connection
Click any wire to see the full payload. Documents, vectors, scores — everything in structured JSON.
Embedding vector preview
Visualize high-dimensional vectors as sparklines. Spot drift and quality issues instantly.
Cost tracking per step
Every node reports token usage and estimated cost. See exactly where your budget goes.
Latency waterfall
Timeline view of every step. Identify bottlenecks in your pipeline at a glance.
Real-time streaming
Watch data flow through your pipeline live as each node completes. No refresh needed.
Run comparison
Compare outputs between runs side-by-side. Track improvements across iterations.
Export results
Export Wire Tap traces as JSON for automated testing and regression suites.
retriever → 5 docs · score: [0.94, 0.91, 0.87, 0.84, 0.81] · 450ms · $0.0002
Not a simulation.
Real API calls.
When you press Run, hachi calls your actual LLM and vector store APIs with your credentials. Real tokens, real latency, real results — not a sandbox mockup.
Your models, your keys
Bring your own OpenAI, Anthropic, or Cohere API keys. Your credentials, your data.
Parallel execution
Independent branches run concurrently. Topological sort ensures correct dependency order.
Streaming via SSE
Results stream back in real-time via server-sent events. Watch nodes complete live.
Automatic retries
Rate limits and transient failures are retried with exponential backoff. No lost runs.
Topological execution
Nodes execute in dependency order. Parallel branches run concurrently for maximum throughput.
Multi-provider
Mix OpenAI, Anthropic, and Cohere in the same pipeline. Each node uses its own provider.
Cost tracking
Real-time token counting and cost estimation. Per-node and total pipeline cost breakdown.
Retry & fallback
Automatic retries with exponential backoff. Configure fallback models for resilience.
query:200ms → embed:350ms → retrieve:450ms → rerank:600ms → judge:800ms → llm:1.5s = 3.9s total
Build together,
in real time.
See your teammates' cursors on the canvas, watch them configure nodes, and share Wire Tap results — all in real time with zero setup.
Live cursors with presence
See who's on the canvas and what they're working on. Colored cursors with name labels.
Conflict-free sync (Yjs CRDT)
Concurrent edits merge automatically. No locking, no conflicts, no lost work.
Shared Wire Tap
When one person inspects a wire, everyone can see the results. Debug together.
Org-scoped access control
Owner, Admin, Editor, Viewer — four granular roles with fine-grained permissions.
Team awareness
Live presence indicators show who's online. See which node each teammate is editing.
Role-based access
Four granular roles control who can edit, execute, and manage pipeline settings.
Activity feed
Timestamped log of every change. See who did what and when across the team.
yjs crdt · webrtc p2p · <50ms sync · conflict-free merging
Advanced patterns, pre-built
Pre-built nodes for sophisticated retrieval patterns. Each encapsulates a proven technique with real performance benchmarks.
HyDE
Hypothetical Document Embeddings
Generate a hypothetical answer to improve embedding quality for short queries.
- Better retrieval for short queries
- Reduces embedding mismatch
- Works with any embedding model
Parent-Child
Hierarchical Chunking
Match on small, precise chunks but return their parent chunks for context.
- Precise matching
- Rich context
- Reduces hallucination
Fusion
Reciprocal Rank Fusion
Combine multiple retrieval methods using reciprocal rank fusion.
- Hybrid search
- Better recall
- More robust results
Judge (CRAG)
Corrective RAG
Evaluate retrieved documents for relevance before passing to the LLM.
- Self-correcting
- Quality assurance
- Fallback handling
Reranker
Cross-encoder Reranking
Use a cross-encoder model to rerank initial retrieval results.
- Higher precision
- Better top-k results
- Cross-encoder accuracy
Agentic RAG
Agent with Retrieval Tool
Give an LLM agent access to retrieval as a tool for dynamic, multi-step search.
- Dynamic retrieval
- Multi-step reasoning
- Self-directed search
Works with your stack
Connect to the models and vector stores you already use. OpenAI API compatible.
LLMs & Embeddings
GPT-4o, o1, text-embedding-3
Claude 3.5 Sonnet, Claude 3 Opus
Command R+, Rerank v3, embed-v3
Llama 3.1, Mistral, self-hosted
Vector Stores
Serverless, namespaces, metadata
Hybrid search, multi-tenancy
Filtering, sparse vectors
pgvector, HNSW, IVFFlat
Plus Chroma, Milvus, Azure OpenAI, AWS Bedrock, and any OpenAI-compatible API.