任务:将 MindSearch 部署到 HuggingFace
教程:https://github.com/InternLM/Tutorial/blob/camp3/docs/L2/MindSearch/readme_github.md
环境配置
打开codespace主页https://github.com/codespacescodespace主页,选择blank template。
新建一个目录用于存放 MindSearch 的相关代码,并把 MindSearch 仓库 clone 下来。在终端中运行下面的命令:
mkdir -p /workspaces/mindsearch
cd /workspaces/mindsearch
git clone https://github.com/InternLM/MindSearch.git
cd MindSearch && git checkout b832275 && cd ..
接下来,我们创建一个 conda 环境来安装相关依赖。
# 创建环境
conda create -n mindsearch python=3.10 -y
# 激活环境
conda activate mindsearch
# 安装依赖
pip install -r /workspaces/mindsearch/MindSearch/requirements.txt
Tips:如果遇到 “CondaError: Run 'conda init' before 'conda activate'” , 执行下面的命令
source activate
conda activate mindsearch
pip install -r /workspaces/mindsearch/MindSearch/requirements.txt
获取硅基流动 API Key
1:注册硅基流动的账号: https://account.siliconflow.cn/login
2:准备 API Key: https://cloud.siliconflow.cn/account/ak ,首先创建新 API 密钥,然后点击密钥进行复制,以备后续使用。
启动 MindSearch
启动后端
由于硅基流动 API 的相关配置已经集成在了 MindSearch 中,所以我们可以直接执行下面的代码来启动 MindSearch 的后端。
export SILICON_API_KEY=第二步中复制的密钥
cd /workspaces/mindsearch/MindSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine DuckDuckGoSearch
启动前端
在后端启动完成后,我们打开新终端运行如下命令来启动 MindSearch 的前端。
conda activate mindsearch
cd /workspaces/mindsearch/MindSearch
python frontend/mindsearch_gradio.py
github会自动提示我们打开一个在公网的前端地址。打开即可
让他介绍一下我的csdn博客(虽然它不知道)
部署到 HuggingFace Space
最后,我们来将 MindSearch 部署到 HuggingFace Space。
我们首先打开 https://huggingface.co/spaces ,并点击 Create new Space,如下图所示。
选择如下配置:
然后,进入 Settings,配置硅基流动的 API Key。如下图所示。
选择 New secrets,name 一栏输入 SILICON_API_KEY,value 一栏输入你的 API Key 的内容。
回到codespace,我们先新建一个目录,准备提交到 HuggingFace Space 的全部文件。
# 创建新目录
mkdir -p /workspaces/mindsearch/mindsearch_deploy
# 准备复制文件
cd /workspaces/mindsearch
cp -r /workspaces/mindsearch/MindSearch/mindsearch /workspaces/mindsearch/mindsearch_deploy
cp /workspaces/mindsearch/MindSearch/requirements.txt /workspaces/mindsearch/mindsearch_deploy
# 创建 app.py 作为程序入口
touch /workspaces/mindsearch/mindsearch_deploy/app.py
在最后,将 /root/mindsearch/mindsearch_deploy 目录下的文件(使用 git)提交到 HuggingFace Space 即可完成部署了。将代码提交到huggingface space的流程如下:
首先创建一个有写权限的token。
然后从huggingface把空的代码仓库clone到codespace。
# 切换到新目录
cd /workspaces
# 克隆远程仓库
git clone https://huggingface.co/spaces/<你的名字>/<仓库名称>
# 进入仓库
cd <仓库名称>
# 把token挂到仓库上,让自己有写权限
git remote set-url origin https://<你的名字>:<上面创建的token>@huggingface.co/spaces/<你的名字>/<仓库名称>
现在codespace就是本地仓库,huggingface space是远程仓库,接下来使用方法就和常规的git一样了。
# 把刚才准备的文件都copy进来
cp -r /workspaces/mindsearch/mindsearch_deploy/* .
代码提交到 huggingface space
git add .
git commit -m "update"
git push
huggingface space 会自动启动项目, 回到之前的space , 然后就可以测试。了
我们也测试一下黑悟空,毕竟这两天很火的3A大作。
再搜索一下我自己试试:确实找对了。