点击下方“JavaEdge”,选择“设为星标”
第一时间关注技术干货!
免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」; 不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。 怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」
0 前言
Dify的一个“应用”指基于LLM构建的实际场景应用。通过创建应用,可将智能 AI 技术应用于特定的需求。它既包含了开发 AI 应用的工程范式,也包含了具体的交付物。
一个应用为开发者交付:
封装友好的 API,可由后端或前端应用直接调用,通过 Token 鉴权
开箱即用、美观且托管的 WebApp,你可以 WebApp 的模版进行二次开发
一套包含提示词工程、上下文管理、日志分析和标注的易用界面
可任选其中之一或全部,来支撑你的 AI 应用开发。
1 应用类型
Dify提供如下应用类型:
聊天助手:基于 LLM 构建对话式交互的助手
文本生成:构建面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
Agent:能够分解任务、推理思考、调用工具的对话式智能助手
工作流:基于流程编排的方式定义更加灵活的 LLM 工作流
chatflow:支持记忆的复杂多轮对话工作流
completion-messageschat-messages交互方式 一问一答 多轮对话 流式结果返回 支持 支持 上下文保存 当次 持续 用户输入表单 支持 支持 知识库与插件 支持 支持 AI 开场白 不支持 支持 情景举例 翻译、判断、索引 聊天2 创建应用3种方式在 Dify 的工作室内创建应用:
基于应用模板创建(新手推荐)
创建空白应用
通过 DSL 文件(本地/在线)创建应用
为帮助新手用户快速了解在 Dify 能构建啥应用,Dify 团队提示词工程师已创建多场景、高质量的应用模板。
任意选择某个模板,并将其添加至工作区即可。
2.2 创建一个新应用
如需在 Dify 创建一个空白应用,Dify可创建不同应用类型:
给应用起一个名字、选择合适的图标,或者上传喜爱的图片用作图标、使用一段清晰的文字描述此应用的用途,以便后续应用在团队内使用。
Dify DSL 是由 Dify.AI 所定义的 AI 应用工程文件标准,文件格式为 YML。该标准涵盖应用在 Dify 内的基本描述、模型参数、编排配置等信息。
本地导入
如从社区或其它人获得一个应用模版(DSL 文件),可从工作室选择 「 导入DSL 文件 」。DSL 文件导入后将直接加载原应用的所有配置信息。
URL 导入
你也可以通过 URL 导入 DSL 文件,参考的链接格式:
https://example.com/your_dsl.yml★ 导入 DSL 文件时将校对文件版本号。如果 DSL 版本号差异较大,有可能会出现兼容性问题。 ”3 聊天助手
对话型应用采用一问一答模式与用户持续对话。
3.1 适用场景
客户服务、在线教育、医疗保健、金融服务等领域。这些应用可以帮助组织提高工作效率、减少人工成本和提供更好用户体验。
3.2 咋编排?
对话型应用的编排支持:对话前提示词,变量,上下文,开场白和下一步问题建议。
以面试官应用为例。
3.2.1 创建应用
填写应用名称,应用类型选聊天助手:
创建应用后会自动跳转到应用概览页。点击左侧菜单编排来编排应用。
① 填写提示词
提示词用于约束 AI 给出专业回复,让回应更精确。示例:
输入提示指令,要求给出一段面试场景的提示词
右侧内容框将自动生成提示词
你可以在提示词内插入自定义变量
可借助内置提示生成器,如下点击生成:
红框内输入你的提示词,再点击生成即可,右边即是优化后的提示词:
提示词内支持插入表单变量,如{{input}}。提示词中的变量的值会替换成用户填写的值。
为更好用户体验,可以加上对话开场白,点击右下角【管理】:
可选增强功能如下:
编辑开场白即可:你好,{{name}}。我是你的面试官,Bob。你准备好了吗?。
★ 可添加数个开场问题。 ”② 添加上下文
如果想要让 AI 的对话范围局限在【知识库】内,例如企业内的客服话术规范,可以在“上下文”内引用知识库。
③ 添加文件上传
部分多模态 LLM 已原生支持处理文件,如 Claude 3.5 Sonnet 或 Gemini 1.5 Pro。你可以在 LLM 的官方网站了解文件上传能力的支持情况。
选择具备读取文件的 LLM,开启 “文档” 功能。无需复杂配置即可让当前 Chatbot 具备文件识别能力。
在右侧填写用户输入项,输入内容进行调试。先输入变量 jobName 值为后端开发,开始激聊:
如果回答结果不理想,可以调整提示词和底层模型。你也可以使用多个模型同步进行调试,搭配出合适的配置:
多个模型进行调试:
如果使用单一模型调试时感到效率低下,你也可以使用“多个模型进行调试”功能,批量检视模型的回答效果。最多支持同时添加 4 个大模型:
★ ⚠️ 使用多模型调试功能时,如果仅看到部分大模型,这是因为暂未添加其它大模型的 Key。 ”3.2.4 发布应用
调试好应用后,点击右上角的“发布”按钮生成独立的 AI 应用。
① 发布为公开 Web 站点
发布一个可供用户在互联网上公开访问的 Web 应用,该应用将根据你的 Prompt 和编排设置进行工作。
自部署的开源版,该应用将运行在你的服务器上
云服务,该应用将托管至网址 https://udify.app/
在应用监测页中,你可以找到 WebApp 的管理卡片。打开访问开关后,你可以得到一个能够在互联网上公开分享的网址:
可见,均预置了漂亮的 WebApp 界面。
② 嵌入你的 AI 站点
Dify 支持将你的 AI 应用嵌入到业务网站中,可用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置:
Dify 基于“后端即服务”理念为所有应用提供了 API,为 AI 应用开发者带来了诸多便利。通过这一理念,开发者可以直接在前端应用中获取大型语言模型的强大能力,而无需关注复杂的后端架构和部署过程。
用 Dify API 的好处
让前端应用直接安全地调用 LLM 能力,省去后端服务的开发过程
在可视化的界面中设计应用,并在所有客户端中实时生效
对 LLM 供应商的基础能力进行了良好封装
随时切换 LLM 供应商,并对 LLM 的密钥进行集中管理
在可视化的界面中运营你的应用,例如分析日志、标注及观察用户活跃
持续为应用提供更多工具能力、插件能力和知识库
选择一个应用,在应用(Apps)左侧导航中可以找到访问 API(API Access)。在该页面中你可以查看 Dify 提供的 API 文档,并管理可访问 API 的凭据。
例如你是一个咨询公司的开发部分,你可以基于公司的私有数据库提供 AI 能力给终端用户或开发者,但开发者无法掌握你的数据和 AI 逻辑设计,从而使得服务可以安全、可持续的交付并满足商业目的。
最佳实践中,API 密钥应通过后端调用,而不是直接以明文暴露在前端代码或请求中,这样可以防止你的应用被滥用或攻击。
你可以为一个应用创建多个访问凭据,以实现交付给不同的用户或开发者。这意味着 API 的使用者虽然使用了应用开发者提供的 AI 能力,但背后的 Promp 工程、知识库和工具能力是经封装的。
FAQ
Q:咋在聊天助手内添加第三方工具?
A:聊天助手类型应用不支持添加第三方工具,可在 Agent 类型应用内添加第三方工具。
关注我,紧跟本系列专栏文章,咱们下篇再续!

