最近,深度求索开源的 DeepSeek-R1 系列模型火遍全球,但因为“服务器繁忙”劝退不少人。为了解决这个问题,我们将以 UltraRAG 框架为例,为大家介绍 DeepSeek-R1 的本地部署流程,同时带领大家熟悉 UltraRAG 的细节和功能。在成功跑通 VanillaRAG 后,我们还简单尝试了在 DeepSeek-R1 加持下的 Adaptive-Note,提出法律领域的问题,效果居然出乎意料的好,有截图为证:如上图,在 UltraRAG 上对 VanillaRAG 和 Adaptive-Note分别提问“我喝多后撞了人可能会承担什么罪责?”VanillaRAG 简单直接,分别列出了罪名和建议,内容全面,但是稍微有点不够细致。再看看 Adaptive-Note 的回答,不光总结了可能的几点罪名,并且分析了酒精含量和事后处理态度对量刑和赔偿的影响,引经据典,令人信服。整体来看, Adaptive-Note 的回答更加可信。ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;">VanillaRAG:是最基础的 RAG(Retrieval-Augmented Generation,检索增强生成)架构,通常指的是未经优化或改进的标准 RAG 方法。它的基本流程包括:查询构造(Query Formation)、检索(Retrieval)、生成(Generation)Adaptive-Note: 一种用于复杂问答任务的自适应笔记增强 RAG 方法,采用 检索-记忆(Retriever-and-Memory) 机制, iteratively 收集和优化知识结构。它通过自适应记忆复审和任务导向生成提高知识交互质量,并采用基于笔记的探索终止策略确保信息充分获取,以提升答案质量。论文: https://arxiv.org/abs/2410.08821看到这里,我猜大家已经迫不及待想要体验 UltraRAG 了,所以接下来我们将手把手详细介绍 UltraRAG 的部署流程。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;"> ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;float: left;visibility: visible !important;width: 26px !important;"/>ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;caret-color: rgb(34, 34, 34);text-align: left;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;">ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;caret-color: rgb(34, 34, 34);text-align: left;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;">硬件环境准备ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;visibility: visible;line-height: 1.75em;margin-bottom: 24px;margin-left: 8px;margin-right: 8px;">DeepSeek-R1 的模型有多个蒸馏版本,分别是 7B、14B、70B 以及满血的 671B 版本。权衡了条件和效果后,我们选择 14B 的模型进行部署,以下是运行 UltraRAG 的基本硬件要求:这里需要注意 nvidia 的显卡驱动需要和 cuda 版本兼容,否则 vllm 运行模型有可能出现报错的情况。如果你的显卡出现不兼容的情况,可以尝试重装驱动和 cuda。这里推荐一个简单好用的安装方法,可以有效避免 cuda 和驱动的不兼容问题:登录 nvidia 官方网站(https://developer.nvidia.com/cuda-toolkit-archive),选择适合 cuda-toolkit 版本安装和安装参数(推荐使用 runfile 方式安装,真的简单好用!)。 cuda-toolkit参数配置页面ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;"> ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;visibility: visible;line-height: 1.75em;margin-left: 8px;margin-right: 8px;"> ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;letter-spacing: 0.544px;float: left;visibility: visible !important;width: 26px !important;"/>UltraRAG配置好了,现在你已经拥有了一个稳定的运行环境,可以配置 UltraRAG 了。接下来从 GitHub 仓库中下载UltraRAG并放到合适的位置,https://github.com/OpenBMB/UltraRAG (点个 star 支持一下吧 )。运行 UltraRAG 有两种方法,一种通过 docker 运行,这种方式最简单,需要你的机器上已经安装配置好了 nvidia-docker ,并拥有它的运行的权限(一般情况下需要 root 权限)。这种情况下,你只需要执行这行代码就行了:docker-composeup--build-d 如果你的机器上没有 nvidia-docker 也不要紧,可以配置 conda 环境来运行。要确保你的本地机器安装了 conda,没有的话也可以在这个网址(https://docs.anaconda.com/miniconda/install/)中找到安装的方法,使用普通账户直接安装,几行代码很好执行~接着,就是在 conda 环境上安装 UltraRAG 的依赖,下面的代码依次执行就好了~#创建conda环境condacreate-nultraragpython=3.10#激活conda环境condaactivateultrarag安装相关依赖pipinstall-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple 以上步骤操作完成之后,环境依赖就准备好了。接下来开始下载模型。模型下载完成之后,紧接着运行 llm 服务,具体执行这个命令即可~vllmserveDeepSeek-R1-Distill-Qwen-14B--gpu-memory-utilization0.8--dtypeauto--api-keytoken-abc123 --gpu-memory-utilization 0.8:表示 GPU 的占用率,显存 80G 时,0.8 意味着最大占用 64GB 的显存。--dtype auto:表示 vllm 自动选择模型参数类型。--api-key token-abc123:自定义模型 API 的密钥为token-abc123。vllm 服务部署完成后将会启动 OpenAI-Compatibly 的服务,默认参数为:nohupvllmserveDeepSeek-R1-Distill-Qwen-14B--gpu-memory-utilization0.8--dtypeauto--api-keytoken-abc123& 好了,现在环境搭好了,模型也下载好了,我们现在来运行 UltraRAG:streamlitrunultrarag/webui/webui.py--server.fileWatcherTypenone 如果一切顺利,我们会看到下图的结果。这意味着 WebUI 已经跑起来了,我们把 URL 复制到浏览器,应该就能访问页面了,你可以使用3 个 URL 中的任何一个进行访问:  和DeepSeek-R1对话和这里附上超详细视频教程,可以对照细节一步步上手:

什么是 UltraRAG?UltraRAG 框架由清华大学 THUNLP 联合东北大学 NEUIR 、面壁智能团队及 9#AISoft 团队共同提出,基于敏捷化部署与模块化构造,引入了自动化的“数据构建-模型微调-推理评测”知识适配技术体系,提供了一站式、科研与开发双重友好的 RAG 系统解决方案。UltraRAG 显著简化了 RAG 系统在领域适配过程中,从数据构建到模型微调的全流程,助力科研人员与开发者高效应对复杂任务:零代码编程 WebUI 支持:零编程经验用户亦可上手操作全链路搭建和优化过程,包括 多模态 RAG 方案 VisRAG ;合成与微调一键式解决:以自研KBAlign、RAG-DDR等方法为核心,一键式系统化数据构建 + 检索、生成模型多样微调策略支持下的性能优化;多维多阶段稳健式评估:以自研RAGEval方法为核心,融入面向有效/关键信息的多阶段评估方法,显著提升“模型评估”的稳健性;科研友好探索工作集成:内置THUNLP-RAG组自研方法及其他前沿RAG 方法,支持模块级持续探索与研发。以上全部功能,都可以直接通过 web 前端快速实现。 |