LLM이 외부 시스템과 상호작용할 수 있도록 해주는 Tool Calling은 다양한 도구를 활용할 수 있어요. 그중에서도 Database Tool을 사용하면, LLM이 데이터베이스에서 직접 정보를 조회하고, 추가하거나, 수정, 삭제하는 작업까지 수행할 수 있어요.
✅ Database Tool을 활용하면 할 수 있는 것
✔ 데이터 조회 (Read) → 특정 데이터를 검색
✔ 데이터 추가 (Create) → 새로운 데이터를 삽입
✔ 데이터 수정 (Update) → 기존 데이터를 변경
✔ 데이터 삭제 (Delete) → 필요 없는 데이터를 삭제
이러한 기능은 일반적으로 SQL(Structured Query Language)을 사용하여 수행돼요.
✅ 예제 1: 데이터 조회 사용자: "우리 회사에서 가장 많이 팔린 제품은 뭐야?"
LLM이 Database Tool을 사용하여 실행하는 SQL 쿼리:
SELECT product_name, SUM(sales) AS total_sales
FROM sales_data
GROUP BY product_name
ORDER BY total_sales DESC
LIMIT 1;
👉 결과: "가장 많이 팔린 제품은 '스마트 워치 A'입니다."
✅ 예제 2: 데이터 추가 사용자: "새로운 고객 정보를 추가해줘."
LLM이 실행하는 SQL 쿼리:
INSERT INTO customers (name, email, phone)
VALUES ('김철수', 'chulsoo@example.com', '010-1234-5678');
👉 결과: "김철수 고객 정보가 성공적으로 추가되었습니다!"
✅ 예제 3: 데이터 수정 사용자: "고객 김철수의 이메일을 변경해줘."
LLM이 실행하는 SQL 쿼리:
UPDATE customers
SET email = 'new_email@example.com'
WHERE name = '김철수';
👉 결과: "김철수의 이메일이 변경되었습니다!"
✅ 예제 4: 데이터 삭제 사용자: "ID가 1001인 주문을 삭제해줘."
LLM이 실행하는 SQL 쿼리:
DELETE FROM orders
WHERE order_id = 1001;
👉 결과: "주문 ID 1001이 삭제되었습니다!"
1️⃣ 사용자가 질문 또는 요청을 입력
예: "고객 ID가 200번인 사람의 구매 기록을 보여줘."
2️⃣ LLM이 SQL 쿼리를 자동 생성
SELECT * FROM purchases WHERE customer_id = 200;
3️⃣ Database Tool이 SQL을 실행하고 결과를 반환
결과 예시:
주문번호 | 제품명 | 가격
---------------------------
3021 | 스마트폰 | 1,000,000원
4088 | 태블릿 | 700,000원
4️⃣ LLM이 사용자에게 자연어로 응답
"고객 ID 200번의 구매 기록은 스마트폰(1,000,000원)과 태블릿(700,000원)입니다."
Database Tool을 활용하는 이유
✅ 1) 실시간 데이터 제공 가능
일반적인 LLM은 사전에 학습된 데이터만을 활용하기 때문에 최신 정보를 반영하기 어려움
Database Tool을 사용하면 실시간으로 최신 정보를 조회하여 제공 가능
✅ 2) 대규모 데이터 관리 가능
기업의 데이터는 보통 데이터베이스에 저장됨
Database Tool을 사용하면 방대한 데이터를 필요할 때 바로 불러올 수 있음
✅ 3) 자동화된 데이터 처리 가능
LLM이 직접 SQL을 생성하고 실행하면 사람이 직접 데이터베이스를 관리할 필요 없이 자동화 가능
Tool Calling + Database Tool 한눈에 정리
Database Tool이 활용되는 예시
🚀 기업 환경에서의 활용
고객 데이터 조회: 고객의 주문 내역, 결제 기록 등 확인
매출 분석: 특정 기간 동안의 판매량 및 매출 통계 조회
재고 관리: 현재 남아있는 제품 재고 확인
자동화된 보고서 생성: 경영진을 위한 주간/월간 보고서 자동 생성
🏥 의료 분야에서의 활용
환자 정보 관리: 병원에서 환자의 진료 기록을 빠르게 조회
검사 데이터 조회: 특정 환자의 혈액 검사 결과를 확인
의료 기기 유지보수 데이터 조회: 사용 중인 초음파 장비의 유지보수 기록 확인
📊 금융 및 회계에서의 활용
계좌 내역 조회: 특정 고객의 계좌 잔액 및 거래 내역 조회
세금 보고서 자동 생성: 데이터베이스에서 세금 관련 데이터를 가져와 보고서 작성
카드 사용 내역 분석: 특정 패턴의 카드 사용 내역 분석
실제 코드 예제 (Python + Database Tool 연동)
아래는 LLM이 Database Tool을 사용해 데이터베이스에서 정보를 조회하는 코드 예제예요.
import sqlite3
# SQLite 데이터베이스 연결
conn = sqlite3.connect("company.db")
cursor = conn.cursor()
# SQL 실행 (예: 가장 많이 팔린 제품 조회)
query = """
SELECT product_name, SUM(sales) AS total_sales
FROM sales_data
GROUP BY product_name
ORDER BY total_sales DESC
LIMIT 1;
"""
cursor.execute(query)
# 결과 가져오기
result = cursor.fetchone()
print(f"가장 많이 팔린 제품은 '{result[0]}'입니다.")
# 연결 종료
conn.close()
LLM이 이 코드를 자동 생성하고 실행하면, 사용자의 질문에 맞는 데이터를 가져올 수 있음!