Dify 基础入门与项目案例实现指南
一、Dify 平台是什么
Dify 是一个开源的大模型应用开发平台。说白了,就是让开发者不用写太多代码,就能搭出能跑在 GPT、Claude 这类大模型上的应用。它把后端服务和运维的东西封装好了,非技术背景的人也能上手。
主要功能:
- 可视化编排:拖拖拽拽就能搭出工作流
- 提示词调试:内置工具,改提示词马上看效果
- 多模型接入:OpenAI、Claude、本地 Ollama 都支持
- RAG 能力:接知识库做检索增强
- API 部署:一键暴露成接口,给其他系统调用
二、本地环境怎么搭
2.1 Dify 部署
用 Docker Compose 跑社区版最省事。部署完成后访问 http://localhost/signin 就能进管理后台。
2.2 Ollama 本地模型
学习和开发阶段推荐用 Ollama 跑本地模型,省钱,也能离线用。Ollama 默认监听 http://localhost:11434,接口兼容 OpenAI 的格式,改个 base URL 就能直接用。
三、案例一:财报数据提取助手
3.1 做什么
帮金融机构从财报里自动提取三个数字:营业收入、净利润、同比增长率。
3.2 提示词怎么写
核心就几条约束:
你是一个数据分析小助手,专注于从金融的财报中提取关键财务数据,当提取信息时请严格按以下规则操作:
1. 只提取三项数据:营业收入、净利润、同比增长率
2. 输出格式必须为JSON,字段名:revenue, net_profit, growth_rate
3. 金额单位统一为"亿元",增长率带百分号
4. 不输出任何解释、注释或额外内容
示例:
输入:"2022年营收42.1亿元,净利6.8亿,同比增9.2%"
输出:{"revenue": "42.1", "net_profit": "6.8", "growth_rate": "9.2%"}
3.3 实际跑一下
输入这段财报原文:
“2023年公司实现营业收入58.62亿元,同比增长12.3%;归属于上市公司股东的净利润为8.94亿元,同比增长5.7%。公司经营性现金流净额达15.2亿元,研发投入占比提升至8.5%。”
系统输出:
{"revenue": "58.62", "net_profit": "8.94", "growth_rate": "12.3%"}
只返回了要求的三项数据,经营现金流和研发投入占比被正确忽略了。
四、案例二:智能查询分类系统
4.1 要做什么
搭一个能判断用户问了什么的分类器,根据类型走不同的处理流程。
分类类型:
- 寒暄(你好、请问、hi……)
- 感谢(谢谢、感谢……)
- 告别(再见、拜拜……)
- 转人工(人工客服、转人工……)
- 需要查知识库(其他问题)
4.2 怎么实现的
用精确匹配加包含匹配两种方式。精确匹配用于短语完全相等的情况,包含匹配用于短查询场景,防止用户就打了两个字还要完全匹配才能识别。
分类逻辑判断后,返回一个 JSON 结构,告诉下游应该怎么处理。寒暄和感谢用随机语句回应,显得不那么死板。
4.3 提示词设计要点
- 先把每类问法的关键词列清楚
- 每种类型配上对应的处理策略
- 统一 JSON 输出格式,方便后续解析
- 精确匹配和包含匹配结合,平衡准确率和召回率
五、一些经验
提示词这块:约束条件要写死,别留给模型自己发挥。格式要求要说清楚,最好有例子。输出能简洁就简洁,少让模型发挥,它就少出错。
工作流这块:复杂任务拆成几步,每步单独测。留好错误处理,别一个环节挂了整个流程崩掉。
部署这块:先调通再上线。提示词做好版本管理,改动记录好。
六、结语
Dify 把大模型应用开发的门槛降了不少。本文两个案例——数据提取和意图分类——都是实际场景里常见的类型,希望能有参考价值。