今天我们将继续深入讲解Dify,重点介绍如何创建应用。具体来说,我们将探讨如何根据不同的需求来决定选择什么类型的应用最为合适,帮助大家更好地理解在Dify平台上构建应用的最佳实践。

创建空白应用

首先,我们需要进入Dify的首页选择工作室,并创建空白应用。如图所示:

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

聊天助手

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

变量

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

上下文

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

Agent应用

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

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

他不再仅仅局限于内部的知识库,而是扩展到了外部的数据资源,能够更广泛地获取和整合外部信息。

文本生成应用

这个文本生成应用并不是应用,而是一个快速优化文本的小助手,如图所示:

如果你想要一个快速生成用户的润色、简历等相关业务,可以尝试一下。

工作流

这个适用于简单的单次任务执行,因为你无法拿到用户的上下文对话轮数。

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

这样一来,整个工作流的执行就能无缝集成,确保与其他工具的交互顺畅无误。如图所示:

chatflow

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

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

小结

通过上述内容,基本上已经对Dify的应用场景和功能有了一个全面的了解。未来在遇到相关需求或场景时,您可以直接根据实际情况创建相应的应用,而无需再花费额外的时间去深入了解其各个细节。


我是努力的小雨,一个正经的 Java 东北服务端开发,整天琢磨着 AI 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。

想把我在技术路上走过的弯路和经验全都分享出来,给你们的学习和成长带来点启发,帮一把。

欢迎关注努力的小雨,咱一块儿进步!

入门Dify平台:如何根据需求选择与创建最合适的应用的更多相关文章

  1. 04全志R58平台编译内核需要选择的配置

    04全志R58平台编译内核需要选择的配置 2018/11/6 14:19 版本:V1.0 开发板:SC5806 1.系统编译:(略) 每次系统编译/内核的时候都需要选3次N: * * Xtables ...

  2. cucumber_java从入门到精通(5)使用maven创建cucumber_java项目

    cucumber java从入门到精通(5)使用maven创建cucumber java项目 前几节我们已经在感性上认识了cucumber的基本功能以及BDD测试的基本流程,我们渐进重构,一步一步的向 ...

  3. C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)

    C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...

  4. Netsharp快速入门(之1) 介绍及需求说明

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 第一章 快速入门介绍 Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是: 1.         N ...

  5. 校友信息管理&SNS互动平台之技术框架选择

    前言.提纲及说明: 请移步:<校友信息管理&SNS互动平台之前言.目录及说明>(博客园地址:http://www.cnblogs.com/s6cn/p/3516876.html) ...

  6. 跟我开发NSP(网上查询平台):如何选择开发项目

    我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...

  7. PaaS 平台的网络需求

    在使用 Docker 构建 PaaS 平台的过程中,我们首先遇到的问题是需要选择一个满足需求的网络模型: 让每个容器拥有自己的网络栈,特别是独立的 IP 地址 能够进行跨服务器的容器间通讯,同时不依赖 ...

  8. 如何根据需求选择合适的数据库管理工具?Navicat OR DBeaver

    1.写在前面 在阅读本文之前,糖糖给大家准备了Navicat和DBeaver安装包,在公众号内回复"Navicat"或"DBeaver"或"数据库管理 ...

  9. App如何选择移动广告平台的开发者3 - 选择标准广告平台

    App开发公司.通常他们不能走品牌.要挑品牌的能力,我们将面临两大问题:业务团队.广告填充率.一系列的问题,以现金周期. 无线商务本才刚刚开始,大多数都是没有商业经验.产品.设计.运营.销售的人才都不 ...

  10. Farseer.net轻量级开源框架 入门篇:逻辑层的选择

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 入门篇:增.删.改.查操作演示 下一篇:Farseer.net轻量级开源框架 入门 ...

随机推荐

  1. [转]升级/重装win10系统--提示无法验证密钥的解决办法

    在由win7系统升级到win10时,出现了无法验证密钥的问题(还未提示输入密钥的时候就直接提示无法验证密钥),英文版报错为:Windows 10 setup has failed to validat ...

  2. 《Maven应用实战》一书的在线学习网址和源码链接

    <Maven应用实战>杨世文,孙会军 在线学习网址:http://c.biancheng.net/view/4756.html 源码链接:https://pan.baidu.com/s/1 ...

  3. java通过apache poi框架读取2007版Excel文件

    java系读写excel文件既可以用jxl库,也可以用POI库,但是,jxl库只支持低版本的excel2003,不支持更高版本,无法直接输出*.xlsx文件,只能输出*.xls文件,另外,更新也不频繁 ...

  4. WebClient 用法小结

    进来的项目中要实现能够在windows service中调用指定项目的链接页面.由于访问页面时候使用的是ie浏览器或其他浏览器,所以想起用webclient类. 如果只想从特定的URI请求文件,则使用 ...

  5. Ubuntu 16.04 编译安装Python 2.7.18

    安装python 2.7.18(注)使用apt install python安装的版本是2.7.10,该版本对部分项目存在兼容性问题,因此需要手动编译安装 安装python编译环境sudo apt i ...

  6. 【转】史上最详细的 JDK 1.8 HashMap 源码解析

    HashMap的源码应该是我看过最多变的JDK源码,没有之一,自己也写过一些帖子来记录自己的感悟,虽然其中涉及数据结构以及实现方式也都有所掌握,但是每次看都有不一样的收获,尤其是源码作者的编码思路以及 ...

  7. a链接被点击后,在跳转之前的处理事件

    在HTML中,<a> 标签通常用于创建链接,使用户能够点击并跳转到另一个页面或网址.如果你想在跳转前处理一些事件,你可以使用JavaScript来实现这一功能. 以下是一个简单的示例,展示 ...

  8. Spring Boot前后端分离直接访问静态页+ajax实现动态网页

    Spring Boot前后端分离直接访问静态页+ajax实现动态网页. 一般java里面Spring Boot项目的静态资源resources/下面有两个文件夹和一个配置文件,分别是static/目录 ...

  9. 1. Docker 的简介概述

    1. Docker 的简介概述 @ 目录 1. Docker 的简介概述 2. Docker 的理念: 3. 容器与虚拟机比较 4. Docker应用场景 5. 最后: 为什么会有 Docker 出现 ...

  10. Kafka常用命令总结

    1.清空某个topic数据 需要在service设置delete.topic.enable=true ./bin/kafka-topics.sh --zookeeper 172.23.75.105:2 ...