入门Dify平台:如何根据需求选择与创建最合适的应用
今天我们将继续深入讲解Dify,重点介绍如何创建应用。具体来说,我们将探讨如何根据不同的需求来决定选择什么类型的应用最为合适,帮助大家更好地理解在Dify平台上构建应用的最佳实践。
创建空白应用
首先,我们需要进入Dify的首页选择工作室,并创建空白应用。如图所示:

点击后,紧接着就会看见各种类型的应用,我们意义介绍他们的特点。如图所示:

聊天助手
之所以他被称为聊天助手,是因为他的核心功能仅限于与用户进行自然语言对话,无法调用任何外部工具进行复杂操作。简单来说,这类聊天助手类似于目前商业中广泛应用的智能客服系统,专注于解答用户的常见问题或进行简单的互动交流,如下图所示:

变量
这里简单讲一下,变量是一个前提内容条件,只有用户填写了这些信息后,才可以正常聊天,如图所示:

上下文
这个其实可以理解为一个知识库。因为利用个人业务数据来微调大型模型的成本相对较高,且微调的过程可能需要大量的计算资源和时间。因此,采用挂载一个知识库的方式,不仅可以迅速提供给大模型所需的业务知识,还能通过这种方式高效地帮助大模型理解和适应当前的业务场景。如图所示:

Agent应用
我们除了最开始的那种方式创建,还有一种方式创建,如图所示:

agent应用在聊天应用的基础上增加了一个关键功能——工具,没错这个就是需要大模型调用外部能力去回答用户问题的工具。如图所示:

他不再仅仅局限于内部的知识库,而是扩展到了外部的数据资源,能够更广泛地获取和整合外部信息。
文本生成应用
这个文本生成应用并不是应用,而是一个快速优化文本的小助手,如图所示:

如果你想要一个快速生成用户的润色、简历等相关业务,可以尝试一下。
工作流
这个适用于简单的单次任务执行,因为你无法拿到用户的上下文对话轮数。

除此之外,工作流模式的应用必须包含一个结束节点,才可以顺利运行。如果没有结束节点,系统将会直接报错,导致工作流无法正常执行。为了确保工作流能够在Agent应用中正确地添加到工具中,并作为外部工具参与对话流程,必须在设计时明确设置好结束节点。
这样一来,整个工作流的执行就能无缝集成,确保与其他工具的交互顺畅无误。如图所示:

chatflow
这个chatflow和工作流的区别有几点,第一个很关键的就是他有记忆窗口,可以理解对话上下文信息。如图所示:

因为他无法像工作流一样嵌入到Agent应用中,所以他本身就可以正常对话。如图所示:

小结
通过上述内容,基本上已经对Dify的应用场景和功能有了一个全面的了解。未来在遇到相关需求或场景时,您可以直接根据实际情况创建相应的应用,而无需再花费额外的时间去深入了解其各个细节。
我是努力的小雨,一个正经的 Java 东北服务端开发,整天琢磨着 AI 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。
想把我在技术路上走过的弯路和经验全都分享出来,给你们的学习和成长带来点启发,帮一把。
欢迎关注努力的小雨,咱一块儿进步!
入门Dify平台:如何根据需求选择与创建最合适的应用的更多相关文章
- 04全志R58平台编译内核需要选择的配置
04全志R58平台编译内核需要选择的配置 2018/11/6 14:19 版本:V1.0 开发板:SC5806 1.系统编译:(略) 每次系统编译/内核的时候都需要选3次N: * * Xtables ...
- cucumber_java从入门到精通(5)使用maven创建cucumber_java项目
cucumber java从入门到精通(5)使用maven创建cucumber java项目 前几节我们已经在感性上认识了cucumber的基本功能以及BDD测试的基本流程,我们渐进重构,一步一步的向 ...
- C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)
C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...
- Netsharp快速入门(之1) 介绍及需求说明
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 第一章 快速入门介绍 Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是: 1. N ...
- 校友信息管理&SNS互动平台之技术框架选择
前言.提纲及说明: 请移步:<校友信息管理&SNS互动平台之前言.目录及说明>(博客园地址:http://www.cnblogs.com/s6cn/p/3516876.html) ...
- 跟我开发NSP(网上查询平台):如何选择开发项目
我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...
- PaaS 平台的网络需求
在使用 Docker 构建 PaaS 平台的过程中,我们首先遇到的问题是需要选择一个满足需求的网络模型: 让每个容器拥有自己的网络栈,特别是独立的 IP 地址 能够进行跨服务器的容器间通讯,同时不依赖 ...
- 如何根据需求选择合适的数据库管理工具?Navicat OR DBeaver
1.写在前面 在阅读本文之前,糖糖给大家准备了Navicat和DBeaver安装包,在公众号内回复"Navicat"或"DBeaver"或"数据库管理 ...
- App如何选择移动广告平台的开发者3 - 选择标准广告平台
App开发公司.通常他们不能走品牌.要挑品牌的能力,我们将面临两大问题:业务团队.广告填充率.一系列的问题,以现金周期. 无线商务本才刚刚开始,大多数都是没有商业经验.产品.设计.运营.销售的人才都不 ...
- Farseer.net轻量级开源框架 入门篇:逻辑层的选择
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 入门篇:增.删.改.查操作演示 下一篇:Farseer.net轻量级开源框架 入门 ...
随机推荐
- Qt编写安防视频监控系统42-用户权限
一.前言 前几年写这个视频监控系统的时候,就规划过要加入用户权限管理,因为不属于急需要的功能一直耽搁至今,近期刚好其他几个项目要需要这个功能,和秘钥认证一样,于是一鼓作气就把这几个功能一块干掉,本次完 ...
- AndroidStudio 彻底关闭http网络代理方法
以前在AndroidStudio中设置完代理后,会在项目的gradle.properties文件中生成代理配置信息: 即使你在setting的http proxy中关掉代理,实际编译时还会使用上次设置 ...
- 抖音技术分享:抖音Android端手机功耗问题的全面分析和详细优化实践
本文由字节跳动技术团队高原.汤中峰分享,原题"抖音功耗优化实践",本文有修订和改动. 一.引言 功耗优化是应用体验优化的一个重要课题,高功耗会引发用户的电量焦虑,也会导致糟糕的发热 ...
- Java中使用JFreeChart生成甘特图
引言 甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配.它通过条形图显示任务的开始和结束时间,使项目经理能够直观地了解项目的整体情况.在Java开发中,JFreeChart是一个强大的开源 ...
- .Net Core 管道底层源码实现
在 .NET Core 中,请求处理管道是一个中间件(Middleware)链,用于处理 HTTP 请求并生成响应.管道的底层实现基于 Microsoft.AspNetCore.Http 命名空间中的 ...
- WPFMediaKit --WPF项目中 调用摄像头拍照
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...
- Spring-RetryTemplate-RestTemplate的使用
------------------------------------------------------------------------------------ 1.基本概念 1.1应用场景 ...
- Superset实现动态SQL查询
使用自定义参数方式实现 superset 实现SQL动态查询 1.启用参数:config.py 设置"ENABLE_TEMPLATE_PROCESSING": True 2.当前s ...
- XReport通过数据控制控件是否打印
需求场景:医嘱单在患者出院的时候,需要标记一条红线,表示以下没有医嘱了.数据库中此记录的一个字段属性isRed值来标记这一行. 实现:XReport报表的明细区域增加一个line1对象.然后在明细表格 ...
- React中的数据流管理
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:霜序 前言 为什么数据流管理重要? React 的核心思想 ...