데이터베이스 채팅
데이터베이스 채팅은 데이터베이스에 대해 모든 것을 알고 있는 AI 기반 챗봇입니다. 스키마와 데이터베이스 데이터 모두를 이해합니다. 사용자가 명시적으로 허용하면, 데이터를 조회하기 위해 SQL 쿼리를 실제로 실행할 수도 있습니다.
기본 개념
자연어 대화 – 어떤 자연어로든 질문을 하면, 즉시 답변이나 바로 실행 가능한 SQL 쿼리를 받을 수 있습니다.
컨텍스트 인지형 지능 – 모델이 데이터베이스 스키마와 실시간 데이터를 이해하여 조인, 필터, 집계에 대해 정확한 제안을 제공합니다.
반복적인 워크플로우 – 결과를 검토한 뒤, “날짜 필터 추가”, “고객별로 그룹화” 같은 간단한 명령으로 변경을 요청하면 쿼리가 즉시 업데이트됩니다.
사용자가 항상 통제 – SQL 쿼리는 사용자가 명시적으로 승인한 경우에만 실행됩니다.
OpenAI가 지원하는 모든 언어 사용 가능 – 영어, 프랑스어, 독일어, 스페인어, 포르투갈어, 이탈리아어, 일본어, 중국어, 한국어, 체코어 등 거의 모든 언어를 사용할 수 있습니다.
차트 – 결과로부터 막대 차트, 파이 차트, 선 차트 등 다양한 차트를 생성해 달라고 요청할 수 있습니다.
SQL 쿼리 실행 – 안전이 최우선
데이터베이스 채팅은 질문에 답하는 데 필요한 데이터를 얻기 위해 SQL 쿼리를 실행할 수 있습니다. 이 기능이 동작하는 모드는 여러 가지가 있습니다.
-
실행 전 SQL 실행 여부 묻기(기본값) – DbGate는 실행해야 할 각 쿼리마다 먼저 사용자에게 확인을 요청합니다.
-
SQL 자동 실행 – DbGate는 확인 없이 쿼리를 검사한 뒤 실행합니다. 실행 전에 쿼리를 검사하여, 순수한 SELECT 쿼리가 아닌 경우에는 사용자 확인을 요구합니다.
-
절대 실행하지 않고 SQL만 제안 – 채팅은 쿼리만 보여 주며, 사용자가 새 SQL 탭에서 열어 직접 실행할 수 있습니다. 이 모드에서는 데이터베이스의 어떤 데이터도 LLM으로 전송되지 않으므로, 채팅은 실제 데이터에 기반한 응답을 생성할 수 없습니다.
오류 처리
LLM 모델은 완벽하지 않기 때문에, 때때로 유효하지 않거나 동작하지 않는 쿼리를 제안할 수 있습니다. 이 경우 DbGate는 오류를 표시하고, 이 오류를 쿼리 결과로서 LLM에 다시 전송합니다. 대부분의 경우 LLM은 오류 메시지를 자동으로 분석하여 올바른 새 쿼리를 제안할 수 있습니다.
컨설턴트로서의 채팅 활용
데이터베이스 채팅은 저장 프로시저와 뷰 정의와도 함께 작업할 수 있습니다. 따라서 다음과 같은 질문을 할 수 있습니다.
- 프로시저 proc_ImportProjectFromHelios를 설명해 줘
- Project 테이블로 데이터를 가져오는 데 사용되는 프로시저는 무엇인가요
- 프로시저 proc_ImportUsersFromAD에 의해 영향을 받는 테이블은 무엇인가요
DbGate는 또한 질문에 답하기 위해 어떤 뷰와 저장 프로시저를 분석했는지도 보여 줍니다.
SQL AI 어시스턴트
데이터베이스 채팅을 SQL AI 어시스턴트로 사용하여 SQL 쿼리 작성을 도울 수 있습니다. 예를 들어 다음과 같이 질문할 수 있습니다.
- 매출 기준 상위 10명의 고객을 조회하는 SQL 쿼리를 작성해 줘
또한 오류 메시지 옆의 “Explain” 버튼을 클릭하여, AI에게 오류 설명을 요청할 수 있습니다.
사용되는 LLM 모델
현재 OpenAI GPT 모델을 사용하며(현재는 GPT-4o mini와 GPT-4.1 mini 중에서 선택 가능), 앞으로 더 많은 모델을 지원할 계획입니다.
데이터베이스 채팅은 모든 Premium 및 Team Premium 사용자에게 제공되며, 별도의 API 키나 기타 설정 없이 바로 채팅을 시작할 수 있습니다.
DbGate는 자체 AI 게이트웨이를 사용하여 요청을 OpenAI API로 전달합니다.