img

이번에는 Gemma를 이용해서 한국어를 SQL로 변환하여 DB를 쿼리하는 챗봇을 만들어보겠습니다.

추가문의

  • 작성자 : 김태영
  • 이메일 : tykim@aifactory.page

함께보기

Chinook 데이터베이스

Chinook 데이터베이스는 디지털 미디어 스토어를 모델링한 오픈 소스 샘플 데이터베이스입니다. 이 데이터베이스는 아티스트, 앨범, 미디어 트랙, 인보이스 및 고객 등과 관련된 테이블을 포함하고 있으며, 서로 관련된 테이블들이 사전에 데이터로 채워져 있습니다. Chinook 데이터베이스는 SQLite, PostgreSQL, MySQL, Oracle, MS SQL Server를 포함한 다양한 데이터베이스 형식으로 제공되며, 데이터베이스 및 데이터베이스 디자인에 대해 배우거나 새로운 도구를 시도해보고자 할 때 유용하게 사용될 수 있습니다

img

Chinook 데이터베이스 준비

img

gemma LoRA 설정

img

chinook-ko2sql-1k 데이터셋

chinook DB를 기반으로 한국어 to SQL 쌍으로 ChatGPT를 통해 만들었습니다.

img

아래 링크에서 다운로드 받을 수 있습니다.

다운로드

수행결과

img

USER > 모든 트랙의 평균 길이는 몇 분인가요?
1.4143006801605225 seconds.
SELECT AVG(Milliseconds) / 60000.0 AS AverageLengthMinutes FROM Track;
Gemma> [(6.559986868398515,)]
USER > 어떤 미디어 타입이 가장 인기가 많나요?
2.131500720977783 seconds.
SELECT MediaType.Name, COUNT(*) AS TotalTracks FROM MediaType JOIN Track ON MediaType.MediaTypeId = Track.MediaTypeId GROUP BY MediaType.MediaTypeId ORDER BY TotalTracks DESC LIMIT 1;
Gemma> [('MPEG audio file', 3034)]
USER > quit

더보기

LoRA 파인튜닝 공식 예제는 다음과 같습니다.

추가문의

  • 작성자 : 김태영
  • 이메일 : tykim@aifactory.page

함께보기