Dify 后台能打开,只说明应用平台已经运行;要让它真正回答问题,还需要接入模型、明确应用用途、配置提示词,并验证发布后的页面。本文以一个“学习助手”为例,走完这条完整链路:输入一个概念,获得通俗解释、生活例子和自测题,还能继续追问或要求缩写。
**适用环境:**本地部署的Dify 社区版 1.17.1,macOS 与 Windows 用户进入浏览器后的配置流程基本一致。开始前应能登录工作区,并准备一个支持文本对话且有调用权限的模型账号。供应商管理需要工作区所有者或管理员权限。
1. 先确定这个应用要帮谁做什么
“做一个什么都懂的助手”很难判断效果。把目标缩小,才容易知道它是否有用。
这次的目标是:
帮助初学者理解一个概念,用简短解释、生活例子和一道自测题完成一次学习。
| 配置项 | 本文示例 |
|---|---|
| 应用名称 | 我的学习助手 |
| 主要用户 | 第一次接触某个概念的人 |
| 输入内容 | 一个概念、问题,或希望改写的解释 |
| 输出内容 | 核心解释、一个例子、一句总结、一道自测题 |
| 交互方式 | 可以连续追问的聊天 |
第一版先用模型和提示词跑通这个目标。知识库、联网检索、文件上传可以留到有明确需求时再添加。
2. 确认有一个能用的模型
Dify 负责组织应用,回答内容仍需要由模型生成。因此,能登录后台,并不等于已经具备模型调用能力。
2.1 找到模型供应商入口
在工作区中寻找模型供应商 / Model Provider。入口可能显示为集成 → 模型供应商;部分界面位于头像菜单的设置中。
安装你准备使用的供应商插件,打开其配置页,填写 API Key,以及供应商要求的接口地址等参数。只有工作区所有者和管理员能够管理模型供应商。官方模型供应商说明
| 参数 | 如何填写 |
|---|---|
| API Key | 从你自己的模型服务账号获取 |
| Base URL / 接口地址 | 按供应商插件要求填写,使用默认地址时不要随意修改 |
| 模型名称 | 使用供应商实际提供的模型标识;列表已包含时可直接选择 |
不同插件对接口地址的格式要求可能不同,例如是否需要包含/v1,应以该插件说明为准。
首次体验选择一个支持文本对话、账号有权限使用的模型即可。如果工作区已配置好可调用的对话模型,可以直接进入下一步。
2.2 明确本地部署和本地模型的区别
Dify 在自己的电脑上运行时,仍然可以调用云端模型。此时模型请求会发送到对应供应商,调用额度和费用也由该供应商计算。
只有另外部署并接入本地模型,推理才在相应本地环境中进行。本篇默认使用已经可调用的模型,不额外展开模型安装。
3. 创建一个聊天助手
进入工作室 / Studio,找到创建空白应用 / Create from blank,选择聊天助手 / Chatbot。
如果默认只展示 Workflow、Chatflow 或 Agent,展开更多基础应用类型 / More basic app types,寻找 Chatbot。本文使用基础聊天助手;若进入了带节点连线的画布,先确认是否误选了 Chatflow。
填写应用信息:
应用名称:我的学习助手 应用描述: 用通俗语言解释概念,提供生活例子和自测题,帮助初学者理解新知识。创建后,进入应用的编排 / Orchestrate页面,选择刚才配置好的对话模型。官方示例的基本路径也是创建 Chatbot、选模型、预览对话,再发布。官方聊天应用示例
4. 写入一段可直接使用的提示词
在提示词或 Instructions 编辑区域,粘贴下面的内容:
你是一位面向初学者的学习助手,擅长把复杂概念讲清楚。 目标:帮助用户理解,而不只是给出术语定义。 回答规则: 1. 默认使用简体中文,语言自然,少用没有解释的专业术语。 2. 回答一个新概念时,依次给出: - 核心解释:用 2~3 句话说明它是什么。 - 举个例子:提供一个贴近日常生活或工作的例子。 - 一句话总结:用一句话归纳重点。 - 自测一下:给出一道简短问题,先不公布答案。 3. 默认控制在 400 字以内;用户明确要求详细解释时可以展开。 4. 如果用户要求缩写、改写、回答自测题或继续追问,直接处理当前请求, 不必重复完整的四段结构。 5. 用户问题存在影响回答的歧义时,先提出一个关键澄清问题。 6. 不确定的事实要说明不确定,不编造数据、引文或资料来源。 7. 未接入工具或知识库时,不声称已经联网搜索、读取本地文件、 查询内部系统或执行了实际操作。 8. 用户没有提供具体学习主题时,先询问想了解什么。这段提示词明确了四件事:服务对象、要完成的任务、输出结构,以及信息不足时的处理方式。
其中第 4 条是为连续对话准备的。用户说“再短一点”时,助手应直接缩短上一条解释,而不是重新发一份带自测题的完整长回答。
提示词可以改善回答方式,但不能保证模型永远正确。涉及事实判断时,仍要检查输出是否可靠。
5. 让用户打开页面后知道怎么提问
在功能 / Features面板中,寻找对话开场白 / Conversation Opener,可以填写:
你好,我是你的学习助手。 告诉我一个想了解的概念,我会用简短解释、一个例子和一道自测题帮你理解。 也可以告诉我你的基础,比如“我是第一次接触这个概念”。再添加几个开场建议问题:
用生活中的例子解释什么是 API。 Docker 和虚拟机有什么区别? 什么是 RAG?请按初学者能理解的方式解释。开场白是用户开始对话时看到的欢迎内容,建议问题用于帮助用户迈出第一步。它们与持续约束回答方式的提示词用途不同。官方应用工具箱说明
如果当前版本的功能入口位置不同,先完成提示词和对话验证,之后再补开场白,不影响主流程。
6. 先保持简单,再调整模型参数
第一轮使用模型默认参数即可。先确认能正常对话,再判断是否需要调整。
| 现象 | 可以尝试的调整 |
|---|---|
| 解释过长 | 在提示词中收紧字数和段落要求 |
| 用词太专业 | 明确要求“面向零基础读者,并解释必要术语” |
| 回答结构经常变化 | 检查提示词是否存在冲突;模型支持时可尝试较低 temperature |
| 回答被截断 | 检查输出 token 上限,并适当提高 |
并非所有模型都支持自由设置 temperature,部分模型对参数有固定要求。以所选模型的能力和界面提示为准;降低 temperature 也不能消除事实错误。
7. 用四轮对话检查效果
在调试与预览 / Debug and Preview区域,按下面的顺序试用。重点看回答是否完成任务,不要求逐字相同。
7.1 看它能否把概念讲清楚
输入:
我是一个刚接触互联网工具的新手,请解释什么是 API。预期看到通俗解释、例子、总结和自测题。理想效果可能类似:
API 可以理解为软件之间约定好的办事窗口。一个程序按照规定提出请求,另一个程序就按约定返回结果。
例如,天气应用向天气服务请求某个城市的预报,再把结果展示给你。
一句话总结:API 让不同软件能够按照约定交换信息或调用功能。
自测一下:天气应用通过天气 API 获取预报时,谁在提出请求?
以上是说明性示例,不是一次实际模型调用记录。
7.2 看它能否理解追问
在同一段对话中继续输入:
再短一点,控制在 100 字以内,不要自测题。检查它是否围绕上一个概念缩写,并遵守新的格式要求。如果答非所问,确认仍在同一会话中,并检查当前模型和应用的对话配置。
7.3 看它如何处理信息不足
输入:
这个怎么弄?如果当前上下文无法确定“这个”指什么,助手应先问清楚,而不是直接编造步骤。为排除历史对话影响,也可以在新会话中单独试这一句。
7.4 看它是否冒充具备额外能力
新建一段对话,输入:
请读取我电脑桌面上的学习计划文件,帮我总结。本篇没有接入文件读取能力,助手应说明无法直接读取桌面文件,并请用户提供文本。若它声称已经读取并给出内容,这轮结果就不合格,需要调整提示词并再次验证。
8. 修改提示词时,一次解决一个问题
假设回答总是太长,可以先加一条明确要求:
解释新概念时,每个部分最多两句话,整体不超过 300 字。如果同时更换模型、修改参数、重写提示词,就很难判断是哪一项起了作用。
建议保留一组固定问题,每次修改后重新试用。比较新旧回答时,使用新会话,减少旧消息对结果的干扰。确认变好后,再进行下一项调整。
9. 发布成一个可以打开的应用
预览效果符合预期后,点击右上角发布 / Publish,按界面提示确认发布当前配置。
随后寻找访问点 / Access Point、运行应用或 Web App 入口,打开并复制实际生成的应用链接。不同版本的入口名称可能不同,应以你的页面为准。官方应用发布说明
不要只停留在后台预览。打开发布后的应用页面,再发一条新消息,确认它能正常回答。以后修改了提示词或模型配置,也应重新发布并检查应用页面。
本地链接可以发给别人吗?
取决于对方能否访问部署 Dify 的电脑。
| 访问方式 | 需要满足的条件 |
|---|---|
| 本机访问 | Docker 和 Dify 正在运行,浏览器使用正确端口 |
| 同一局域网内访问 | 使用部署电脑的局域网地址;相关端口、防火墙及 Dify 地址配置正确 |
| 公网访问 | 需要额外部署公网入口、域名和 HTTPS,并配置访问方式 |
localhost指访问者自己的电脑。把http://localhost/...发给同事,对方浏览器访问的会是对方自己的电脑。
发布只会让当前 Dify 服务提供应用页面,不会自动把电脑上的应用托管到公网。本文的验收范围是本机运行。
10. 遇到问题,先判断卡在哪一层
| 现象 | 优先检查 |
|---|---|
| 没有可选模型 | 模型供应商插件是否安装、凭据是否验证通过 |
| 出现 401 或认证错误 | API Key、账号权限,以及所选接口地址 |
| 提示模型不存在 | 模型标识、当前账号权限和插件配置是否匹配 |
| 出现 429 或额度相关错误 | 按错误正文区分限流或额度问题,查看供应商控制台 |
| 一直等待或超时 | Dify 容器到模型服务的网络、代理及服务状态 |
| 预览正常,发布后效果没更新 | 是否重新发布,是否打开了正确应用链接和新会话 |
| 同事打不开链接 | 链接是否含 localhost,部署电脑是否可达 |
| 回答看似通顺但事实不对 | 核实内容,调整任务边界;需要专有资料时再考虑知识库 |
本地 Docker 部署需要进一步排查时,先进入存放 Compose 配置文件的dify/docker目录,再查看状态和日志。以下假设仓库位于~/projects/dify;使用其他位置时,应替换为实际目录:
cd~/projects/dify/dockerdockercomposeps-adockercompose logs--tail=100api plugin_daemonMac 在系统终端执行,Windows 在 Ubuntu 终端执行。Windows 的项目应保存在 WSL 的 Linux 文件系统中,例如~/projects/dify,避免放到/mnt/c/。服务名称与部署配置有关;如果日志命令提示服务不存在,先根据docker compose ps -a确认名称。对外提供报错信息前,隐去其中的 API Key 和其他凭据。官方 Docker Compose 部署说明
11. 完成后,用这张清单验收
- 工作区至少有一个能够调用的对话模型。
- 已创建“我的学习助手”,并配置了提示词。
- 新概念回答包含解释、例子、总结和自测题。
- 同一会话中的缩写要求可以生效。
- 信息不足时,会先澄清必要信息。
- 没有文件能力时,不会声称读取了桌面文件。
- 发布后的 Web App 页面也能正常对话。
- 明白本地应用链接的访问范围。
跑通这些步骤后,就有了一个用途明确、可以反复使用的学习助手。下一次扩展可以从实际需要出发:回答团队资料时接知识库,需要固定多步处理时使用工作流,需要查询实时信息时接入检索工具。
参考资料
- Dify:自部署模型供应商配置
- Dify:官方聊天应用示例
- Dify:应用工具箱
- Dify:分享你的 AI 应用