How to

【How to】使用Dify为DeepSeek R1添加多模态能力

摘要: 本文介绍如何利用开源低代码平台 Dify,将 DeepSeek R1 的强推理能力与 Gemini 的多模态视觉能力结合。通过可视化工作流设计,实现文件解析、逻辑推演及最终答案生成,无需编写代码即可快速部署多模态 AI 应用。

【实操指南】使用 Dify 为 AI 应用添加多模态与深度推理能力

背景与目标

DeepSeek V3 引发行业热议不到一个月,DeepSeek 再次推出新模型 R1,在全球 AI 领域掀起新一轮浪潮。如果说 V3 证明了低成本训练也能达到顶尖性能,那么 R1 则实现了技术层面的质的飞跃。这款开源模型不仅延续了高性价比的特点,更凭借独特的训练方式和涌现出的推理能力,吸引了全球顶级研究者的关注。

多项测试显示 R1 具备出色的推理实力:
- DeepSeek R1-Zero 在 AIME 数学竞赛中的准确率从最初的 15.6% 飙升至 71.0%,多次尝试甚至达到 86.7%
- 另一项测试中,该模型展现出强大的迁移学习能力,在 Codeforces 编程平台上表现超越了 96.3% 的人类选手。

结果证明,R1-Zero 并非死记硬背解题套路,而是真正掌握了深层数学直觉与通用推理能力。但 R1 目前存在明显短板:缺乏多模态支持。其官网版本虽然提供文件上传和联网功能,但两者无法同时启用。

为解决上述痛点,我们借助开源 LLM Ops 工具 Dify 进行低代码开发。使用 Dify 打造大模型产品时,你只需专注产品设计,无需关心底层代码实现。通过简单的拖拽与节点拼接,即可快速将创意转化为可运行应用并完成部署。

本文将不直接将 DeepSeek R1 作为最终输出模型,而是将其推理结果作为预处理工具,用来增强另一个缺乏推理能力但功能更强大的多模态模型(如 Gemini)。此外,我们将利用 Dify 的 Beta 版插件功能,将搭建好的大模型应用封装为符合 OpenAI 格式的 API,方便与其他系统集成对接。


Dify:低代码整合与开发 DeepSeek 应用

在 Dify 中,你可以通过可视化工作流设计,快速构建基于 DeepSeek R1 与多模态模型的协同推理系统。

首先,登录 Dify 控制台,点击 Create Blank Application(创建空白应用)-> 选择 Chatflow(对话流)。

1. 文件上传与文档解析器

Dify v0.10.0 已原生支持文件上传功能。该功能需配合 Doc Extractor(文档解析器)使用,以便将非结构化文件转换为 LLM 可读取的文本格式。

配置路径:Features -> File Upload。在此处启用上传开关并勾选你需要处理的文件格式即可。

2. DeepSeek R1 节点:“学霸”的深度推理

首先,在 Settings(设置)-> Model Providers(模型提供商)中获取并添加你的 DeepSeek API Key。若使用社区版或企业版,请确保已更新至 Dify 最新版本。

DeepSeek R1 在此工作流中扮演“学霸”角色,专注于拆解问题与逻辑推演。其核心任务是输出完整的思考过程,而非直接给出答案。编写系统提示词时,建议使用结构化格式(如 XML),这能有效提升模型对任务拆解的精度。

System Prompt:

<Role>
你是一个具备深度推理能力的大语言模型。与其他大模型不同,你可以输出完整的思维链。
</Role>

<Task>
你的任务是协助其他缺乏推理能力的 LLM。你需要根据用户提问,为它们生成详细的思考过程。
</Task>

<Steps>
"Step 1": "接收用户的原始问题与附件内容。"
"Step 2": "对问题进行深度拆解与分析。"
"Step 3": "详细阐述推理步骤与逻辑,确保过程完整且易于理解。"
"Step 4": "输出完整的思考过程,无需给出最终答案。"
</Steps>

<Limitations>
- 仅输出思考过程,不要直接回答最终结果。
- 不要解释自身的能力或限制条件。
</Limitations>

变量拼接配置:
此外,需调整用户输入节点的内容,将文档解析器的输出内容拼接至提示词中:

<User_Query>{{Start}}</User_Query>
<file>{{text}}</file>

两个输入变量均使用 XML 标签包裹,这有助于 LLM 准确识别上下文。在 Dify 的变量选择器中,你可以通过输入 {/ 引用上游节点的输出值。

3. Gemini 节点:多模态能力落地

Gemini 是一款视觉能力强悍的多模态模型。它依赖 R1 的推理框架,融合多维数据生成最终答案。其核心优势在于图像解析与结果优化。

System Prompt:

<Role>你是一个擅长学习的大语言模型。</Role>

<Task>你需要借鉴他人的思考过程,结合其推理逻辑优化自身结果,并给出最终答案。</Task>

<Steps>
"Step 1": "接收来自 DeepSeek-R1 模型的完整思考过程。"
"Step 2": "仔细研读并理解 R1 的推理逻辑与步骤。"
"Step 3": "结合图像解析能力,基于 R1 的思考生成最终答案。"
"Step 4": "仅输出最终结论,无需复述思考过程。"
</Steps>

<Limitations>
- 不要重复 DeepSeek-R1 的推理步骤,直接给出最终答案即可。
- 不要解释自身的能力或学习机制。
- 确保回答准确、清晰且符合多模态任务要求。
</Limitations>

部署与 API 封装

完成节点连线后,点击 Publish(发布)应用。此时工作流已具备“文件解析 -> R1深度推理 -> Gemini多模态作答”的完整链路。

若需将能力开放给第三方系统:
1. 进入应用的 API Access 页面获取基础接口地址。
2. 利用 Dify Beta 版插件功能,将该应用封装为标准的 OpenAI Chat Completions API 格式。
3. 其他工具只需配置 Base URL 与 Key,即可无缝调用该多模态推理能力。

通过这种低代码编排方式,你无需编写任何后端逻辑,便能快速将前沿大模型的推理优势转化为实际业务生产力。


原文图片

文章来源: https://dify.ai/blog/adding-multimodal-capabilities-to-deepseek-r1-using-dify
← 返回文章列表