- 
                Notifications
    
You must be signed in to change notification settings  - Fork 10
 
Closed
Description
개요
기존 interface/app_pages/lang2sql.py 파일은 쿼리 실행, 결과 표시, 세션 그래프 초기화 로직이 모두 한 파일에 포함되어 있어 유지보수와 가독성이 떨어지는 문제가 있었습니다. 이를 해결하기 위해 기능 단위로 모듈을 분리했습니다.
주요 변경 사항
lang2sql_runner.py (실행 모듈)
자연어 질의를 SQL로 변환하고 DB에서 실행하는 로직을 run_lang2sql 함수로 분리
내부적으로 engine.query_executor.execute_query를 호출하여 파이프라인 실행을 단순화
result_renderer.py (결과 표시 모듈)
Streamlit UI에 결과(SQL, 표, 차트, 토큰 사용량 등)를 출력하는 기능을 별도 모듈로 분리
토큰 사용량, 문서 적합성 평가, 질문 게이트 결과, 참고 테이블 목록 등을 옵션에 따라 표시 가능
session_utils.py (세션 유틸리티 모듈)
Streamlit 세션 상태에서 그래프 빌더를 초기화하는 init_graph 함수로 분리
기본/확장 그래프를 동적으로 선택하고 세션 상태에 저장
기대 효과
유지보수성 향상: UI, 실행, 결과 표시, 세션 초기화가 명확히 구분되어 각 모듈을 독립적으로 관리 가능
가독성 개선: Streamlit 페이지 코드(lang2sql.py)가 UI 중심으로 단순화
확장성 강화: 검색기 추가, 결과 표시 형식 확장, 그래프 빌더 개선 시 다른 모듈에 영향을 최소화
Metadata
Metadata
Assignees
Labels
No labels