MindSearch 快速部署
任务描述
- 部署MindSearch到 hugging face Spaces上:在 官方的MindSearch页面 复制Spaces应用到自己的Spaces下,Space 名称中需要包含 MindSearch 关键词,请在必要的步骤以及成功的对话测试结果当中
MindSearch 简介
MindSearch 是一个开源的 AI 搜索引擎框架,具有与 Perplexity.ai Pro 相同的性能。我们可以轻松部署它来构建自己的专属搜索引擎,可以基于闭源的LLM(如GPT、Claude系列),也可以使用开源的LLM(如经过专门优化的InternLM2.5 系列模型,能够在MindSearch框架中提供卓越的性能) 最新版的MindSearch拥有以下特性:
- 🤔 任何你想知道的问题:MindSearch 通过搜索解决你在生活中遇到的各种问题。
- 📚 深度知识探索:MindSearch 通过数百个网页的浏览,提供更广泛、深层次的答案。
- 🔍 透明的解决方案路径:MindSearch 提供了思考路径、搜索关键词等完整的内容,提高回复的可信度和可用性。
- 💻 多种用户界面:为用户提供各种接口,包括 React、Gradio、Streamlit 和本地调试。根据需要选择任意类型。
- 🧠 动态图构建过程:MindSearch 将用户查询分解为图中的子问题节点,并根据 WebSearcher 的搜索结果逐步扩展图。
MindSearch 的 Github 源代码、论文/技术报告
MindSearch 部署
本次利用 Github CodeSpaces 完成实验。
环境配置
创建 Blank 模板
创建 conda 环境隔离并安装依赖
conda create -n mindsearch python=3.10 -y
conda init
如果是新建的codespace,在第一次创建conda环境时,需要conda init,再另启一个终端并activate。
conda activate mindsearch
cd /workspaces/codespaces-blank
git clone https://github.com/InternLM/MindSearch.git && cd MindSearch && git checkout ae5b0c5
pip install -r requirements.txt
获取硅基流动API KEY
进入硅基流动页面,注册登录并获取API KEY。
注册并登录后会进入体验中心。
打开 API KEY 页面来准备 API Key。点击左侧边栏账户管理
下的API密钥
进入API KEY 页面。首先创建新 API 密钥,然后点击密钥进行复制,以备后续使用。
启动MindSearch
启动后端
由于硅基流动 API 的相关配置已经集成在了 MindSearch 中,所以我们在一个终端A中可以直接执行下面的代码来启动 MindSearch 的后端。
export SILICON_API_KEY=<上面复制的API KEY>
conda activate mindsearch
# 进入你clone的项目目录
cd /workspaces/codespaces-blank/MindSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine DuckDuckGoSearch --asy
- –lang: 模型的语言,en 为英语,cn 为中文。
- –model_format: 模型的格式。
- internlm_silicon 为 InternLM2.5-7b-chat 在硅基流动上的API模型。
- –search_engine: 搜索引擎。
- DuckDuckGoSearch 为 DuckDuckGo 搜索引擎。
- BingSearch 为 Bing 搜索引擎。
- BraveSearch 为 Brave 搜索引擎。
- GoogleSearch 为 Google Serper 搜索引擎。
- TencentSearch 为 Tencent 搜索引擎。
后端启动后会跳出弹窗,点击进入 FastAPI 页面。
启动前端
在后端启动完成后,我们打开新终端运行如下命令来启动 MindSearch 的前端:
conda activate mindsearch
# 进入你clone的项目目录
cd /workspaces/codespaces-blank/MindSearch
python frontend/mindsearch_gradio.py
之后跳出弹窗,点击进入 Gradio 前端页面。可以尝试输入问题进行提问。
前后端都启动后,我们应该可以看到github自动为这两个进程做端口转发:
部署到 HF Spaces
这里与之前不同,采用一种更简单的方法,它就像克隆一样,无需编写代码即可部署自己的Spaces应用。
首先我们找到InternLM官方部署的MindSearch Spaces应用。
在该页面的右上角,选择 Duplicate this Space。
选择如下配置后,即可Duplicate Space
- Space Hardware选择第一条,即Free的2vCPU即可
- 填写好SILICON_API_KEY,即上面提到的硅基流动的API KEY
完成克隆后,会进入页面的Building
,这需要一段时间。
过一段时间刷新后,Building
变为Running
状态。
输入测试部署是否成功。