如何在Dify中结合知识库实现高度定制化的产品推荐系统

陌静姑娘_1069

陌静姑娘_1069

2026-06-14

357人浏览

原创

必须构建带元数据标记的结构化知识库并配置元数据筛选,设计含条件分支的工作流,通过llm生成结构化json推荐结果,且需验证预算/场景/材质等关键路径匹配准确性。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何在dify中结合知识库实现高度定制化的产品推荐系统

你需要让推荐结果严格匹配用户当前说出的预算、场景、材质等具体条件,而不是泛泛而谈“几款热门商品”,这就必须把产品数据变成Dify能精准理解并调用的结构化知识源。

构建带元数据标记的产品知识库

在Dify控制台左侧导航栏点击【知识库】→【新建知识库】,名称填“运动鞋-结构化”,描述写明“含价格、适用场景、中底科技、重量等字段”。【知识库名称不能含空格或特殊符号,否则后续工作流节点可能无法正确引用】

上传CSV格式的产品数据表,确保列名是英文且无重复:product_id,name,price,scene,weight_g,foam_type,drop_mm。Dify会自动识别表头并建立字段索引,无需手动映射。

上传后进入该知识库设置页,点击【检索设置】→开启【启用元数据筛选】,将scene、foam_type、price三个字段设为可筛选项。这一步决定后续能否用“预算500以内+适合马拉松”这种复合条件精准召回。

设计带条件分支的工作流

返回应用首页,点击【工作流】→【新建工作流】,选择空白模板。

方法一:用检索节点直连元数据过滤
拖入一个【知识检索】节点→双击配置→在“检索方式”中选【语义检索+元数据筛选】→在“元数据筛选条件”里写:price 。其中user_budget和user_scene需提前从用户输入中提取,可用正则节点或LLM解析节点生成。

方法二:用IF节点做多级兜底
当用户只说“跑步鞋”没提预算时,第一层IF判断budget是否为空→为空则走“按销量排序”分支;不为空则走“按价格过滤+语义相关性重排”分支。这样避免因缺失字段导致整个检索失败返回空结果。

Dify Workflow DSL Expert
Dify Workflow DSL Expert

用于创建、编辑、调试或验证自托管 Dify 的工作流 DSL。首先从目标实例导出的工作流入手,进行最小化编辑。

下载

注意:IF节点的条件表达式必须用双大括号包裹变量,且比较符两侧要留空格,写成price会报错。

注入上下文并生成带解释的推荐文案

第一步:把检索出的商品列表传给LLM节点
连接【知识检索】节点输出 → 【LLM推理】节点输入,在LLM节点的提示词中插入以下片段:
“你是一名专业运动装备顾问。用户需求:{{user_input}}。已根据价格和场景筛选出3款候选商品:{{retrieved_products}}。请用中文口语化表达,每款产品说明必须包含:①为什么适合该场景(结合中底科技和drop值解释);②重量对长距离的影响;③价格合理性分析。”

第二步:强制输出结构化JSON供前端渲染
在LLM提示词末尾追加:“输出格式严格限定为JSON数组,每个对象含字段:name、reason_for_scene、weight_impact、price_analysis。不要任何额外文字、不要markdown、不要```包裹。”

这一步确保前端能直接解析推荐理由,而不是收到一段无法拆解的自然语言——很多团队卡在这里,以为推荐完成了,实际前端拿不到可绑定的字段。

上线前必须验证的三个关键路径

① 输入“帮我找一双400块左右、适合通勤走路的皮鞋”→检查是否命中scene=“通勤”且price在380–420区间的产品,而非返回所有皮鞋。
② 输入“最轻的越野跑鞋”→确认检索未设price条件时,仍能按weight_g升序返回结果。
③ 输入“要碳板的”→验证foam_type字段是否被正确识别为元数据筛选项,而非被当作普通文本参与语义匹配。

在工作流编辑页右上角点击【调试】,逐条输入测试语句,观察每个节点的实时输出。特别留意知识检索节点的“实际筛选条件”字段,它会显示Dify最终执行的元数据过滤表达式,这是唯一能确认你写的{{user_scene}}有没有被真实代入的地方。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dify dify知识库

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

597

15

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

2026.06.05

245

15

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

2026.06.05

216

15

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

40

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

140

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

140

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

100

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

100

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

120

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 148人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 144人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习