当前位置: 首页 > news >正文

书生大模型实战营-进阶关卡-6-MindSearch 快速部署

任务:将 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大作。

再搜索一下我自己试试:确实找对了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 力扣8.27
  • 阿里云对象存储服务(Aliyun OSS):企业级云存储解决方案
  • Spring Boot 集成 JdbcTemplate(盘它!)
  • 敏捷架构开发方法和实践:迎接数字化时代的挑战
  • 东芝玉兔2.0明日震撼开售,洗衣机界的全新革命
  • 本地化云桌面系统环境VMware horizon搭建
  • Golang反射:运行时类型检查与操作
  • 虚幻5|制作玩家血量,体力(还未编辑,只用于引用)
  • Ubuntu 24.04 安装 intel 编译器
  • Android --- transaction.commitAllowingStateLoss();和transcation.commit 有什么区别
  • 轻量级自动化测试框架WebZ
  • 零基础国产GD32单片机编程入门(五)OLED显示及实战含源码
  • Spring MVC常用注解及用法
  • 常用工具网站之Emoji
  • Java异常详解(全文干货)
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • ComponentOne 2017 V2版本正式发布
  • gitlab-ci配置详解(一)
  • golang中接口赋值与方法集
  • SpringBoot 实战 (三) | 配置文件详解
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • supervisor 永不挂掉的进程 安装以及使用
  • unity如何实现一个固定宽度的orthagraphic相机
  • 反思总结然后整装待发
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端知识点整理(待续)
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 智能网联汽车信息安全
  • 7行Python代码的人脸识别
  • 扩展资源服务器解决oauth2 性能瓶颈
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • $.ajax()方法详解
  • (6)添加vue-cookie
  • (arch)linux 转换文件编码格式
  • (TOJ2804)Even? Odd?
  • (九十四)函数和二维数组
  • (七)glDrawArry绘制
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (循环依赖问题)学习spring的第九天
  • (一)Docker基本介绍
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)大型网站的系统架构
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net 调用海康SDK以及常见的坑解释
  • .NET 依赖注入和配置系统
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • @RequestBody与@ModelAttribute
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @selector(..)警告提示
  • []常用AT命令解释()
  • [20171102]视图v$session中process字段含义
  • [Algorithm][综合训练][kotori和n皇后][取金币][矩阵转置]详细讲解