전체 글
-
자연어로 DB 조회할 때 SQL이 자꾸 틀린다면? — Text-to-SQL 오류 해결 가이드프로그래밍 2026. 8. 4. 06:43
내부 LLM 시스템에 "자연어로 질문하면 DB를 조회해서 답해주는" 기능을 붙여본 사람이라면 한 번쯤 이런 상황을 겪었을 겁니다."지난달 매출 상위 5개 지점 알려줘"라고 물었더니 LLM이 존재하지도 않는 컬럼을 참조하거나, JOIN 조건이 틀린 SQL을 만들어서 에러가 나는 경우요. 이른바 Text-to-SQL 문제인데, 프로토타입 단계에서는 잘 작동하는 것처럼 보이다가 실제 운영 환경의 복잡한 스키마를 만나면 급격히 정확도가 떨어지는 대표적인 케이스입니다.이 글에서는 이 문제를 구조적으로 어떻게 접근하고 해결할 수 있는지 정리해봤습니다.문제를 두 갈래로 나눠보기Text-to-SQL 오류는 크게 두 가지 원인에서 발생합니다.스키마를 잘못 이해해서 생기는 오류 — 애초에 LLM이 어떤 테이블/컬럼이 존재..
-
LLM으로 sql생성시 쿼리 오류 해결책프로그래밍 2026. 8. 4. 06:42
자연어→SQL 변환(Text-to-SQL) 시스템에서 흔히 겪는 문제들은 크게 "스키마를 잘못 이해해서 생기는 오류"와 "생성 후 검증이 없어서 생기는 오류"로 나눠서 접근하면 효과적입니다.1. 스키마 그라운딩 강화 (근본 원인 해결)전체 스키마를 다 넣지 말고, 관련 있는 것만 선별질문과 관련된 테이블/컬럼만 임베딩 유사도로 검색해서 프롬프트에 넣기 (RAG 방식)테이블이 수십~수백 개면 전체를 넣을수록 오히려 혼동만 커짐스키마 설명을 풍부하게단순히 컬럼명만 주지 말고, 컬럼별 설명, 데이터 타입, 예시 값, PK/FK 관계까지 명시테이블/컬럼명이 축약어라면 자연어 별칭(alias) 매핑 테이블 별도 관리 (예: cust_ord_dt → "고객 주문일자")Few-shot 예제 제공자주 나오는 질문 유형..
-
[허깅페이스 초보 시리즈 10편] 결과 비교 + 모델 업로드로 마무리하기프로그래밍 2026. 8. 2. 19:24
[허깅페이스 초보 시리즈 10편] 결과 비교 + 모델 업로드로 마무리하기9편에서 SmolLM3-3B를 처음으로 직접 파인튜닝했습니다. 마지막 편에서는 두 가지를 합니다. 파인튜닝 전과 후 모델의 답변이 실제로 어떻게 달라졌는지 직접 비교하고, 완성된 모델을 허깅페이스 허브에 올려서 다른 사람도 쓸 수 있게 공유합니다.파인튜닝 전/후 비교하기1편에서 만들었던 텍스트 생성 함수를 다시 씁니다. 3편에서 함수로 정리해뒀던 게 여기서 그대로 재사용됩니다.def generate_answer(model, tokenizer, question): messages = [{"role": "user", "content": question}] text = tokenizer.apply_chat_template(mes..