私有化部署 Dify 后第一件事:搭建企业知识库(附实操)

0 阅读7分钟

大家好,我是小民,见字欢喜。

上一篇文章,我们把 Dify 在 VMware 上跑起来了,然后有朋友问我:装好了,接下来能干啥?

今天这篇就回答这个问题。

01 先聊聊痛点

你有没有遇到过这些情况:

新员工入职,翻了两天文档找不到报销流程,最后还得问老员工;销售见客户前想问个产品参数,在群里@了半天技术,没人回。

问题的本质不是没有文档,而是文档太多、太散、不好找。

传统的关键词搜索,你得猜对词才能找到;比如你想查「年假怎么休」,文档里写的是「带薪年休假实施办法」,关键词对不上,就搜不到。

知识库智能体解决的就是这个问题:你不用猜词,用自然语言问,它就能理解你的意思,从文档里找到答案。

02 知识库是怎么工作的

简单说一下原理,不复杂。

传统搜索是「关键词匹配」,你搜「年假」,它找带「年假」两个字的文档;文档里写的是「带薪年休假」,对不起,搜不到。

知识库用的是「语义搜索」,它把你的问题转换成一串数学向量,去文档库里找意思相近的内容;所以「年假怎么休」和「带薪年休假实施办法」虽然在字面上不一样,但在语义上是匹配的。

这个过程叫 RAG(检索增强生成),三个步骤:

第一步,索引: 上传文档后,Dify 会自动把文档切分成小段,然后转成向量存起来。

第二步,检索: 你提问的时候,系统把你的问题也转成向量,去库里找最相关的几个片段。

第三步,生成: 把找出来的片段加上你的问题,一起发给大模型,让它组织答案。

大模型并不「知道」你的文档内容,它只是根据检索出来的片段来回答;这样既保证答案有依据,又能利用大模型的表达能力。

03 动手搭建

好了,理论说完了,咱们开始动手~

3.1 准备工作

上篇文章我们搭过dify了,这里直接拿来用

浏览器访问http://你的虚拟机IP,用管理员账号登录

大模型我用的是DeepSeek,用国内的通义千问也行,dashscope.aliyun.com,也送免费额度;OpenAI效果最好但需要海外支付~

配置入口在「设置」→「模型供应商」,选择模型后填 API Key 👇

第一次玩推荐DeepSeek,注册就送额度,不用绑卡

3.2 准备知识库内容

为了演示,我准备了一份《公司员工休假管理制度》文档,可以直接复制下面的内容保存成一个txt、md或word文件用来测试。

# 公司员工休假管理制度

## 第一章 总则

第一条 为规范公司休假管理,保障员工合法权益,根据国家相关法律法规,结合公司实际情况,制定本制度。

第二条 本制度适用于公司全体正式员工。

## 第二章 年休假

第三条 员工累计工作已满1年不满10年的,年休假5天;已满10年不满20年的,年休假10天;已满20年的,年休假15天。

第四条 国家法定休假日、休息日不计入年休假假期。

第五条 年休假在1个自然年度内可以集中安排,也可以分段安排,一般不跨年度安排。确有必要跨年度安排的,可以跨1个年度安排。

第六条 员工有下列情形之一的,不享受当年的年休假:
(一)累计工作满1年不满10年,请病假累计2个月以上的;
(二)累计工作满10年不满20年,请病假累计3个月以上的;
(三)累计工作满20年以上,请病假累计4个月以上的。

## 第三章 病假

第七条 员工请病假需提供医院出具的病假证明。

第八条 病假期间工资按以下标准发放:
(一)工龄不满2年,按本人工资的60%计发;
(二)工龄满2年不满4年,按本人工资的70%计发;
(三)工龄满4年不满6年,按本人工资的80%计发;
(四)工龄满6年不满8年,按本人工资的90%计发;
(五)工龄满8年及以上,按本人工资的100%计发。

第九条 医疗期最长不超过24个月。

## 第四章 事假

第十条 员工请事假须提前3个工作日申请,经批准后方可休假。

第十一条 事假期间不计发工资。

## 第五章 婚假

第十二条 员工结婚可享受婚假3天。晚婚员工(男满25周岁,女满23周岁)增加婚假7天。

第十三条 婚假须在领取结婚证后6个月内一次性休完。

## 第六章 产假

第十四条 女职工生育享受产假98天,其中产前可以休假15天。

第十五条 难产的,增加产假15天;生育多胞胎的,每多生育1个婴儿,增加产假15天。

第十六条 女职工怀孕未满4个月流产的,享受15天产假;怀孕满4个月流产的,享受42天产假。

## 第七章 请假流程

第十七条 所有请假均需通过OA系统提交申请,按以下权限审批:
(一)请假1天以内,由部门主管审批;
(二)请假1-3天,由部门总监审批;
(三)请假3天以上,由分管副总审批。

第十八条 请假申请须在休假开始前完成审批。紧急情况可先口头请示,事后3个工作日内补办手续。

## 第八章 附则

第十九条 本制度自2024年1月1日起执行。

第二十条 本制度由人力资源部负责解释。

也可以用自己公司的文档,原理是一样的

3.3 创建知识库

点击「知识库」➔「创建知识库」

然后上传刚才准备好的文档

点击「下一步」

这里有几个设置比较关键:

  1. 分段最大长度,我习惯设 500,太长了检索不准,太短了语义不连贯,500 算是个比较平衡的值。

  2. 分段重叠长度设 50,这个是为了防止关键信息正好被切在两段的边界上,留一点重叠能兜住。

  3. 索引方式建议选「高质量」,效果比「经济」模式好不少。

不过这里有个坑,我用 DeepSeek,选「高质量」的时候提示不兼容👇

如果不想换模型,选「经济」模式也能用,只是检索精度会差一些,这里我就先选「经济」模式了~

点「保存并处理」,系统开始处理文档

处理完成后,点击「前往文档」

进来之后能看到文档被切成了一个个片段,Dify还提供了数据标注功能,可以手动调整片段内容和关联问题,不过咱们第一次玩,先保持默认看看效果

3.4 创建聊天助手

知识库准备好了,接下来搭一个前台来回答问题

点顶部菜单的「工作室」,选「聊天助手」,然后点「创建空白应用」

名称写「HR助手」

进去之后是编排页面。

中间是工作区,右边可以调试。

先写一段系统提示词,告诉AI它的角色和行为规范👇

你是一个专业的HR助手,负责回答员工关于休假制度的问题。
回答要准确、简洁,并且注明信息来源。
如果问题超出知识库范围,请告知用户联系人力资源部。

然后在「知识库」这里点「添加」,选刚才创建的「公司员工休假管理制度」文档

04 测试效果

下面来试几个问题:

① 先问个简单的

我工作3年了,年假有几天?

② 再来个带条件的

我工作12年了,今年请了4个月病假,还能休年假吗?

③ 最后试个知识库里没有的

公司附近有什么好吃的?

以上就是 Dify 搭建知识库智能体的入门流程,全程不到半小时,你的第一个智能体就上线了。

关于 Dify 还能怎么玩,后面咱们慢慢聊。