Skip to content

Feat/v2 migration#213

Merged
seyoung4503 merged 10 commits intomasterfrom
feat/v2-migration
Feb 28, 2026
Merged

Feat/v2 migration#213
seyoung4503 merged 10 commits intomasterfrom
feat/v2-migration

Conversation

@seyoung4503
Copy link
Collaborator

#️⃣ Issue Number

  • TBD

📝 요약(Summary)

  • LangChain / LangGraph 의존성을 전면 제거하고 순수 Python 기반의 v2 모듈 아키텍처로 마이그레이션한다.
  • LLM 5개·Embedding 5개 프로바이더를 추가하고, QuestionGateHybridRetriever
    TableSuitabilityEvaluatorQuestionProfilerContextEnricherSQLGeneratorSQLExecutor
    7단계로 구성된 EnrichedNL2SQL 풀 파이프라인을 구현한다.
  • engine/, utils/llm/graph_utils/, utils/llm/vectordb/ 등 LangChain·LangGraph 기반 레거시 모듈을
    삭제하고 CLI 및 Streamlit UI를 v2 플로우 기반으로 교체한다.

💬 To Reviewers (선택)

  • EnrichedNL2SQL 7단계 파이프라인 (flows/enriched_nl2sql.py): gate_enabled=False
    QuestionGate를 선택적으로 비활성화할 수 있습니다. Gate 판단 기준(LLM 프롬프트)이 실제 도메인에 적합한지
    검토 부탁드립니다. (components/gate/prompts/question_gate.md)
  • chatbot_tool.search_database_tables 임시 수정 (utils/llm/tools/chatbot_tool.py): 삭제된
    utils/llm/retrieval.py 의존성 제거를 위해 KeywordRetriever + DataHubCatalogLoader로 교체했으나,
    시맨틱 검색 대비 정확도가 낮아 완전한 대체는 아닙니다. 추후 LangGraph 기반 chatbot.py 전체를 v2 Agent
    모드로 교체할 예정이므로 현재는 임시 구현으로 유지합니다.
  • 레거시 삭제 범위: engine/, utils/llm/graph_utils/, utils/llm/output_schema/,
    utils/llm/vectordb/, utils/llm/chains.py, utils/llm/retrieval.py, prompt/ 디렉터리가 모두
    삭제됩니다. 삭제 전 의존 관계 확인 부탁드립니다.

PR Checklist

  • 변경 사항에 대한 테스트 작성 (QuestionGate, TableSuitabilityEvaluator, QuestionProfiler,
    ContextEnricher, EnrichedNL2SQL 각 컴포넌트 단위 테스트)
  • 기존 테스트 전체 통과 확인 (pytest tests/ — 145 passed, 6 skipped)
  • 공개 API __init__.py 업데이트 (EnrichedNL2SQL, 신규 LLM/Embedding 프로바이더 export)
  • 레거시 삭제 후 사이드이펙트 수정 (utils/llm/vectordb/ 삭제, chatbot_tool.py 임포트 교체)
  • 프로덕션 테스트 가이드 문서 추가 (docs/production_test_guide.md)

reference) How to Code Review

  • 따봉(👍): 리뷰어가 리뷰이의 코드에서 칭찬의 의견을 남기고 싶을 때 사용합니다.
  • 느낌표(❗): 리뷰어가 리뷰이에게 필수적으로 코드 수정을 요청할 때 사용합니다.
  • 물음표 (❓): 리뷰어가 리뷰이에게 의견을 물어보고 싶을 때 사용합니다.
  • 알약 (💊): 리뷰어가 리뷰이의 코드에서 개선된 방법을 제안하지만 그것의 반영이 필수까지는 아닐 때 사용합니다.

@seyoung4503 seyoung4503 merged commit e05ff07 into master Feb 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant