diff --git a/ideas/250909_로빙_검색_API_통합_전략.md b/ideas/250909_로빙_검색_API_통합_전략.md index d284e2f..9af34e5 100644 --- a/ideas/250909_로빙_검색_API_통합_전략.md +++ b/ideas/250909_로빙_검색_API_통합_전략.md @@ -2,8 +2,8 @@ **작성일**: 2025-09-09 **작성자**: happybell80 & Claude -**관련 서비스**: rb8001 (SearchService 내부 구현) -**핵심 기술**: Multi-provider Search API, Query Routing, Caching +**관련 서비스**: rb8001 (RAG 스킬 내부 구현) +**핵심 기술**: Multi-provider Search API, Query Routing, Caching, RAG ## 1. 검색 프로바이더 계층 구조 @@ -25,7 +25,7 @@ 검색 의도 추가: LLM 프롬프트에 "검색 요청은 /search로" 또는 직접 패턴 매칭. ```python -# rb8001/app/services/search_service.py +# rb8001/app/skills/rag.py def route_by_pattern(query): if "뉴스" in query: return 'news_api' if "언제" in query: return 'duckduckgo' # 즉답 @@ -35,7 +35,7 @@ def route_by_pattern(query): ## 3. 구현 아키텍처 ``` -사용자 → rb8001 내부 SearchService +사용자 → rb8001 내부 RAG 스킬 ↓ [Query Router] ↓ @@ -66,12 +66,13 @@ Tavily Brave Serper DuckDuckGo ### 예상 월 비용: $0.05 -## 6. 구현 위치: rb8001/app/services/search_service.py +## 6. 구현 위치: rb8001/app/skills/rag.py -별도 스킬 서비스 대신 rb8001 내부 SearchService로 구현 -- 의도 분류 후 직접 처리 (네트워크 홉 감소) -- Phase 1: Tavily + DuckDuckGo 통합 -- Phase 2: 복잡도 증가 시 skill-search 분리 검토 +별도 마이크로서비스 대신 rb8001 내부 RAG 스킬로 구현 +- 웹 검색 + 파일 RAG 통합 처리 +- Phase 1: Tavily + DuckDuckGo 웹 검색 +- Phase 2: ChromaDB 파일 검색 통합 +- Phase 3: 복잡도 증가 시 skill-rag 분리 ## 7. 핵심 차별점