© 2026FindAgent  · @simprr
返回列表
I

InternLM/MindSearch

🔍 An LLM-based Multi-agent Framework of Web Search Engine (like Perplexity.ai Pro and SearchGPT)

ai-search-enginegptllmllmsmulti-agent-systemsperplexity-aisearchsearchgpttransformerweb-search
⭐

6.8k

Stars

🔱

680

Forks

👁

48

Watchers

📋

56

Issues

JavaScriptApache-2.0创建于 2024/7/28更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

📃 论文 | 💻 在线演示

English | 简体中文

✨ MindSearch: 模拟人类思维激发深度 AI 搜索能力

📅 更新日志

  • 2024/11/05: 🥳 MindSearch 已部署至浦语(Puyu)平台!👉 点击试用 👈
    • 基于 Lagent v0.5 重构了 agent 模块,以提供更好的并发性能。
    • 改进了 UI,以支持同步的多查询搜索。

⚽️ 构建你自己的 MindSearch

第一步:安装依赖

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

第二步:配置环境变量

在配置 API 之前,需要先设置环境变量。将 .env.example 文件重命名为 .env 并填入必要的值。

mv .env.example .env
# 打开 .env 并填入你的 key 和模型配置

第三步:搭建 MindSearch API

搭建 FastAPI 服务。

python -m mindsearch.app --lang en --model_format internlm_server --search_engine DuckDuckGoSearch --asy 
  • --lang: 模型语言,en 为英语,cn 为中文。

  • --model_format: 模型格式。

    • internlm_server: 使用本地服务的 InternLM2.5-7b-chat(InternLM2.5-7b-chat 已针对中文进行了优化)。
    • gpt4: 使用 GPT4。 若想使用其他模型,请修改 models。
  • --search_engine: 搜索引擎。

    • DuckDuckGoSearch: 使用 DuckDuckGo 搜索引擎。
    • BingSearch: 使用 Bing 搜索引擎。
    • BraveSearch: 使用 Brave Search web API。
    • GoogleSearch: 使用 Google Serper web search API。
    • TencentSearch: 使用腾讯搜索 API。

    除 DuckDuckGo 外,请将你的 Web Search API Key 设置为 WEB_SEARCH_API_KEY 环境变量;若使用 TencentSearch,则需要将 secret id 设置为 TENCENT_SEARCH_SECRET_ID,并将 secret key 设置为 TENCENT_SEARCH_SECRET_KEY。

  • --asy: 部署异步 agent。

第四步:搭建 MindSearch 前端

提供以下前端接口:

  • React

首先配置 Vite 代理的后端 URL。

HOST="127.0.0.1"  # 根据需要修改
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts
# 安装 Node.js 和 npm
# Ubuntu 系统
sudo apt install nodejs npm

# Windows 系统
# 从 https://nodejs.org/zh-cn/download/prebuilt-installer 下载

# 安装依赖

cd frontend/React
npm install
npm start

详情请参考 React。

  • Gradio
python frontend/mindsearch_gradio.py
  • Streamlit
streamlit run frontend/mindsearch_streamlit.py

🌐 更换 Web Search API

若要使用其他类型的 Web Search API,请修改 mindsearch/agent/__init__.py 中 searcher_cfg 的 searcher_type 属性。目前支持的 Web Search API 包括:

  • GoogleSearch
  • DuckDuckGoSearch
  • BraveSearch
  • BingSearch
  • TencentSearch

例如,若要切换到 Brave Search API,配置如下:

BingBrowser(
    searcher_type='BraveSearch',
    topk=2,
    api_key=os.environ.get('BRAVE_API_KEY', 'YOUR BRAVE API')
)

🐞 在没有前端的情况下使用后端

对于希望直接与后端交互的用户,可以使用 backend_example.py 脚本。该脚本演示了如何向后端发送查询并处理响应。

python backend_example.py

执行脚本前,请确保已设置好环境变量且后端服务正在运行。

🐞 本地调试

python -m mindsearch.terminal

📝 许可证

本项目采用 Apache 2.0 许可证 开源。

引用

如果本项目对你的研究有帮助,请考虑引用:

@article{chen2024mindsearch,
  title={MindSearch: Mimicking Human Minds Elicits Deep AI Searcher},
  author={Chen, Zehui and Liu, Kuikun and Wang, Qiuchen and Liu, Jiangning and Zhang, Wenwei and Chen, Kai and Zhao, Feng},
  journal={arXiv preprint arXiv:2407.20183},
  year={2024}
}

我们的其他项目

探索我们在大语言模型领域的更多研究,重点关注 LLM agents:

  • Lagent: 一个用于构建基于 LLM 的 agents 的轻量级框架。
  • AgentFLAN: 一种构建和训练高质量 agent 数据集的创新方法(ACL 2024 Findings)。
  • T-Eval: 一个细粒度的工具利用评估基准(ACL 2024)。
贡献者
lHlbBtwzwL
项目信息
默认分支main
LicenseApache License 2.0
创建时间2024/7/28
最近更新今天
GAI 中文摘要

MindSearch 是一个基于大语言模型的多智能体搜索引擎框架,旨在模仿人类的思维模式进行深度信息检索与分析。该项目提供了一套类似 Perplexity.ai Pro 或 SearchGPT 的开源解决方案,能够高效处理复杂查询并整合多方信息。

该框架支持多智能体协同工作,能够通过深度拆解复杂问题来执行多步骤检索任务。系统集成了多种主流搜索引擎接口,包括 Google、Bing、DuckDuckGo、Brave 和腾讯搜索等,满足不同网络环境下的查询需求。后端采用异步架构设计,显著提升了并发处理能力,确保在高负载场景下的响应效率。项目提供了灵活的配置选项,支持多种主流大模型及多语言环境,并预置了 React、Gradio 和 Streamlit 等多种前端展示界面。

该项目适用于希望构建私有化深度搜索引擎的开发者及研究人员,特别适合需要对复杂问题进行多源信息综合与推理的应用场景。