Spaces:
Running
Running
Commit History
26 days ago
-
feat: cross-market penalty + date/time-block query logs
Juhaha +1: Claude Opus 5 (1M context)교차 시장 감점 (DIO 보고 2026-09-21) - "애플 차트"처럼 해외 종목이 확정된 질의에서 2위에 국내주식>종목차트가 남던 문제. 시장 판별이 하드 필터가 아니라 가산이라 반대 시장의 **동명 메뉴**가 메뉴명 일치만으로 상위를 지켰다. - STOCK_DOMAIN_PENALTY_WEIGHT(기본 0.01) 신설. 종목 도메인이 확정되고 후보가 반대 시장의 행위 사전(_STOCK_ACTION_MENUS: 차트·리포트·호가) 등재 메뉴일 때만 감점한다. 도메인이 모호하면(동률) 미적용. 대상이 좁아 일반 후보의 recall 손실이 없고, 0으로 두면 기존 동작. - 평가 스크립트에 forbidden_ids 추가. 기존 지표는 정답 순위만 봐서 "1위는 맞지만 2위에 오답"을 구조적으로 잡지 못했다. forbidden_in_top3로 집계한다. 검색 로그 날짜·시간대 분리 - mcp_queries.<pid>.jsonl 은 로테이션이 없어 파일 하나가 수십 MB로 자랐고, PID가 컨테이너 재생성 시 재사용되어 한 파일에 여러 날짜와 이미지 버전의 기록이 섞였다. - mcp_queries.<YYYY-MM-DD>.<HH-HH>.<pid>.jsonl 로 변경. 6시간 4구간 (MCP_QUERY_LOG_BLOCK_HOURS), 크기 상한 32MB×5(MCP_QUERY_LOG_MAX_BYTES, _BACKUPS), 보존 15일(MCP_QUERY_LOG_RETENTION_DAYS, 0이면 미삭제). 보존 정리는 파일명의 날짜로 판단하고 구버전 파일은 mtime으로 처리한다. refinedQuery 사용 비율 집계 - 로그에 refinedQueryCount(호출 측이 보낸 개수) 추가. refinedQuerySha256은 채택된 질의가 원문과 다를 때만 실려서 "보냈으나 원문이 채택된" 경우를 셀 수 없었다. - scripts/76_refined_query_ratio.py: 전송률과 채택률을 나눠 집계. 날짜별…2dba891
-
feat: lexical gate + path display rule (2depth) + health_report module
Juhaha41c019d
-
fix: mark account opening as popup
Juhaha97efbb4
-
fix: return domestic and overseas account menus
Juhahaff3e892
-
fix: address W5 menu search QC cases
Juhahab97b073
-
feat: deploy versioned MCP search and W4 quality fixes
Juhahad30d906
-
chore: BIX 29건/도달성 xlsx 해결상태 칼럼 채우기 스크립트
Juhaha배포 설정(HyDE on + 소프트 필터 w=0.005) 채점 결과를 regression_case_id 기준 매칭. 25/29 해결, 도달성 2/10. openpyxl로 기존 서식 보존.e23f11f -
chore: 디버그 로그 덤프 케이스 확대 + 소프트 필터/컷오프 반영
Juhaha시장/상품(해결)·행위의도(해결·미해결)·관련성 컷오프 예시·정상 8개 케이스. 소프트 카테고리 가점 반영, 미해결 케이스는 후보 순위 진단, 컷오프 케이스는 최상위 cos 낮음을 근거로 표시.d42a8d4 -
feat: 카테고리 소프트 필터 도입 (하드 pre-filter → 약한 가점)
Juhaha교차카테고리 행위 의도 케이스(입고/전환/통합/대회/펀드) 개선. 하드 필터가 감지 카테고리로 후보를 pre-filter 하면서, 정답 메뉴가 다른 카테고리에 있는 의도 케이스를 후보째 제외하던 문제를 해결. - where pre-filter 대신 매칭 카테고리에 CATEGORY_SOFT_BOOST_WEIGHT(0.005) 가점 - 전체 recall 보존 → 교차카테고리 정답 생존, 시장 케이스는 가점으로 유지 - scripts/42_soft_grid.py: 가중치 그리드 측정 도구 측정(BIX 회귀): 확정실패 29건 22→25(HyDE on), 302 Top-1 68.9→69.9%, Top-3 91.1→92.7%. 시장/파생 케이스 회귀 0. 남은 실패: REG-008/009/010(자산뱅킹 정답의 강한 해외 dense 끌림) + 021(답지 모호).46f10b0
-
chore: BIX 확인요청 1~4번용 단계별 디버그 로그 덤프 스크립트
Juhaha대표 케이스의 질의 분석 / 후보 Top-N(점수) / 최종 Top-3를 markdown으로 출력. 실제 서빙 경로와 동일하게 카테고리 pre-filter 적용, 실패 케이스는 원인 진단 포함.c2b7e24 -
feat: 쿼리 인덱스 ChromaDB→Qdrant 통일 + 도메인/상품 라우팅 보강
Juhaha[핵심] 쿼리 인덱스(Q↔Q)가 ChromaDB 0.6.x의 HNSW 영속화 버그로 빌드 후 'Cannot open header file'로 로드 실패 → search()가 예외를 조용히 삼켜 QI 기여가 전역 0이 되어 사실상 죽어 있었음. 메인 스토어와 동일한 Qdrant로 통일하여 영속화를 일원화. - core/qdrant_conn.py: 공유 Qdrant 클라이언트 싱글톤 (local 모드 단일 인스턴스 제약) - core/query_vectorstore.py: ChromaDB→Qdrant 전면 교체, 검색 인터페이스 유지 - core/vectorstore.py: 공유 클라이언트 사용 - scripts/20_build_query_index.py: Qdrant 빌드로 전환 도메인/상품 라우팅: - _detect_category: 해외>파생>국내 동점 우선순위, 미국→해외, 랩→금융상품 - 상품 하위폴더 경로 부스트(국내CFD/해외CFD/금현물) — REG-026 - 행위의도/도달성 앵커 30개 추가(다양한 표현, 현업 29문장 홀드아웃) 측정(HyDE off): 확정실패 29건 19→22 통과, 302 Top-1 66.6→68.9%, Top-3 89.4→91.1% (회귀 없이 전반 개선)fab35a9 -
fix: 랩(Wrap)을 금융상품으로 재매핑 + BIX 회귀 채점 하네스 추가
Juhaha- 랩계좌/wrap → 금융상품(SCR_4481 Wrap계좌) (파생상품 오매핑 수정) - scripts/40_bix_regression.py: 현업 평가셋(302문항+29건+도달성) 자동 채점 회귀 결과(HyDE off): 확정실패 29건 중 18건 통과, 302 Top-3 89.4%(+3.3p)4c3c50c
-
HF Spaces 데모 배포 (Streamlit + Qdrant 임베디드, 색인 빌드타임 생성)
Juhahafbd1091