本地部署MindSearch(开源 AI 搜索引擎框架),然后上传到 hugging face的Spaces——L2G6

部署MindSearch到 hugging face Spaces上------L2G6

任务1

官方的MindSearch页面 复制Spaces应用到自己的Spaces下,Space 名称中需要包含 MindSearch 关键词,请在必要的步骤以及成功的对话测试结果当中

实现过程如下:

2.1 MindSearch 简介

MindSearch 是一个开源的 AI 搜索引擎框架,具有与 Perplexity.ai Pro 相同的性能。我们可以轻松部署它来构建自己的专属搜索引擎,可以基于闭源的LLM(如GPT、Claude系列),也可以使用开源的LLM(如经过专门优化的InternLM2.5 系列模型,能够在MindSearch框架中提供卓越的性能) 最新版的MindSearch拥有以下特性:

  • 🤔 任何你想知道的问题:MindSearch 通过搜索解决你在生活中遇到的各种问题
  • 📚 深度知识探索:MindSearch 通过数百个网页的浏览,提供更广泛、深层次的答案
  • 🔍 透明的解决方案路径:MindSearch 提供了思考路径、搜索关键词等完整的内容,提高回复的可信度和可用性。
  • 💻 多种用户界面:为用户提供各种接口,包括 React、Gradio、Streamlit 和本地调试。根据需要选择任意类型。
  • 🧠 动态图构建过程:MindSearch 将用户查询分解为图中的子问题节点,并根据 WebSearcher 的搜索结果逐步扩展图。

2.2 开发环境配置

在入门岛我们已经提到过,想要简单部署到hugging face上,我们需要将开发机平台从InternStudio 替换成 GitHub CodeSpace。且随着硅基流动提供了免费的InternLM2.5-7B-Chat的API服务,大大降低了部署门槛,我们无需GPU资源也可以部署和使用MindSearch,这也是可以利用CodeSpace完成本次实验的原因。 那就让我们一起来看看如何使用硅基流动的API来部署MindSearch吧~

2.2.1. 打开codespace主页,选择Blank模板进行创建

2.2.2. 创建conda环境隔离并安装依赖

如果只针对于这个实验的话,其实在codespace里面不用单独创建conda环境。但是隔离是一个好习惯,因此我们还是创建一个相应的虚拟环境来隔离

bash 复制代码
conda create -n mindsearch python=3.10 -y
conda init

如果是新建的codespace,在第一次创建conda环境时,需要conda init,再另启一个终端并activate

bash 复制代码
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

2.3. 获取硅基流动API KEY

因为要使用硅基流动的 API Key,所以接下来便是注册并获取 API Key 了。 首先,我们打开它的登录界面来注册硅基流动的账号(如果注册过,则直接登录即可)。 在完成注册后,打开api key页面来准备 API Key。首先创建新 API 密钥,然后点击密钥进行复制,以备后续使用。

2.4. 启动MindSearch

2.4.1. 启动后端

由于硅基流动 API 的相关配置已经集成在了 MindSearch 中,所以我们在一个终端A中可以直接执行下面的代码来启动 MindSearch 的后端。

bash 复制代码
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 搜索引擎。
2.4.2. 启动前端

在后端启动完成后,我们打开新终端B运行如下命令来启动 MindSearch 的前端:

bash 复制代码
conda activate mindsearch
# 进入你clone的项目目录
cd /workspaces/codespaces-blank/MindSearch
python frontend/mindsearch_gradio.py

前后端都启动后,我们应该可以看到github自动为这两个进程做端口转发:

如果启动前端后没有自动打开前端页面的话,我们可以手动用7882的端口转发地址打开gradio的前端页面~ 然后就可以体验MindSearch gradio版本啦~ 比如向其询问:"Find legal precedents in contract law." 等待一段时间后,会在页面上输出它的结果。

可能遇到的问题

在这一步中,可能终端会打印报错信息,但是只要前端页面上没有出现报错就行。如果前端页面上出现错误并终止,那么可能是MindSearch 中 searcher 模块的问题。在上面的例子中我们使用的是DuckDuckGoSearch,因此你也可以尝试其他的搜索引擎API。如我们可以替换为BingSearch 或者 TencentSearch 进行尝试。

复制代码
# BingSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine BingSearch --asy
# TencentSearch
# python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine TencentSearch --asy

2.5. 部署到自己的 HuggingFace Spaces上

这里我们介绍一种更简单的方法,它就像克隆一样,无需编写代码即可部署自己的Spaces应用~

首先我们找到InternLM官方部署的MindSearch Spaces应用

2.5.1 选择配置

在该页面的右上角,选择Duplicate this Space

选择如下配置后,即可Duplicate Space

  • Space Hardware选择第一条,即Free的2vCPU即可
  • 填写好SILICON_API_KEY,即上面提到的硅基流动的API KEY

然后就开始部署啦

2.5.2 测试结果

回到自己头像的space中,会发现,已经有running在运行啦,这样就完成啦快速部署自己的Huggingface的模型啦!

点击就可以测试啦,

等待Spaces应用启动,当启动好后上方会显示绿色的running标志,这时我们可以输入input进行测试了,我们可以在Sapces应用页面的输入框中输入以下内容:

bash 复制代码
# input
What are the top 10 e-commerce websites?

测试时可能会发现页面卡住了很久(两三分钟),我们可以查看日志,最后两行可能报如下错误:

bash 复制代码
graph.add_edge(start_node="root", end_node("contract_enforcement"))
  SyntaxError: positional argument follows keyword argument

此时需要在页面右上角选择Restart Space,待到重启完成后(显示绿色running标志后)再刷新一下网页页面,再次测试结果如下~

至此,我们就完成了MindSearch在Hugging Face上面的部署。

相关推荐
PyAIExplorer3 分钟前
基于 OpenCV 的图像 ROI 切割实现
人工智能·opencv·计算机视觉
风口猪炒股指标6 分钟前
技术分析、超短线打板模式与情绪周期理论,在市场共识的形成、分歧、瓦解过程中缘起性空的理解
人工智能·博弈论·群体博弈·人生哲学·自我引导觉醒
ai_xiaogui31 分钟前
一键部署AI工具!用AIStarter快速安装ComfyUI与Stable Diffusion
人工智能·stable diffusion·部署ai工具·ai应用市场教程·sd快速部署·comfyui一键安装
Tipriest_37 分钟前
Python关键字梳理
python·关键字·keyword
聚客AI1 小时前
Embedding进化论:从Word2Vec到OpenAI三代模型技术跃迁
人工智能·llm·掘金·日新计划
weixin_387545642 小时前
深入解析 AI Gateway:新一代智能流量控制中枢
人工智能·gateway
im_AMBER2 小时前
学习日志05 python
python·学习
大虫小呓2 小时前
Python 处理 Excel 数据 pandas 和 openpyxl 哪家强?
python·pandas
聽雨2372 小时前
03每日简报20250705
人工智能·社交电子·娱乐·传媒·媒体
哪 吒2 小时前
2025B卷 - 华为OD机试七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)
python·算法·华为od·华为od机试·2025b卷