L2G6000书生大模型实战营第4期——3.6 MindSearch 快速部署

1 目标任务

  • 部署MindSearch到 hugging face Spaces上。在官方的MindSearch页面复制Spaces应用到自己的Spaces下,并对话测试。
  • 部署MindSearch stremlit版本到Hugging Face上。在官方仓库上提供了 streamlit的示例文件 ,可以参考此文件将streamlit版本的MindSearch部署到Hugging Face上。

2 开发环境配置

想要简单部署到hugging face上,我们需要将开发机平台从InternStudio 替换成 GitHub CodeSpace,并使用硅基流动免费提供的InternLM2.5-7B-Chat的API服务,大大降低了部署门槛,无需GPU资源也可以部署和使用MindSearch,这也是可以利用CodeSpace完成本次实验的原因。

2.1 GitHub CodeSpace开发环境

打开GitHub CodeSpace(https://github.com/codespaces)登录个人账号,按Blank模板创建开发环境,或选择以往建好的环境进入。
在这里插入图片描述

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

如果只针对于这个实验的话,其实在codespace里面不用单独创建conda环境。但是隔离是一个好习惯,因此我们还是创建一个相应的虚拟环境来隔离。
如果是新建的codespace,在第一次创建conda环境时,需要conda init,再另启一个终端并activate。

conda create -n mindsearch python=3.10 -y
# 如果是新建的codespace,在第一次创建conda环境时,需要conda init
conda init

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

打开硅基流动(https://siliconflow.cn/zh-cn/)注册并获取 API Key ,或者复制以往申请好的API Key。 首先创建新 API 密钥,然后点击密钥进行复制,以备后续使用。

在这里插入图片描述

3 启动MindSearch

3.1 启动后端

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

export SILICON_API_KEY=<上面复制的API KEY>
conda activate mindsearch

# 进入你clone的项目目录
cd /workspaces/codespaces-blank/MindSearch

# 选择以下一种搜索引擎,启动后端服务
# 启动后端服务,使用DuckDuckGo 搜索引擎
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine DuckDuckGoSearch --asy
# 启动后端服务,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

  • –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 搜索引擎。

在这里插入图片描述

在这里插入图片描述

3.2 启动前端

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

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.” 等待一段时间后,会在页面上输出它的结果。

在这里插入图片描述

3.3 部署到自己的 HuggingFace Spaces上

在之前课程的学习中,我们已经将模型或者应用上传/部署到hugging face上过了。在这里我们介绍一种更简单的方法,它就像克隆一样,无需编写代码即可部署自己的Spaces应用~

首先我们找到InternLM官方部署的MindSearch Spaces应用(https://huggingface.co/spaces/internlm/MindSearch).

3.3.1 选择配置

在该页面的右上角,选择Duplicate this Space,如图选择配置,并填写自己的api_key。
在这里插入图片描述
在这里插入图片描述

3.3.2 启动并测试

等待Spaces应用启动,当启动好后上方会显示绿色的running标志,这时我们可以输入input进行测试了。
在这里插入图片描述

我们可以在Sapces应用页面的输入框中输入以下内容:What are the top 10 e-commerce websites?
在这里插入图片描述
测试中页面可能会卡一会,几分钟,耐心等待。如果出错,可是在页面右上角选择Restart Space,待到重启完成后(显示绿色running标志后)再刷新一下网页页面。

4 部署MindSearch stremlit版本到Hugging Face上

4.1 安装stremlit

相比运行python frontend/mindsearch_gradio.py启动的前端服务,使用stremlit需要先安装库:

conda activate mindsearch
pip install streamlit==1.39.0

4.2 启动后端服务

安装好库后,启动后端服务,本次选用BingSearch搜索引擎。

export SILICON_API_KEY=<你的API_KEY>
cd /workspaces/myLLM/MindSearch 
# 启动后端服务
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine BingSearch --asy

4.3 启动前端服务

前面克隆的https://github.com/InternLM/MindSearch.git文件里已经包含了mindsearch_streamlit.py,和上面执行过的mindsearch_gradio.py文件在同一个文件夹内,运行该文件启动前端服务。

cd ./frontend/
streamlit run frontend/mindsearch_streamlit.py 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值