텍스트로 지도 쿼리? SvelteKit + PostGIS + LLM 조합!
by DD
5개월 전
조회수 20
데이터 과학자의 고충을 해결하기 위해 SvelteKit, PostGIS, LLM을 활용한 텍스트-GIS 엔진을 개발함
사용자의 자연어 쿼리를 SQL 쿼리로 변환하여 GeoJSON 형태로 시각화하는 시스템을 구축함
Schema Context 주입 및 엄격한 규칙 설정을 통해 LLM의 SQL 생성 정확도를 향상시킴
아키텍처: 자연어 → SQL → GeoJSON
사용자의 자연어 쿼리를 LLM이 SQL 쿼리로 변환하고, PostGIS가 쿼리를 실행하여 GeoJSON 데이터를 반환한다. SvelteKit 기반 프론트엔드는 MapLibre GL을 사용하여 GeoJSON을 시각화한다. 따라서, 사용자 친화적인 인터페이스를 통해 복잡한 공간 데이터 쿼리를 쉽게 수행할 수 있다.
Schema Context와 규칙의 중요성
LLM의 SQL 생성 정확도를 높이기 위해 Schema Context를 주입하고 엄격한 규칙을 적용한다. 구체적으로, 데이터베이스 스키마를 LLM에 제공하여 존재하지 않는 테이블/컬럼을 생성하는 문제를 방지한다. ILIKE 사용 규칙은 부분 문자열 검색을 가능하게 하여 사용자 편의성을 높인다.
모델 선택과 성능 최적화
초기에는 작은 모델을 사용했지만, SQL 쿼리 오류가 빈번하게 발생했다. qwen3-coder:30b 모델은 SQL 구문 일관성과 Schema Context를 잘 처리하여 더 나은 성능을 보였다. 따라서, 모델 선택은 정확도와 자원 사용량 사이의 트레이드오프를 고려하여 결정해야 한다.
댓글 0
첫 번째 댓글을 남겨보세요!