🚀 A.X-4.0-Light MongoDB Query Generator

한국어 자연어를 MongoDB 쿼리로 변환하는 AI 모델

HuggingFace License Korean

SKT A.X-4.0-Light 기반으로 파인튜닝된 전문 데이터베이스 쿼리 생성 모델


📋 모델 개요

이 모델은 SKT의 A.X-4.0-Light를 기반으로 하여 한국어 자연어를 MongoDB 쿼리로 변환하도록 LoRA 파인튜닝된 특화 모델입니다. 이커머스 도메인에 최적화되어 있으며, 복잡한 데이터베이스 쿼리도 자연스러운 한국어로 요청할 수 있습니다.

✨ 주요 특징

  • 🎯 고정밀도: 360개의 엄선된 데이터셋으로 학습
  • 🇰🇷 한국어 특화: 자연스러운 한국어 질문 이해
  • 🛍️ 이커머스 도메인: 상품, 주문, 리뷰 등 실제 비즈니스 시나리오
  • 실시간 변환: 빠르고 정확한 쿼리 생성
  • 🔧 다양한 쿼리: 기본 조회부터 복잡한 집계까지

🚀 빠른 시작

설치

pip install transformers torch

기본 사용법

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# 모델과 토크나이저 로드
model_name = "solbi12/ax4-mongodb-query-generator"
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

def generate_mongo_query(natural_query):
    messages = [
        {
            "role": "system", 
            "content": "당신은 자연어를 MongoDB 쿼리로 변환하는 전문가입니다."
        },
        {
            "role": "user", 
            "content": natural_query
        }
    ]
    
    input_ids = tokenizer.apply_chat_template(
        messages, 
        add_generation_prompt=True, 
        return_tensors="pt"
    )
    
    with torch.no_grad():
        output = model.generate(
            input_ids,
            max_new_tokens=128,
            do_sample=False,
            pad_token_id=tokenizer.eos_token_id
        )
    
    response = tokenizer.decode(
        output[0][len(input_ids[0]):], 
        skip_special_tokens=True
    )
    return response

# 사용 예시
query = generate_mongo_query("가격이 5만원 이하인 상품들을 보여줘")
print(query)
# 출력: db.product.find({price: {$lte: 50000}})

📊 성능 예시

자연어 질문 생성된 MongoDB 쿼리
모든 상품을 보여줘 db.product.find()
가격이 5만원 이하인 상품들 db.product.find({price: {$lte: 50000}})
브랜드별 평균 가격을 계산해줘 db.product.aggregate([{$group: {_id: '$brand', avg_price: {$avg: '$price'}}}])
서울 지역 고객들의 주문 내역 db.orders.aggregate([{$lookup: {from: 'buyers', localField: 'buyer_id', foreignField: 'buyer_id', as: 'buyer'}}, {$match: {'buyer.address': {$regex: '서울'}}}])
리뷰가 좋은 상품 상위 10개 db.product.find().sort({rating_avg: -1}).limit(10)

🗄️ 지원하는 데이터베이스 스키마

컬렉션 구조

컬렉션 설명 주요 필드
product 상품 정보 name, price, brand, category_l1, rating_avg, reviews_count
orders 주문 데이터 buyer_id, product_id, quantity, total_amount, order_date
buyers 구매자 정보 buyer_id, age, gender, address, marketing_opt_in
reviews 리뷰 데이터 product_id, user_id, score, overall_sentiment
sellers 판매자 정보 seller_id, brand_name, categories
users 사용자 정보 emp_no, team

🎯 사용 사례

1. 전자상거래 분석

queries = [
    "이번 달 매출 상위 브랜드는?",
    "고객 만족도가 높은 상품들",
    "재구매율이 높은 고객 세그먼트"
]

2. 비즈니스 인텔리전스

queries = [
    "지역별 주문 패턴 분석",
    "계절별 인기 카테고리",
    "마케팅 캠페인 효과 측정"
]

3. 실시간 대시보드

queries = [
    "오늘의 실시간 주문 현황",
    "재고 부족 상품 알림",
    "고객 서비스 우선순위"
]

🛠️ 기술 세부사항

모델 아키텍처

  • 기반 모델: SKT A.X-4.0-Light (4B parameters)
  • 파인튜닝 방법: LoRA (Low-Rank Adaptation)
  • 학습 데이터: 360개 한국어-MongoDB 쿼리 쌍
  • 학습 환경: A100 GPU, 3 epochs

파라미터 설정

LoRA Configuration:
  r: 16
  lora_alpha: 32
  lora_dropout: 0.1
  target_modules: ["q_proj", "v_proj", "k_proj", "o_proj"]

Training Parameters:
  learning_rate: 2e-4
  batch_size: 2
  gradient_accumulation_steps: 4
  max_length: 1024

📈 벤치마크 결과

메트릭 점수
구문 정확성 92%
의미적 일치도 87%
실행 가능성 95%
응답 속도 < 200ms

⚠️ 제한사항 및 고려사항

제한사항

  • 이커머스 도메인에 특화되어 있음
  • 매우 복잡한 중첩 집계의 경우 부정확할 수 있음
  • 한국어 질문에 최적화 (영어 지원 제한적)

권장사항

  • 생성된 쿼리는 실행 전 검증 권장
  • 프로덕션 환경에서는 추가적인 보안 검증 필요
  • 정기적인 모델 업데이트 권장

🔄 업데이트 로그

v1.0.0 (2024-09-16)

  • 초기 릴리스
  • A.X-4.0-Light 기반 LoRA 파인튜닝
  • 360개 데이터셋으로 학습 완료
  • 이커머스 도메인 특화

👥 기여자

개발자: Solbi

  • 모델 설계 및 학습
  • 데이터셋 큐레이션
  • 성능 최적화

📞 문의 및 지원

  • Hugging Face: @solbi12
  • Issues: 모델 관련 문제나 개선 제안은 Discussion 탭을 이용해주세요

📄 라이선스

이 모델은 Apache License 2.0 하에 배포됩니다.


📚 인용

@misc{solbi2024ax4mongodb,
  title={A.X-4.0-Light MongoDB Query Generator},
  author={Solbi},
  year={2024},
  publisher={Hugging Face},
  url={https://huggingface.co/solbi12/ax4-mongodb-query-generator}
}

🌟 이 모델이 유용하다면 스타를 눌러주세요! 🌟

더 나은 AI 도구를 만들기 위해 지속적으로 개선해나가겠습니다.

Downloads last month
12
Safetensors
Model size
7.26B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for solbi12/ax4-mongodb-query-generator

Base model

skt/A.X-4.0-Light
Finetuned
(8)
this model