대규모 언어 모델 기반의 멀티 에이전트 웹 검색 엔진 프레임워크로, 인간의 사고 과정을 모방하여 심층 AI 검색을 구현합니다.

Apache-2.0JavaScriptMindSearchInternLM 6.5k Last Updated: July 04, 2025

MindSearch - 오픈소스 AI 다중 에이전트 검색 엔진 프레임워크

프로젝트 개요

MindSearch는 대규모 언어 모델(LLM) 기반의 오픈소스 다중 에이전트 웹 검색 엔진 프레임워크로, 웹 정보 검색 및 통합 과정에서 인간의 인지 과정을 모방하도록 설계되었습니다. 이 프로젝트는 상하이 인공지능 연구소와 중국 과학기술대학이 공동 개발했으며, Perplexity.ai Pro 및 SearchGPT에 필적하는 검색 경험을 제공합니다.

핵심 기능

🤔 어떤 질문이든 답변

MindSearch는 검색을 통해 삶에서 마주하는 다양한 문제를 해결하며, 복잡한 쿼리 요구사항을 처리할 수 있습니다.

📚 심층 지식 탐색

MindSearch는 수백 개의 웹 페이지를 탐색하여 더 광범위하고 심층적인 답변을 제공합니다. 시스템은 3분 이내에 300개 이상의 웹 페이지 정보를 병렬로 처리할 수 있으며, 이는 인간 전문가의 3시간 작업량에 해당합니다.

🔍 투명한 해결 경로

MindSearch는 사고 경로, 검색 키워드 등 완전한 내용을 제공하여 답변의 신뢰성과 유용성을 높입니다.

💻 다양한 사용자 인터페이스

사용자에게 React, Gradio, Streamlit 및 로컬 디버깅을 포함한 다양한 인터페이스를 제공합니다.

🧠 동적 그래프 구축 과정

MindSearch는 사용자 쿼리를 그래프 내의 하위 문제 노드로 분해하고, WebSearcher의 검색 결과에 따라 그래프를 점진적으로 확장합니다.

기술 아키텍처

핵심 구성 요소

MindSearch는 WebPlanner와 WebSearcher라는 두 가지 주요 구성 요소로 이루어진 다중 에이전트 아키텍처를 채택합니다.

WebPlanner (웹 플래너)

  • 상위 플래너로서 추론 단계와 여러 WebSearcher를 조정합니다.
  • 복잡한 사용자 쿼리를 그래프 내의 원자적 하위 문제 노드로 분해합니다.
  • WebSearcher의 검색 결과를 기반으로 그래프를 점진적으로 확장합니다.
  • 길고 복잡한 검색 결과에 방해받지 않고 쿼리 분해 및 분석에 집중합니다.

WebSearcher (웹 검색기)

  • 세분화된 웹 검색을 실행하고 가치 있는 정보를 요약하여 플래너에 다시 전달합니다.
  • 계층적 정보 검색을 수행하며 각 하위 문제를 처리합니다.
  • 쿼리 재작성, 검색 내용 집계, 상세 페이지 선택, 최종 요약의 4가지 주요 단계를 포함합니다.

작업 흐름

  1. 쿼리 분해: WebPlanner가 복잡한 쿼리를 여러 하위 쿼리로 분해합니다.
  2. 병렬 검색: 여러 WebSearcher가 서로 다른 하위 쿼리를 병렬로 처리합니다.
  3. 정보 통합: WebPlanner가 각 WebSearcher의 결과를 수집하고 통합합니다.
  4. 동적 확장: 검색 결과에 따라 검색 그래프를 동적으로 조정하고 확장합니다.

기술 구현

지원 모델

  • 오픈소스 모델: InternLM2.5-7b-chat (특별히 최적화됨)
  • 클로즈드소스 모델: GPT-4, Claude 등
  • 배포 방식: 로컬 서버, 클라이언트, HuggingFace 등 다양한 배포 방식을 지원합니다.

지원 검색 엔진

  • DuckDuckGo Search (API 키 불필요)
  • Bing Search
  • Brave Search
  • Google Serper
  • Tencent Search

프런트엔드 인터페이스

  • React: 현대적인 웹 인터페이스
  • Gradio: 사용하기 쉬운 Python 인터페이스
  • Streamlit: 데이터 과학 친화적인 인터페이스
  • Terminal: 명령줄 인터페이스

설치 및 사용

기본 설치

git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt

환경 설정

mv .env.example .env
# .env 파일을 편집하여 API 키 및 모델 구성 추가

서비스 시작

python -m mindsearch.app --lang cn --model_format internlm_server --search_engine DuckDuckGoSearch --asy

매개변수 설명

  • --lang: 모델 언어, cn은 중국어, en은 영어
  • --model_format: 모델 형식, 예: internlm_server, gpt4
  • --search_engine: 검색 엔진 유형
  • --asy: 비동기 에이전트 배포

React 프런트엔드 시작

# 백엔드 URL 구성
HOST="127.0.0.1"
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts

# 의존성 설치
cd frontend/React
npm install
npm start

Docker 배포

프로젝트는 Docker 배포 과정을 간소화하는 MSDL(MindSearch Docker Launcher) 도구를 제공합니다.

cd MindSearch/docker
# 대화형 구성 도구 실행

로컬 모델과 클라우드 모델 두 가지 배포 방식을 지원하며, GPU 가속을 지원합니다.

성능

벤치마크 결과

ChatGPT-Web, Perplexity.ai (Pro), MindSearch의 깊이, 폭, 생성 응답의 정확성 세 가지 측면에서 성능을 비교했습니다. 평가는 인간 전문가가 신중하게 설계한 100개의 실제 문제를 기반으로 하며, 5명의 전문가가 점수를 매겼습니다.

장점

  • 효율성 향상: 3분 이내에 300개 이상의 웹 페이지 처리, 이는 인간 전문가의 3시간 작업량에 해당합니다.
  • 품질 향상: 깊이와 폭 측면에서 응답 품질이 크게 향상되었습니다.
  • 경쟁력: InternLM2.5-7B 기반의 MindSearch 응답 품질은 ChatGPT-Web 및 Perplexity.ai보다 우수합니다.

프로젝트 특징

오픈소스 장점

  • 완전 오픈소스: 모든 코드는 Apache 2.0 라이선스 하에 오픈소스입니다.
  • 커뮤니티 주도: 활발한 GitHub 커뮤니티와 지속적인 업데이트가 이루어집니다.
  • 맞춤형: 다양한 모델과 검색 엔진의 유연한 구성을 지원합니다.

기술 혁신

  • 다중 에이전트 협업: 혁신적인 WebPlanner+WebSearcher 아키텍처
  • 동적 그래프 구축: 인간 인지 과정을 모방한 그래프 구축 방법
  • 병렬 처리: 효율적인 병렬 정보 검색 및 통합
  • 컨텍스트 관리: 지능적인 긴 컨텍스트 관리 메커니즘

관련 프로젝트

MindSearch는 InternLM 생태계의 중요한 구성 요소이며, 다음 프로젝트들과 협력합니다.

  • Lagent: 경량 LLM 에이전트 프레임워크
  • AgentLego: 다기능 도구 API 라이브러리
  • InternLM2.5: 최적화된 대규모 언어 모델
  • LMDeploy: 모델 배포 도구 키트

요약

MindSearch는 AI 검색 엔진 분야의 중요한 돌파구를 제시하며, 인간의 인지 과정을 모방하여 효율적이고 정확한 웹 정보 검색 및 통합을 실현했습니다. 그 오픈소스 특성과 뛰어난 성능은 맞춤형 AI 검색 엔진을 구축하기 위한 이상적인 선택이 되게 합니다.

Star History Chart