deep-searcher

LLM FrameworksCLIPython

★ 8,260주당 +12조회 4

무엇인가

DeepSearcher는 비공개 문서를 대상으로 검색·평가·추론을 반복해 답변과 보고서를 생성하는 Python 라이브러리이자 CLI다. 검색 증강 생성(RAG) 파이프라인 계층에 속하며, 웹 전체를 훑는 범용 리서치 에이전트와 달리 조직 내부 코퍼스를 1차 근거로 삼는다.

어떻게 동작하나

처리 흐름은 인덱싱과 질의 두 단계로 나뉜다. 인덱싱에서 문서 로더가 로컬 파일을 읽고, 임베딩 모델이 이를 벡터로 바꿔 Milvus나 Zilliz Cloud 컬렉션에 적재한다. 질의 시점에는 LLM이 질문을 하위 질의로 쪼개고, 벡터 DB에서 관련 청크를 검색한 뒤, 그 결과를 평가해 질의를 다시 다듬는 루프를 돈다. 마지막에 답변과 보고서를 합성한다. 컬렉션을 파티션으로 나누면 검색 범위를 좁힐 수 있다.

무엇과 다른가

단발성 retrieve-then-answer RAG와 달리 검색과 평가를 여러 번 되돌아 반복한다. 호스팅형 딥리서치 서비스와 달리 문서와 벡터가 자체 Milvus 인스턴스에 남고, LLM 제공자만 바꿔 끼울 수 있다. 필요할 때는 온라인 콘텐츠를 함께 조회한다.

어떻게 쓰나

설치는 pip 한 줄로 끝나고, 환경변수에 쓸 LLM의 API 키를 넣은 다음 config.set_provider_config("llm", "OpenAI", {"model": "o1-mini"})처럼 제공자와 모델을 지정한다. LLM 이름 자리에는 DeepSeek, OpenAI, XAI, SiliconFlow, Aliyun, PPIO, TogetherAI, Gemini, Ollama, Novita, Jiekou.AI가 들어간다. 개발 모드 설치에는 uv를 쓴다.

전제와 한계

Python 3.10을 권장한다. 고른 LLM 제공자의 API 키가 필요하고, TogetherAI와 Gemini는 각각 together, google-genai 패키지를 따로 깔아야 한다. 문서 로더는 로컬 파일 로딩을 다루며 웹 크롤링은 개발 중이다.

관련 논문 5

유사 도구