# DeepSearcher - 로컬 오픈소스 Deep Research

> Clean Markdown view of GeekNews topic #19487. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19487](https://news.hada.io/topic?id=19487)
- GeekNews Markdown: [https://news.hada.io/topic/19487.md](https://news.hada.io/topic/19487.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-02-28T11:03:19+09:00
- Updated: 2025-02-28T11:03:19+09:00
- Original source: [milvus.io](https://milvus.io/blog/introduce-deepsearcher-a-local-open-source-deep-research.md)
- Points: 15
- Comments: 1

## Summary

DeepSearcher는 오픈소스 모델과 도구를 활용하여 주제나 질문에 대해 자동으로 심층 리서치를 수행하는 에이전트를 구현하는 프로젝트입니다. 이 프로젝트는 쿼리 라우팅, 조건부 실행 흐름, 웹 크롤링 도구 사용 등을 통해 효율적인 리서치를 가능하게 하며, 특히 추론 모델의 속도와 효율성 문제를 해결하기 위해 SambaNova의 맞춤형 하드웨어에서 DeepSeek-R1 모델을 사용합니다. DeepSearcher는 아직 간단한 수준이지만, 추가적 에이전트 구성과 보고서 구조화 등을 통해 더 발전할 가능성이 있으며, GitHub 저장소에서 프로젝트를 체험할 수 있습니다.

## Topic Body

- 오픈소스 모델과 도구(Milvus, LangChain 등)를 활용해 **Deep Research** 형태의 리서치 에이전트를 구현  
- 웹·문서 검색을 통해 **주제나 질문에 대해 자동으로 심층 리서치**를 수행하고, 중간 단계마다 **행동(검색, 정리 등)을 선택**하는 에이전트 구조를 구현하는 사례가 늘어났음  
- 본문에서는 이러한 아이디어를 확장한 **DeepSearcher** 오픈소스 프로젝트를 소개. **쿼리 라우팅**, **조건부 실행 흐름**, **웹 크롤링 도구 사용** 등을 소개  
- DeepSearcher는 파이썬 라이브러리·CLI 형태로 제공되어, 여러 소스 문서를 입력받고 임베딩 모델 및 벡터 DB 설정을 파일로 간단히 조정할 수 있음  
- 간단하지만 **에이전트 기반 RAG**를 시연하는 사례로, 실제 AI 애플리케이션 개발로 이어지는 발판 역할을 할 수 있음  
- 특히 **추론 모델**의 속도와 효율성 문제가 강조되는데, 질의와 검색 과정에서 많은 토큰 생성이 필요해 **추론 리소스**가 병목이 됨  
- SambaNova의 맞춤형 하드웨어로 돌아가는 [DeepSeek-R1 reasoning model](https://sambanova.ai/press/fastest-deepseek-r1-671b-with-highest-efficiency)을 사용하면 초당 토큰 생성 속도가 경쟁 서비스보다 빠르게 나옴  
- 이러한 클라우드 추론 서비스를 통해 Llama 3.x, Qwen2.5, QwQ 등 다양한 모델에 대해서도 효율적인 추론이 가능해짐  
  
### 질문 정의 및 세분화  
- 초기 사용자 질의를 **세부 하위 질의**로 분해함  
- 이전 글과 유사하게, "How has The Simpsons changed over time?" 같은 질의가 아래와 같이 여러 하위 질의로 나누어짐  
  - 예: 작품의 문화·사회적 영향, 시즌별 캐릭터·유머·서사 방식 변화, 애니메이션·제작 기술 변화, 시청자 반응 변화 등  
- 이후 단계에서 필요하다면 추가적으로 **질문을 재정의**하거나 확장하기도 함  
  
### 리서치 및 분석  
- 하위 질의를 토대로 **쿼리 라우팅**, **벡터 검색**, **반성(reflection)**, 그리고 **조건부 반복** 단계를 거침  
- **쿼리 라우팅**  
  - 여러 데이터베이스 컬렉션 중 어떤 것을 사용할지 LLM이 결정하도록 프롬프트를 구성함  
  - JSON 형태 응답을 받아, 컬렉션별로 검색 질의를 생성하도록 함  
- **벡터 검색**  
  - [Milvus](https://milvus.io/docs)에 저장된 임베딩을 활용해 **유사도 검색**을 실행함  
  - 이전 글과 유사하게, 소스 데이터를 미리 분할하고 벡터화해둠  
- **반성(reflection)**  
  - LLM이 이전 단계에서 나온 질의·답변을 바탕으로 **추가 정보가 필요한지** 확인함  
  - 부족한 부분이 있으면 새로운 하위 질의를 생성해 재검색을 시도함  
- **조건부 반복**  
  - 반성 결과 추가 질의가 필요하면 위 과정을 반복함  
  - 더 이상 정보를 수집할 필요가 없다고 판단하면 최종 보고서를 생성하는 단계로 넘어감  
  
### 최종 보고서 생성  
- 모든 하위 질의와 검색 결과를 종합해 **하나의 프롬프트**로 보고서를 생성함  
- 이전 시연보다 **일관성과 응집력**을 높인 형태의 보고서를 얻게 됨  
- 예를 들어, “How has The Simpsons changed over time?”에 대한 최종 보고서는 아래와 같은 구조로 상세 내용을 제공함  
  - 1. 문화적 영향과 사회적 관련성  
  - 2. 캐릭터·유머·스토리라인 진화  
  - 3. 애니메이션·기술적 변화  
  - 4. 시청자 층, 반응, 시청률 변화  
  - 결론: 작품이 초기의 반항적 풍자에서 대중적 아이콘으로 변모한 과정 등  
- [DeepSeek-R1](https://sambanova.ai/press/fastest-deepseek-r1-671b-with-highest-efficiency) 모델을 사용한 버전과 GPT-4o mini 모델로 생성한 버전 보고서를 비교할 수 있음  
  
### 향후 방향  
- DeepSearcher는 아직 간단한 수준이나, **추가적 에이전트 구성**, **보고서 구조화**, **조건부 반복 확장** 등으로 더 발전시킬 수 있음  
- 대규모 추론 모델은 **매우 무거운 연산**을 수반하므로, **추론 속도**와 **비용**이 서비스의 핵심 이슈가 됨  
- SambaNova의 DeepSeek-R1 모델을 이용해 65회 추론 호출, 약 25k 입력 토큰과 22k 출력 토큰을 사용했으며, 약 0.30달러 비용으로 충분히 빠른 응답을 얻었다고 함  
- [DeepSearcher 저장소](https://github.com/zilliztech/deep-searcher)에서 프로젝트를 직접 체험 가능하며, 앞으로도 추가 기능과 사례를 지속적으로 공유할 계획임  
  
* 참고 링크  
  - [DeepSearcher GitHub](https://github.com/zilliztech/deep-searcher)  
  - [이전 글: “I Built a Deep Research with Open Source—and So Can You!”](https://milvus.io/blog/i-built-a-deep-research-with-open-source-so-can-you.md)  
  - [SambaNova - Fastest DeepSeek-R1 671B](https://sambanova.ai/press/fastest-deepseek-r1-671b-with-highest-efficiency)  
  - [Milvus Open-Source Vector Database](https://milvus.io/docs)

## Comments



### Comment 35238

- Author: neo
- Created: 2025-02-28T11:03:19+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43172338) 
- 이 시스템은 로컬 LLM을 사용하지 않아서 진정한 로컬 시스템이 아님
  - Ollama와 LM Studio가 호스팅하는 로컬 LLM을 사용할 수 있는 깊은 검색기가 있는지 궁금함

- HuggingFace의 오픈소스 버전과 비교가 궁금함
  - HF 버전은 웹을 탐색하고 결과를 수집한 후 평가하여 최종 결과를 합성하는 추론 LLM을 사용함
  - 이 버전은 웹 크롤링에서 생성된 문서의 벡터 저장소를 보여주는 것 같음

- Grok의 구현의 마법은 대부분의 웹사이트를 캐시하고 있어서 매우 빠르게 느껴짐
  - Bing/Brave 검색은 그 기능을 제공하지 않는 것 같음
  - 이런 서비스가 존재하는지 궁금함

- Deep Research에 대한 다양한 접근을 좋아함
  - Flow를 사용하여 새로운 워크플로우를 시도 중임

- 관련된 두 개의 블로그 게시물이 있음
  - 오픈소스를 사용하여 Deep Research를 구축한 경험을 공유함

- 주요 AI 회사들이 동일한 Deep Research 제품을 만들었으므로, 공유 오픈소스 플랫폼에 집중하는 것이 합리적일 것임

- 웹 크롤링 통합의 실질적인 의미가 궁금함
  - 이론적으로 Sci-Hub에서 논문을 읽고 유효한 대학원 수준의 연구를 생성하는 데 사용될 수 있을지 궁금함
  - DeepSeek R1과 GPT-4o 및 다른 대형 모델을 사용하여 작성된 보고서를 비교하는 데 유용할 수 있음
  - 오픈소스 코드가 다양한 LLM의 한계를 더 빨리 드러내고 특정 필요에 맞는 더 나은 추론 루프 개발에 도움을 줄 수 있음

- 개인 노트(Obsidian)와 웹에 연결할 수 있는 Deep Research 도구를 찾고 있었음
  - 이 도구가 그 기능을 가지고 있는 것 같음
  - 이제 남은 것은 Deep Research 결과를 Obsidian으로 내보내는 방법을 찾는 것임

- 실제로 사용해 보았고 몇 가지 문제에 직면하여 openAI 텍스트 임베딩을 MilvusEmbedding으로 교체해야 했음
  - QuickStart의 반응이 좋았음

- 진정한 마법의 총알은 lib-gen과 sci-hub를 검색하는 것임
