데이터 구조화 및 Hybrid RAG 파이프라인

검색은 경고의 설명을 돕는다

현재 창업 경고 등급은 verdict 규칙 코드가 정합니다. 검색과 LLM은 뉴스·지원 자료를 찾고 이미 계산된 사실을 설명하는 역할입니다. 검색 성능이 높다는 사실만으로 판정이 옳거나 리포트 문장이 정확하다고 결론내릴 수 없습니다.

초기 과제명과 현재 검색 구현

초기 Hybrid RAG 설계는 벡터 검색과 키워드 검색의 결합을 제안했습니다. 확인한 현재 rag_repository.py는 pgvector 코사인 유사도 검색 + 원천·만료 공고 SQL 필터를 사용합니다. RagSearchInteractor는 뉴스 검색에 여유 후보를 가져온 뒤 같은 사건을 접습니다. BM25·키워드 점수와 벡터 점수를 합치는 구현은 확인되지 않았습니다.

단계 현재 코드의 역할
청크 생성 기업마당 공고·뉴스를 출처와 원문 링크를 가진 검색 단위로 구성
색인 임베딩 포트를 통해 벡터 저장. fp16·Ollama·Gemini 어댑터 구분
검색 질문 임베딩 → 코사인 정렬 → 정형 필터
뉴스 후처리 제목 유사도·보도일 창으로 같은 사건 중복을 줄임
리포트 사실 판정·대안·지표·뉴스·지원 후보 등 13키를 코드가 먼저 수집
설명 생성 LLM에 사실을 전달하고 6개 절을 토큰 스트리밍

사실 선수집과 실패 격리

ReportFactsCollector는 6개 작업 스레드로 조회를 수행하며 실패한 항목을 available: false와 사유로 바꿉니다. 같은 사실 묶음이 화면의 표·차트와 LLM 입력에 전달됩니다. LLM이 모든 원천을 임의로 반복 조회하며 생기던 왕복을 줄이고 일부 조회가 실패해도 나머지 근거를 읽도록 했습니다.

리포트의 절은 판정 → 이유 → 유사 사례 → 조건 → 대안 → 지원사업입니다. 유사 사례의 수치 문장은 코드가 구성하며 범위를 서울 전체로 명시합니다. 이는 동·구 단위 효과나 사건의 인과 효과가 아닙니다.

평가 결과와 한계

2026-09-25 저장 결과에서 confirmed 180건의 fp16 Hit@5 1.000·MRR 0.9502, Ollama Hit@5 1.000·MRR 0.9463을 확인했습니다. 평가셋은 공고·뉴스 검색용이며 실제 모든 사용자 질문을 대표하지 않습니다. 초기 Recall@5 91.5% 목표 달성률이나 창업 경고 정확도로 바꾸지 않습니다. 결과 파일과 정의는 검증 결과와 원문 근거에 있습니다.


팀 Beyond Facade — Metabole 창업 경고 서비스 개발 문서. 경고 없음은 성공·안전·추천을 보장하지 않습니다.

창업 경고의 근거와 구현 기록 전체 문서 검증 결과 최종 산출물