DeepSearcher - 로컬 오픈소스 Deep Research

2 weeks ago 6

  • 오픈소스 모델과 도구(Milvus, LangChain 등)를 활용해 Deep Research 형태의 리서치 에이전트를 구현
  • 웹·문서 검색을 통해 주제나 질문에 대해 자동으로 심층 리서치를 수행하고, 중간 단계마다 행동(검색, 정리 등)을 선택하는 에이전트 구조를 구현하는 사례가 늘어났음
  • 본문에서는 이러한 아이디어를 확장한 DeepSearcher 오픈소스 프로젝트를 소개. 쿼리 라우팅, 조건부 실행 흐름, 웹 크롤링 도구 사용 등을 소개
  • DeepSearcher는 파이썬 라이브러리·CLI 형태로 제공되어, 여러 소스 문서를 입력받고 임베딩 모델 및 벡터 DB 설정을 파일로 간단히 조정할 수 있음
  • 간단하지만 에이전트 기반 RAG를 시연하는 사례로, 실제 AI 애플리케이션 개발로 이어지는 발판 역할을 할 수 있음
  • 특히 추론 모델의 속도와 효율성 문제가 강조되는데, 질의와 검색 과정에서 많은 토큰 생성이 필요해 추론 리소스가 병목이 됨
  • SambaNova의 맞춤형 하드웨어로 돌아가는 DeepSeek-R1 reasoning model을 사용하면 초당 토큰 생성 속도가 경쟁 서비스보다 빠르게 나옴
  • 이러한 클라우드 추론 서비스를 통해 Llama 3.x, Qwen2.5, QwQ 등 다양한 모델에 대해서도 효율적인 추론이 가능해짐

질문 정의 및 세분화

  • 초기 사용자 질의를 세부 하위 질의로 분해함
  • 이전 글과 유사하게, "How has The Simpsons changed over time?" 같은 질의가 아래와 같이 여러 하위 질의로 나누어짐
    • 예: 작품의 문화·사회적 영향, 시즌별 캐릭터·유머·서사 방식 변화, 애니메이션·제작 기술 변화, 시청자 반응 변화 등
  • 이후 단계에서 필요하다면 추가적으로 질문을 재정의하거나 확장하기도 함

리서치 및 분석

  • 하위 질의를 토대로 쿼리 라우팅, 벡터 검색, 반성(reflection), 그리고 조건부 반복 단계를 거침
  • 쿼리 라우팅
    • 여러 데이터베이스 컬렉션 중 어떤 것을 사용할지 LLM이 결정하도록 프롬프트를 구성함
    • JSON 형태 응답을 받아, 컬렉션별로 검색 질의를 생성하도록 함
  • 벡터 검색
    • Milvus에 저장된 임베딩을 활용해 유사도 검색을 실행함
    • 이전 글과 유사하게, 소스 데이터를 미리 분할하고 벡터화해둠
  • 반성(reflection)
    • LLM이 이전 단계에서 나온 질의·답변을 바탕으로 추가 정보가 필요한지 확인함
    • 부족한 부분이 있으면 새로운 하위 질의를 생성해 재검색을 시도함
  • 조건부 반복
    • 반성 결과 추가 질의가 필요하면 위 과정을 반복함
    • 더 이상 정보를 수집할 필요가 없다고 판단하면 최종 보고서를 생성하는 단계로 넘어감

최종 보고서 생성

  • 모든 하위 질의와 검색 결과를 종합해 하나의 프롬프트로 보고서를 생성함
  • 이전 시연보다 일관성과 응집력을 높인 형태의 보고서를 얻게 됨
  • 예를 들어, “How has The Simpsons changed over time?”에 대한 최종 보고서는 아래와 같은 구조로 상세 내용을 제공함
      1. 문화적 영향과 사회적 관련성
      1. 캐릭터·유머·스토리라인 진화
      1. 애니메이션·기술적 변화
      1. 시청자 층, 반응, 시청률 변화
    • 결론: 작품이 초기의 반항적 풍자에서 대중적 아이콘으로 변모한 과정 등
  • DeepSeek-R1 모델을 사용한 버전과 GPT-4o mini 모델로 생성한 버전 보고서를 비교할 수 있음

향후 방향

  • DeepSearcher는 아직 간단한 수준이나, 추가적 에이전트 구성, 보고서 구조화, 조건부 반복 확장 등으로 더 발전시킬 수 있음
  • 대규모 추론 모델은 매우 무거운 연산을 수반하므로, 추론 속도비용이 서비스의 핵심 이슈가 됨
  • SambaNova의 DeepSeek-R1 모델을 이용해 65회 추론 호출, 약 25k 입력 토큰과 22k 출력 토큰을 사용했으며, 약 0.30달러 비용으로 충분히 빠른 응답을 얻었다고 함
  • DeepSearcher 저장소에서 프로젝트를 직접 체험 가능하며, 앞으로도 추가 기능과 사례를 지속적으로 공유할 계획임

Read Entire Article