文章目录
- 前提环境
- 应用安装
- [deocker desktop镜像源配置](#deocker desktop镜像源配置)
- Dify简介
- Dify本地docker安装
- Dify安装ollama插件
- Dify安装硅基流动插件
- 简单应用练习
- 进阶应用练习
前提环境
- Windows环境+ docker desktop
- 魔法环境:访问Dify项目
- ollama
- 电脑硬件:2核4G以上
应用安装
- 自行安装docker desktop和ollama
- 推荐ollama安装deepseek-r1:14b轻量化模型,如果本地硬件条件不足,可以使用硅基流动在线API
deocker desktop镜像源配置

js
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://ghcr.io",
"https://docker.nju.edu.cn",
"https://dockerhub.azk8s.cn",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}
Dify简介
- Dify 是一款开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式 AI 应用的创建与部署。其核心定位是结合 后端即服务(BaaS) 和 LLMOps 理念,通过低代码/无代码的可视化界面,降低开发者与非技术人员构建 AI 应用的门槛。
- 核心定位与功能
- 开源框架:Dify 并非单一的 AI 模型,而是一个应用开发框架,支持开发者快速搭建生产级的 AI 应用,如聊天助手、文本生成工具、智能代理(Agent)等 。
- 模块化设计:通过可视化编排界面,用户可像"搭积木"一样组合功能模块,例如定义 Prompt、集成外部工具、管理数据集等,无需深入编程。
- 多模型支持:兼容主流大模型(如 GPT-4、Claude3、Llama3、通义千问等),并可自定义接入本地或云端模型
- 核心技术特性
- RAG(检索增强生成): Dify 提供高效的文档处理与检索能力,支持上传 PDF、TXT 等格式文件,自动完成文本分块、向量化索引及混合检索(向量+全文),提升生成内容的准确性与丰富度 。例如,用户可构建私有知识库,让 AI 回答基于企业数据的专业问题
- Agent(智能代理): 支持通过 Function Calling 或 ReAct 框架构建智能代理,赋予 AI 任务分解、工具调用(如 Google 搜索、图像生成)等高级能力。例如,客服 Agent 可自动解析用户需求并调用 API 完成订单查询 。
- 工作流编排: 提供可视化画布,允许用户通过节点组合定义复杂业务流程(如多步翻译、数据分析),支持条件分支、代码执行、HTTP 请求等逻辑节点,实现自动化任务处理。
- 应用场景
- 智能客服与对话助手:支持多轮对话、上下文记忆及知识库集成,适用于企业客服系统或个性化问答场景 。
- 内容生成与管理:自动生成文章、摘要、代码,或解析长文档进行结构化提取(如合同分析、发票识别) 。
- 商业智能:结合企业数据库生成数据报告,通过 NL2SQL 将自然语言查询转换为数据库指令 。
- 企业效能提升:通过私有化部署,将 LLM 嵌入内部系统,实现流程自动化与智能升级(如千人千面的客户体验)
Dify本地docker安装
-
通过github下载源码后,进入
dify-1.1.3\docker
将.env.example
文件复制并修改为.env
文件
-
在
.env
文件中最后添加一下内容bash#启用自定义模型 CUSTOM_MODEL_ENABLED=true #指定Olama的API地址(根据部署环境调整IP) OLLAMA_API_BASE_URL=host.docker.internal:11434
-
然后,该该目录下打开终端启动容器服务
javascriptdocker-compose up
-
访问
localhost/install
即可进入安装配置界面,首先注册邮箱、用户名和密码,然后使用新创建的账号进行登录。
Dify安装ollama插件
- 打开Dify应用市场,搜索需要的插件并点击详情进行瞎下载。(不仅建议进行在线安装,速度较慢)

- 使用ollama命令查看本地模型
- 打开ollama添加模型并配置连接信息
Dify安装硅基流动插件
- 操作方法同Dify安装ollama插件,不再赘述。
简单应用练习
- 打开工作室,创建空白应用
- 选择聊天助手,填写基本信息
- 可以填写你的提示词,然后点击调试与预览,进行测试
进阶应用练习
数据库图像检索与展示助手
- ollama安装向量化模型
bash
ollama run bge-m3
- 准备知识库所需文件
亲子运动.txt
,内容如下
bash
特别提示:注意保暖,避免孩子受寒。
运动图片链接:[点击查看](https://img1.baidu.com/it/u=2495318208,4233708303&fm=253&fmt=auto&app=138&f=JPEG?w=708&h=500)
##
亲子运动项目名称:家庭篮球赛
适合年龄:7~14岁
运动时间:20~30分钟
运动项目介绍:家长与孩子进行简易篮球比赛,提高孩子的篮球技能。
运动目标:培养孩子的球技和团队合作意识。
运动规则:简化篮球规则,进行半场3对3或1对1比赛。
特别提示:穿着合适的运动装备,注意安全。
运动图片链接:[点击查看](https://img0.baidu.com/it/u=3195478262,213097067&fm=253&fmt=auto&app=138&f=JPEG?w=700&h=467)
##
亲子运动项目名称:亲子瑜伽
适合年龄:5~12岁
运动时间:15~20分钟
运动项目介绍:家长与孩子一起练习瑜伽动作,增进亲子间的亲密关系。
运动目标:提高孩子的柔韧性和平衡能力,放松身心。
运动规则:跟随瑜伽教程,一起完成一系列瑜伽动作。
特别提示:穿着舒适,保持呼吸均匀。
运动图片链接:[点击查看](https://img1.baidu.com/it/u=2561021092,817698414&fm=253&fmt=auto&app=138&f=JPEG?w=667&h=500)
##
亲子运动项目名称:家庭接力跑
适合年龄:6~12岁
运动时间:15~20分钟
运动项目介绍:家庭成员分成两队,进行接力跑比赛。
运动目标:提高孩子的奔跑速度和团队协作能力。
运动图片链接:[点击查看](https://img1.baidu.com/it/u=975344947,3030921339&fm=253&fmt=auto&app=138&f=JPEG?w=720&h=480)
##
亲子运动项目名称:飞盘争夺战
适合年龄:6~12岁I
运动时间:15~20分钟
运动项目介绍:家长与孩子进行飞盘传递和接住游戏。
运动目标:锻炼孩子的反应速度和手眼协调能力。
运动规则:在规定区域内,通过飞盘传递,争取让对方接不住飞盘。
特别提示:选择开阔的场地,避免飞盘伤人。
运动图片链接:[点击查看](https://img0.baidu.com/it/u=3788427895,2518031093&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500)
##
亲子运动项目名称:家庭足球赛
适合年龄:5~12岁
运动时间:20~30分钟
运动项目介绍:家长与孩子进行简易足球比赛,享受足球乐趣。
运动目标:提高孩子的足球技能和团队精神。
运动规则:简化足球规则,进行小场地比赛。
特别提示:穿着足球鞋,注意场地安全。
运动图片链接:
##
亲子运动项目名称:亲子攀岩
适合年龄:8~14岁
运动时间:30~45分钟
运动项目介绍:家长与孩子一起挑战攀岩墙,锻炼勇气和力量。
运动目标:提高孩子的攀爬能力和自信心。
运动规则:在专业人员的指导下,完成攀岩墙的挑战。
特别提示:确保安全装备穿戴正确,听从指导员指挥。
运动图片链接:
##
亲子运动项目名称:家庭自行车赛
适合年龄:7~14岁
运动时间:30~45分钟
运动项目介绍:家长与孩子进行自行车比赛,享受户外运动。
运动目标:提高孩子的骑行技巧和耐力。
运动规则:在公园或自行车道上,设定一个往返赛道进行比赛。
特别提示:佩戴头盔,遵守交通规则。
运动图片链接:
-
创建知识库,上传文本文件
-
设置分段标识和索引方式、向量化模型
-
创建Chatflow应用,并填写基本信息,点击创建
-
设置具体的工作流程,整体流程如图。
-
知识检索具体设置
-
LLM设置:可以直接选择使用deepseek-r1模型,上下文选择知识检索的结果result
- 填写system提示词,内容如下:
bash##角色 你是一位亲子运动游戏创意专家,根据提供的{{#context#}}信息生成用户需要的亲子运动游戏。不要改变亲子运动游戏格式,要包含亲子运 动项目名称、适合年龄、运动时间、运动目标、运动规则、特别提示。 ##限制 1.根据用户的具体提问回答问题,不要一下子把常见问题都输出给用户, 2.请使用json格式输出,不要输出任何与json格式无关的内容。 ##输出要求 -如果输出的内容包含图片URL,请使用以下JSON格式输出: { "content":"示例输出内容", "imageUrl":"图片地址" } 3. 果输出的内容不包含图片URL,请使用以下JSON格式输出: { "content":"示例输出内容" }
- user相关设置,选择sys.query变量
-
参数提取器具体设置如下:
-
添加分支设置:如果图片地址为空,直接输出结果;否则,通过http请求获取图片展示输出。
-
http请求设置
-
直接回答1、2的设置
-
点击发布,同时运行测试结果
-
测试结果如下:
echart助手可视化
- 创建名为echart助手可视化的chatflow应用,整体设置如下:
- 创建电影数据.md,文件内容如下:
bash
| 电影名称 | 上映日期 | 票房(亿元) | 成本(亿元) | 豆瓣评分 | 上映周数 | 日均票房(万) | 地区分布 |
|------------------------|------------|-------------|-------------|----------|----------|----------------|----------------------|
| 星际远征:重启 | 2023-07-15 | 42.3 | 8.5 | 8.7 | 12 | 352.5 | 北美;欧洲;亚洲 |
| 长安十二时辰 | 2024-02-10 | 36.8 | 6.2 | 9.1 | 9 | 408.9 | 中国;东南亚 |
| 深海迷航 | 2023-12-01 | 28.5 | 5.8 | 7.9 | 15 | 190.0 | 全球 |
| 侠隐江湖 | 2024-05-01 | 18.4 | 3.5 | 8.3 | 6 | 306.7 | 中国;韩国;日本 |
| 机械之心 | 2023-11-20 | 51.2 | 12.0 | 8.5 | 18 | 283.7 | 北美;中国;欧洲 |
| 时空恋人 | 2024-03-22 | 14.7 | 2.8 | 8.8 | 7 | 210.0 | 中国;港台 |
| 极地救援 | 2023-10-05 | 33.6 | 7.3 | 7.6 | 11 | 305.5 | 北美;欧洲 |
| 山海经:饕餮现世 | 2024-06-15 | 24.9 | 4.5 | 8.4 | 5 | 498.0 | 亚洲 |
| 银河护卫队:终章 | 2023-09-01 | 65.8 | 15.0 | 8.9 | 16 | 411.3 | 全球 |
| 青蛇传说 | 2024-04-12 | 19.2 | 3.2 | 8.6 | 8 | 240.0 | 中国;东南亚 |
| 火星殖民 | 2023-08-30 | 47.5 | 9.8 | 7.8 | 13 | 365.4 | 北美;中国 |
| 镜中谜城 | 2024-07-19 | 12.3 | 2.5 | 8.2 | 4 | 307.5 | 中国;日本 |
| 恐龙星球 | 2023-06-10 | 55.1 | 11.5 | 8.0 | 14 | 393.6 | 全球 |
| 刺客信条:长安 | 2024-01-05 | 31.7 | 6.5 | 8.7 | 10 | 317.0 | 中国;韩国 |
| 量子危机 | 2023-05-20 | 72.4 | 18.0 | 7.5 | 20 | 362.0 | 北美;欧洲;亚洲 |
| 白蛇:缘起 | 2024-08-08 | 16.9 | 3.0 | 9.0 | 6 | 281.7 | 中国 |
| 异形觉醒 | 2023-04-15 | 29.8 | 7.2 | 7.2 | 17 | 175.3 | 北美;日本 |
| 封神榜:三界之战 | 2024-09-28 | 44.2 | 8.0 | 8.5 | 8 | 552.5 | 中国;东南亚 |
| 侏罗纪世界:新生代 | 2023-03-12 | 68.3 | 16.5 | 8.1 | 19 | 359.5 | 全球 |
| 雪国列车 | 2024-10-15 | 27.6 | 5.5 | 8.4 | 7 | 394.3 | 韩国;日本 |
| 三体:黑暗森林 | 2023-02-14 | 83.6 | 20.0 | 9.3 | 22 | 379.1 | 全球 |
| 花木兰:巾帼传奇 | 2024-11-11 | 38.7 | 7.8 | 8.8 | 6 | 645.0 | 中国;北美 |
| 盗梦空间2 | 2023-01-05 | 59.4 | 14.2 | 8.7 | 15 | 396.0 | 北美;欧洲;亚洲 |
| 哪吒:魔童降世2 | 2024-12-25 | 51.9 | 9.5 | 9.0 | 5 | 1038.0 | 全球 |
| 阿凡达:水之道 | 2023-07-20 | 91.2 | 25.0 | 8.9 | 18 | 506.7 | 全球 |
| 流浪地球3 | 2024-04-30 | 77.5 | 18.8 | 9.2 | 10 | 775.0 | 中国;北美 |
| 功夫熊猫:神龙大侠 | 2023-08-15 | 34.6 | 6.5 | 8.3 | 12 | 288.3 | 全球 |
| 哈利波特:魔法遗产 | 2024-06-06 | 62.1 | 15.5 | 8.6 | 9 | 690.0 | 欧洲;北美;亚洲 |
| 复仇者联盟:无限战争2 | 2023-05-01 | 105.4 | 30.0 | 8.8 | 20 | 527.0 | 全球 |
| 姜子牙:封神再临 | 2024-07-07 | 29.3 | 5.2 | 8.9 | 8 | 366.3 | 中国;东南亚 |
-
开始部分设置
-
文档提取器设置
-
格式化输出设置,记得数据中部分设置上一步的变量,模型可以选择deepseek-r1
-
参数提取器设置
-
代码执行部分设置,具体设置和脚本代码如下
python
import csv
import json
def main(csv_string):
# 将CSV字符串分割成行
lines = csv_string.strip().split('\n')
# 使用csv模块读取数据
reader = csv.reader(lines)
# 将所有行转换为列表
data = [row for row in reader]
# 将数字字符串转换为浮点数
for row in data[1:]: # 跳过标题行
for i in range(1, len(row)):
try:
row[i] = float(row[i])
except ValueError:
pass
# 创建完整的Echarts配置
echarts_config = {
"legend": {},
"tooltip": {},
"dataset": {
"source": data
},
"xAxis": [
{"type": "category", "gridIndex": 0},
{"type": "category", "gridIndex": 1}
],
"yAxis": [
{"gridIndex": 0},
{"gridIndex": 1}
],
"grid": [
{"bottom": "55%"},
{"top": "55%"}
],
"series": [
# 第一个网格中的折线图系列
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
{"type": "bar", "seriesLayoutBy": "row"},
# 第二个网格中的柱状图系列
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1},
{"type": "bar", "xAxisIndex": 1, "yAxisIndex": 1}
]
}
# 生成输出文件
output = f'```echarts\n{json.dumps(echarts_config, ensure_ascii=False)}\n```'
return {"result": output}
-
最后回答部分设置
-
点击保存,然后运行测试,上传电影数据文件,然后输入分析数据的命令,进行执行.
-
最终,执行的绘图结果。