当前位置:首页|资讯

MindSearch开源AI搜索来了!手把手教你用开源框架打造AI搜索引擎!

作者:wwwzhouhui发布时间:2024-08-04

1.什么是MindSearch

  MindSearch 是一个由上海人工智能实验室推出的开源 AI 搜索引擎框架,具有与 Perplexity.ai Pro 相同的性能。它支持使用闭源和开源的大语言模型(LLMs),如 GPT、Claude 和 InternLM2.5-7b-chat,用户可以轻松部署自己的搜索引擎。其拥有以下特性:

  • 🤔 任何想知道的问题:MindSearch 通过搜索解决你在生活中遇到的各种问题

  • 📚 深度知识探索:MindSearch 通过数百网页的浏览,提供更广泛、深层次的答案

  • 🔍 透明的解决方案路径:MindSearch 提供了思考路径、搜索关键词等完整的内容,提高回复的可信度和可用性。

  • 💻 多种用户界面:为用户提供各种接口,包括 React、Gradio、Streamlit 和本地调试。根据需要选择任意类型。

  • 🧠 动态图构建过程:MindSearch 将用户查询分解为图中的子问题节点,并根据 WebSearcher 的搜索结果逐步扩展图。

MindSearch VS 其他 AI 搜索引擎

在深度、广度和生成响应的准确性三个方面,对 ChatGPT-Web、Perplexity.ai(Pro)和 MindSearch 的表现进行比较。评估结果基于 100 个由人类专家精心设计的现实问题,并由 5 位专家进行评分*。

今天就大家在InternStudio 上部署起来。(什么是InternStudio ,IInternStudio 是一个云端算力平台,专为大模型时代设计)

2.创建开发机

我们首先需要登录InternStudio算力平台

这里的算力积分是需要参与他们提供的训练营获得。详细情况可以参考https://aicarrier.feishu.cn/wiki/XBO6wpQcSibO1okrChhcBkQjnsf

点击开发机-创建开发机

 接下来进入开发机资源选择界面

 填写开发机名称:MindSearch

 镜像:Cuda12.2-conda

资源配置:50% A100 * 1

 以上配置完成后等待资源分配。

资源分配完成后,我们右边操作‘’进入开发机"进入Jupyter Notebook开发机界面

    初次进来左边是没有相当代码和文件的。因为我的之前有相关文件所以列表中显示了一些测试代码。(这个没关系,大家能理解就可以了)

3 .激活环境

 因为该平台已经安装好小助手了,所以我们这里只需要将share 分享文件夹里面mindsearch 环境激活即可。

 点击 terminal 进入 shell 命令行窗口

输入conda 命令激活运行环境

conda activate /share/pre_envs/mindsearch

4 .启动服务

启动后端服务

打开新终端运行以下命令启动推理后端

cd /share/demo/MindSearchDuck
python -m mindsearch.app --lang cn --model_format internstudio_server

启动前端服务

打开新终端运行以下命令启动推理前端,我们可以重新开个窗口执行如下命令

conda activate /share/pre_envs/mindsearch
cd /share/demo/MindSearchDuck
python run.py

使用端口映射

这里解释一下,因为我们是在Jupyter Notebook开发机界面启动服务的,我们需要访问web页面才能访问MindSearch进行联网搜索,所以我们这里需要端口映射到本地。

打开 windows powershell

回到开发机管理界面,点击ssh连接

在弹出的对话框中,复制ssh链接命令

  这里面复制的命令我们需要稍微修改一下,修改成下面的命令,其中我们需要增加本地7860:127.0.0.1:7860 地址信息

ssh -p 44847 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no

复制以上命令到 windows powershell 窗口中执行,这个时候会弹出输入密码

我们需要将上面在弹出的对话框中,复制密码,将密码复制到上面窗口中执行,点击回车

以上步骤就完成端口映射。

按照上面同样的步骤把后端服务也映射出来,详细操作这里就不介绍了。

命令

ssh -p 44847 root@ssh.intern-ai.org.cn -CNg -L 8002:127.0.0.1:8002 -o StrictHostKeyChecking=no

最后的效果 2个映射

代理网络设置

这个MindSearch 用到 AI agent 关于联网搜索功能其实用到了第三方的 搜索引擎 bing 和 DuckDuckGo,bing在国内是可以访问但是需要 key 需要再微软bing官方网站申请申请流程较为繁琐,这里就不在这里详细介绍,感兴趣的小伙伴可以参考申请免费的必应搜索API ,这里我们使用到免费DuckDuckGo做搜索,不过这个DuckDuckGo在国内是不能直接访问的,需要借助梯子来实现。因为借助梯子上网国内是违法的,所以我们这里也不详细展开。我们只给大家一个思路。

在服务器上安装好科学上网工具

启动工具



设置网络代理全局配置文件/etc/profile

vi /etc/profile   增加如下内容

export proxy="http://127.0.0.1:7890"
export sockproxy="socks5://127.0.0.1:7891"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export all_proxy=$sockproxy
export no_proxy="localhost, 127.0.0.1, ::1"

编写好profile 退出,使用设置profile 生效,使用如下命令

source /etc/profile

以上配置完成后就完成网络代理设置。我们使用curl 命令测试一下


curl https://duckduckgo.com/



有网站信息返回,说明网络代理成功。

5 .运行测试

我们按照上面的步骤就已经初步完成项目的步骤和搭建了,接下来我们测试一下MindSearch 搜索功能

打开浏览器窗口输入http://127.0.0.1:7860/ (我们上面的步骤就是做了端口映射,可以可以访问本地127.0.0.1:7860 这个地址)

  浏览器页面打开,我们输入问题。模型开始加载



 后端8002 服务加载模型,启动一个23333后端模型接口服务调用

后端程序已经在调用duckduckgo_search 这个程序进行联网搜索了。后面通过书生浦语 lagent  框架返回结果,最后在通过internlm2_5-7b-chat模型推理将搜索信息总结归纳返回给前端



测试验证结果是OK的。

6 .总结

  目前书生浦语推出的MindSearch 这块框架总体来测试还是不错的。目前软件刚开源,问题还是有点的。不过搜索的结果还是不错的可以和闭源的Perplexity.ai 媲美了,不足的地方就是调用第三方搜索引擎目前都是国外的对新人来说 有一定的门槛。感兴趣的小伙伴可以按照我文档操作一遍,感受国产AI 搜索这块的强大,今天的分享就到这里结束了。我们下个文章见。



Copyright © 2025 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1