Dify+DeepSeek+本地知识库案例实战:如何输出图文并茂的内容

AI技术茶馆 AI技术茶馆
2025年05月04日 16:50

1.为什么需要本地知识库?

尽管大语言模型(如GPT-4、DeepSeek-R1、Qwen等)具备强大的文本生成能力,但它们存在一个关键问题:无法准确回答训练数据之外的知识。例如,若用户提问企业内部的行政规章制度等问题时,模型可能回答“不知道”或给出错误答案。


检索增强生成(RAG, Retrieval-Augmented Generation)技术应运而生,它通过结合外部知识库,让模型在生成答案前先检索相关内容,从而提供更准确的回答。Dify作为支持RAG的LLM应用开发平台,能够无缝对接各类大模型(如DeepSeek、Qwen、Ollama等),并高效管理知识库数据。

2.为什么选择Dify构建本地知识库?

Dify作为一款开源的LLM应用开发平台,凭借其可视化编排、多模型支持和高效RAG能力,成为开发者搭建AI原生应用的首选工具。与LangChain、FastGPT等平台相比,Dify在工作流编排和企业级功能上更具优势,尤其适合需要快速从原型过渡到生产的团队。


Dify知识库的核心优势包括:

零代码开发:通过可视化界面实现提示词编排、知识库管理

多格式支持:兼容PDF、PPT、TXT等多种文档格式

高效检索:支持向量检索、全文检索和混合检索三种模式

企业级功能:提供SSO单点登录(商业版支持)、访问控制和私有化部署

3.Dify+DeepSeek+本地知识库构建流程

(1)建设知识库(以Dify应用开发手册为例)

如果要输出图文并茂的内容,务必将知识库处理为.docx格式的文档,然后按以下步骤上传文档作为知识库内容。

在Dify后台选择知识库-》创建知识库-》导入已有文本,选择整理好的图文并茂Word文档,点击进入下一步。

图片
分段设置:选择“父子分段”
索引方式:选择“高质量”
检索设置:选择“混合检索”,Top K设为10,以召回更多的内容
图片

注意:要实现图文并茂的内容输出,首先知识库里面的内容必须是图文并茂的形式;其次需要把文档处理为.docx格式的文档,这样在知识库上传过程中Dify会自动把图片处理为地址并将文档中的图片保存到dify的docker目录中,具体路径为:/docker/volumes/app/storage/image_files/。


(2)搭建工作流

在Dify后台选择工作室-》创建空白应用-》Chatflow
图片


工作流包含的节点如下图所示,跟一般的Dify+本地知识库没有差别,重点是提示词中应加入:知识库中的图片地址务必以图文并茂的形式输出。否则大模型输出会过滤图片。

完整提示词如下:

知识库内容:选择上下文变量1. 知识库中的图片地址务必以图文并茂的形式输出。2. 使用提供的知识库作为我的知识来源。3. 如果知识库中有相关信息,请直接根据知识库回答。4. 如果知识库中没有相关信息,请直接说“我不知道”或请求用户提供更多信息。5. 当且仅当知识库包含相关信息时,用自然对话方式输出答案;否则明确告知'该问题不在知识库覆盖范围内。必需行为:- 知识库存在的内容必须全部包含,并且不能改变上下文语义禁止行为:- 禁止任何形式的内容编造- 禁止使用"根据我的知识"等模糊表述- 禁止扩展知识库外的信息- 禁止引入聊天知识库中无关内容

图片


(3)效果展示

图片



这里只是通过提示词和知识库文档的限定实现了图文输出的一种方法,还有其他方法欢迎大家一起交流讨论。


如需DSL文件欢迎回复领取

Dify · 目录
上一篇dify深入浅出系列17:参数提取节点详解下一篇dify深入浅出系列18:如何用ubuntu+docker部署dify