All work
AI

IRIS — AI natural-language data query platform

An ontology-based NL→SQL platform for querying internal data in Korean — actual data is never sent to the LLM

IRIS — AI natural-language data query platform screenshot 1
View larger

Context

IRIS is an ontology-based NL→SQL platform for querying internal HR data in Korean, passing 65/65 tests while sending 0 records of actual data to the LLM. At a company with internal HR data, nontechnical HR staff and executives need to query data without SQL. Data containing actual personal information cannot be sent to an LLM, and the same question must always produce the same answer.

Problem

Converting natural language to SQL required bridging the gap between business terms such as "the department with the highest turnover rate" and the actual database schema. Sending schemas and data directly to an LLM also leads to increased costs, security vulnerabilities, and results that cannot be reproduced.

What we did

  • Separated business concepts from the database schema through a YAML ontology so that changing domains would require only ontology changes.
  • Organized query processing into a 3-stage Tier structure: golden query matching, embedding similarity, and LLM intent parsing and SQL generation.
  • Sent only ontology concepts and parsing results to the LLM, without transmitting actual data, and returned only aggregate values with PII masking.
  • Integrated a Microsoft Teams bot (Adaptive Card) so employees could ask questions directly in their existing channel.
  • Implemented an ontology self-reinforcement loop, including alias approval and rejection, to accumulate vocabulary during operation.

Results

MetricValueNotes
Tests passed65/65Phase A~D
Pipeline and featuresPhase A~D completeB-1~B-8, Teams bot, dashboard, Write-back workflow
Actual data sent to the LLM0 recordsOnly ontology concepts and aggregate values transmitted
Pilot duration4 weeksAs proposed

Timeline · Scale · Stack

  • Timeline: Pilot runtime verification in 2026-03 → Teams bot deployment (2026-03-11)
  • Scale: Supabase PostgreSQL pilot, HR domain
  • Stack: Next.js · TypeScript · Claude API · Supabase(PostgreSQL) · YAML ontology · React Flow · Recharts

What this case shows

The core of natural-language data querying is the ontology. With the ontology in place first, the LLM handles only the final 5%.

Project details

Category
AI
As of

May 1, 2025

Reading time

2 min read

Tech stack
Next.jsTypeScriptClaude AISupabasePostgreSQLReact FlowRechartsYAML Ontology