Text-to-SQL

GenD의 Text-to-SQL 기능은 자연어 질문을 Trino SQL로 자동 변환합니다. AI Orchestrator가 스키마 그래프, 비즈니스 용어집, 대화 이력을 활용하여 정확한 SQL을 생성합니다.
주요 기능
- 자연어 → SQL 변환: 한국어/영어 질문을 Trino SQL로 변환합니다
- 보안 검증: ContextGateway와 SqlGuard를 통해 생성된 SQL의 보안을 검증합니다
- 스키마 인식: ArangoDB 스키마 그래프를 활용하여 테이블 관계를 이해합니다
- 대화 이력 활용: 이전 대화 컨텍스트를 반영하여 후속 질문을 처리합니다
- 캐시 히트: 동일 질문에 대한 캐시를 통해 응답 속도를 향상합니다
- 자동 실행: 생성된 SQL을 즉시 실행하고 결과를 반환하는 모드를 지원합니다
처리 흐름
- 사용자가 자연어 질문을 입력합니다
- ContextGateway가 요청을 전처리하고 컨텍스트를 수집합니다
- AI Orchestrator가 스키마 그래프와 용어집을 참조하여 SQL을 생성합니다
- SqlGuard가 생성된 SQL의 보안을 검증합니다
- 검증된 SQL과 설명을 사용자에게 반환합니다
응답 항목
| 항목 | 설명 |
|---|---|
| sql | 생성된 SQL 쿼리 |
| explanation | SQL에 대한 자연어 설명 |
| tables_used | 사용된 테이블 목록 |
| join_paths | 조인 경로 |
| cache_hit | 캐시 적중 여부 |
| security_filtered | 보안 필터 적용 여부 |
API 엔드포인트
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/ai/ask | 자연어 → SQL 변환 |
| POST | /api/v1/ai/ask/execute | 자연어 → SQL 변환 + 실행 |
| POST | /api/v1/ai/explain | SQL 설명 생성 |