Dify学习笔记-应用发布(四)

1、发布为公开 Web 站点

使用 Dify 创建 AI 应用的一个好处在于,你可以在几分钟内就发布一个可供用户使用的 Web 应用,该应用将根据你的 Prompt 编排工作。
如果你使用的是自部署的开源版,该应用将运行在你的服务器上
如果你使用的是云服务,该应用将托管至 Udify.app

1.1、发布 AI 站点

在应用概览页中,你可以找到关于AI 站点(WebApp)的卡片。只需开启 WebApp 的访问,就可以得到一个可分享可分享给用户的链接了。
在这里插入图片描述
我们对以下两种应用均提供了一个漂亮的 WebApp 界面:
文本生成型(前往预览)
对话型(前往预览)

1.2、设置你的 AI 站点

点击 WebApp 卡片上的设置按钮,可以为 AI 站点配置一些选项。它们都会被最终用户所见:
图标
名称
应用描述
界面语言
版权信息
隐私政策链接

1.3、嵌入你的 AI 站点

Dify 支持将你的 AI 应用嵌入到你的业务网站中,你可以使用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置。
iframe 标签方式
将 iframe 代码复制到你网站用于显示 AI 应用的标签中,如

等标签。
script 标签方式
将 script 代码复制到你网站 或 标签中。

在这里插入图片描述

例如,将 script 代码粘贴到官网的 处,你将得到一个官网 AI 机器人:

在这里插入图片描述

1.0、Web 应用的设置

Web 应用是给应用使用者用的。应用开发者在 Dify 创建一个应用,就会获得一个对应的 Web 应用。Web 应用的使用者无需登陆,即可使用。Web 应用已适配不同尺寸的设备:PC,平板和手机。
Web 应用的内容和应用发布的配置一致。当修改了应用的配置,并在应用的提示词编排页点 “发布” 按钮发布后,Web 应用的内容也会根据当前应用的配置做更新。
我们可以在应用概览页开启和关闭对 Web 应用的访问,以及修改 Web 应用的站点信息:
图标
名称
应用描述
界面语言
版权信息
隐私政策链接
Web 应用的功能表现取决于开发者在编排应用时是否开启该功能,例如:
对话开场白
对话前填写的变量
下一步问题建议
语音转文字
引用和归属
更多类似的答案(文本型应用)

在下面的章节,我们会分别介绍 Web 应用的两种类型:
文本生成型
对话型

2、文本生成型应用

文本生成类应用是一种根据用户提供的提示,自动生成高质量文本的应用。它可以生成各种类型的文本,例如文章摘要、翻译等。
文本生成型应用支持如下功能:
运行一次。
批量运行。
保存运行结果。
生成更多类似结果。
下面我们分别来介绍。

2.1、运行一次

输入查询内容,点击运行按钮,右侧会生成结果,如下图所示:
在这里插入图片描述

在生成的结果部分,点 “复制” 按钮可以将内容复制到剪贴板。点 “保存” 按钮可以保存内容。可以在 “已保存” 选项卡中看到保存过的内容。也可以对生成的内容点 “赞” 和 “踩”。

2.2、批量运行

有时,我们需要运行一个应用很多次。比如:有个 Web 应用可以根据主题来生成文章。现在要生成 100 篇不同主题的文章。那么这个任务要做 100 次,很麻烦。而且,必须等一个任务完成才能开始下一个任务。
上面的场景,用批量运行功能,操作便利(把主题录入一个 csv 文件,只需执行一次),也节约了生成的时间(多个任务同时运行)。使用方式如下:

第 1 步 进入批量运行页面

点击 “批量运行” 选项卡,则会进入批量运行页面。
在这里插入图片描述

第 2 步 下载模版并填写内容

在这里插入图片描述

第 3 步 上传文件并运行

在这里插入图片描述

如果需要导出生成的内容,可以点右上角的下载 “按钮” 来导出为 csv 文件。
注意: 上传的的 csv 文件的编码必须是 Unicode 的编码。否则会运行结果失败。解决方案:用 Excel,WPS 等导出为 csv 文件时,编码选择 Unicode。

2.3、保存运行结果

点击生成结果下面的 “保存” 按钮,可以保存运行结果。在 “已保存” 选项卡中,可以看到所有已保存的内容。
在这里插入图片描述

2.4、生成更多类似结果

如果在应用编排时开启了 “更多类似” 的功能。在 Web 应用中可以点击 “更多类似” 的按钮来生成和当前结果相似的内容。如下图所示:

在这里插入图片描述

3、对话型应用

对话型应用采用一问一答模式与用户持续对话。对话型应用支持以下能力(请确认应用编排时有开启以下功能):
对话前填写的变量。
对话的创建、置顶、删除。
对话开场白。
下一步问题建议。
语音转文字。
引用和归属

3.1、对话前填写的变量

如你在应用编排时有设置变量的填写要求,则在对话前需要按提示填写信息才可进入对话窗口:
在这里插入图片描述

填写必要内容,点击 “开始对话” 按钮,开始聊天。
在这里插入图片描述

移动到 AI 的回答上,可以复制会话内容,给回答 “赞” 和 “踩”。
在这里插入图片描述

3.2、对话的创建、置顶和删除

点击 “新对话” 按钮开始一个新的对话。移动到一个会话上,可以对会话进行 “置顶” 和 “删除” 操作。
在这里插入图片描述

3.3、对话开场白

若在应用编排时开启了「对话开场白」功能,则在创建一个新对话时 AI 应用会自动发起第一句对话:
在这里插入图片描述

3.4、下一步问题建议

若在应用编排时开启了「下一步问题建议」功能,则在对话后系统自动生成 3 个相关问题建议:

在这里插入图片描述

3.5、语音转文字

若在应用编排时开启了「语音转文字」功能,则在 Web 应用端的输入框看到语音输入的图标,点击图标即可语音输入转成文字:
请注意确保你使用的设备环境已经授权使用麦克风。

在这里插入图片描述

3.6、引用和归属

若在应用编排时开启了「引用和归属」功能,则对话返回时,会自动展示引用的数据集文档来源。

在这里插入图片描述

4、基于 APIs 开发

Dify 基于“后端即服务”理念为所有应用提供了 API,为 AI 应用开发者带来了诸多便利。通过这一理念,开发者可以直接在前端应用中获取大型语言模型的强大能力,而无需关注复杂的后端架构和部署过程。

4.1、使用 Dify API 的好处

让前端应用直接安全地调用 LLM 能力,省去后端服务的开发过程
在可视化的界面中设计应用,并在所有客户端中实时生效
对 LLM 供应商的基础能力进行了良好封装
随时切换 LLM 供应商,并对 LLM 的密钥进行集中管理
在可视化的界面中运营你的应用,例如分析日志、标注及观察用户活跃
持续为应用提供更多工具能力、插件能力和数据集

4.2、如何使用

选择一个应用,在应用(Apps)左侧导航中可以找到访问 API(API Access)。在该页面中你可以查看 Dify 提供的 API 文档,并管理可访问 API 的凭据。
在这里插入图片描述
例如你是一个咨询公司的开发部分,你可以基于公司的私有数据库提供 AI 能力给终端用户或开发者,但开发者无法掌握你的数据和 AI 逻辑设计,从而使得服务可以安全、可持续的交付并满足商业目的。
在最佳实践中,API 密钥应通过后端调用,而不是直接以明文暴露在前端代码或请求中,这样可以防止你的应用被滥用或攻击。

你可以为一个应用创建多个访问凭据,以实现交付给不同的用户或开发者。这意味着 API 的使用者虽然使用了应用开发者提供的 AI 能力,但背后的 Promp 工程、数据集和工具能力是经封装的。

4.3、文本生成型应用

可用于生成高质量文本的应用,例如生成文章、摘要、翻译等,通过调用 completion-messages 接口,发送用户输入得到生成文本结果。用于生成文本的模型参数和提示词模版取决于开发者在 Dify 提示词编排页的设置。
你可以在应用 -> 访问 API 中找到该应用的 API 文档与范例请求。
例如,创建文本补全信息的 API 的调用示例:

curl --location --request POST 'https://api.dify.ai/v1/completion-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "response_mode": "streaming",
    "user": "abc-123"
}'

4.4、对话型应用

可用于大部分场景的对话型应用,采用一问一答模式与用户持续对话。要开始一个对话请调用 chat-messages 接口,通过继续传入返回的 conversation_id 可持续保持该会话。
你可以在应用 -> 访问 API 中找到该应用的 API 文档与范例请求。
例如,发送对话信息的 API的调用示例:

curl --location --request POST 'https://api.dify.ai/v1/chat-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "query": "eh",
    "response_mode": "streaming",
    "conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276"
    "user": "abc-123"
}'

5、基于前端组件再开发

如果开发者是从头开发新产品或者在产品原型设计阶段,你可以使用 Dify 快速发布 AI 站点。与此同时,Dify 希望开发者能够充分自由的创造不同形式的前端应用,为此我们提供了:

  • SDK,用于在各种语言中快速接入 Dify API
  • WebApp Template,每种类型应用的 WebApp 开发脚手架

WebApp Template 是基于 MIT 协议开源的,你可以充分自由的修改并部署他们,以实现 Dify 的所有能力。或者作为你实现自己 App 的一份参考代码。
你可以在 GitHub 中找到这些 Template:

  • 对话型应用
  • 文本生成型应用

使用 WebApp 模版最快的方法就是在 GitHub 中点击「使用这个模版」,它相当于 Fork 了一个新的仓库。随后你需要配置 Dify 的 App ID 和 API Key,类似这样:

export const APP_ID = ''
export const API_KEY = ''

More config in config/index.ts:

export const APP_INFO: AppInfo = {
  "title": 'Chat APP',
  "description": '',
  "copyright": '',
  "privacy_policy": '',
  "default_language": 'zh-Hans'
}

export const isShowPrompt = true
export const promptTemplate = ''

每一种 WebApp 模版都提供了 README 文件,内含部署方式的说明。通常,WebApp 模版都包含了一个轻后端服务,这是为了确保开发者的 API KEY 不会直接暴露给用户。
这些 WebApp 模版能够帮助你快速搭建起 AI 应用原型,并使用 Dify 的所有能力。如果你基于它们开发了自己的应用或新的模版,欢迎你与我们分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/347254.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.确认弹窗(ConfirmPopup)

愿你出走半生,归来仍是少年! 环境:.NET 7 在开发中,最常用的弹窗之一表示确认弹窗,为了减少重复的开发工作,所以需要基于Popup进行封装。 1.布局 分为标题、确认内容、按钮三个区域,都是可供调整的。 &l…

java复习篇 数据结构:链表第二节 哨兵

目录 单向链表哨兵 初始 头插 思路 代码 尾插 思路 遍历 遍历验证头插 尾插代码 尾插测试 get 思路 代码 测试 insert 思路 代码 测试 remove 移除头结点 提问 移除指定位置 测试 单向链表哨兵 单向链表里面有一个特殊的节点称为哨兵节点,…

MacOS 无法ping 通 github.com 解决方案

ping github.com 会显示请求超时: PING github.com (192.30.253.112): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3 Request timeout for icmp_seq 4 Request …

一文了解Ceph原理以及常见ceph指令

一、Ceph介绍 什么是分布式存储? 与集中式存储相反,分布式存储通常采用存储单元集群的形式。并且具有在集群节点之间进行数据同步和协调的机制。其目的是为了通过服务器解决大规模,高并发情况下的Web访问问题。 Ceph是一个统一的、分布式的存…

如何利用H5页面引导关注公众号-数灵通

随着流量获取成本的增加,许多企业开始寻找新的引流渠道来储存流量。H5小活动成为了一种有效的引流方式,并且在客户之间传递,形成了裂变效应。企业开始将目光转向H5网站,希望通过引导客户关注公众号来提升品牌影响力。 为了实现这一…

143基于matlab的2D平面桁架有限元分析

基于matlab的2D平面桁架有限元分析,可以改变材料参数,输出平面结构外形,各桁架应力,位移及作用力。可查看节点力,程序已调通,可直接运行。 143 matlab 平面桁架 有限元分析 桁架应力 (xiaohongshu.com)

温湿度传感器原理解析,温湿度传感器的应用场景有哪些?

作为常见的检测装置,现在已经有大大小小几十种传感器出现在我们的日常生活中。作为能够测量环境温度和湿度的传感器,温湿度传感器正是最常见的传感器之一,作为温湿度监测系统的一部分,被广泛应用于智慧机房、智慧楼宇、智慧农业等…

重构改善既有代码的设计-学习(三):重新组织数据

1、拆分变量(Split Variable) 有些变量用于保存一段冗长代码的运算结果,以便稍后使用。这种变量应该只被赋值一次。 如果它们被赋值超过一次,就意味它们在函数中承担了一个以上的责任。如果变量承担多个责任,它就应该被…

外贸干货!社媒营销养号全攻略:10个必须知道的养号技巧

大家都知道,养号已经成为任何希望在WhatsApp、Facebook、TikTok等社交媒体平台上取得成功的跨境电商和营销人员的必备技能。在本文中,我们将深入探讨如何高效地进行养号,以及如何在海外社交媒体批量养号的过程中避免封号,确保你的…

Jenkins全局工具配置

目录 Jenkins全局工具全局工具配置Settings 文件配置Maven配置JDK配置Git配置 Jenkins全局工具 我们在安装了Jenkins之后,就可以开始使用Jenkins来进行一些自动化构建发布工作,但是开始之前我们还需要进行全局工具的配置,Jenkins全局工具配置…

如何使用 NFTScan API 检索 NFT 合约地址下 Transactions 数据

对于大多数人而言,获取某 NFT 合约地址下的全量交易记录是十分有挑战性的,不仅涉及到对区块链技术的深入了解以及使用相应的工具和资源,还需要处理区块链上的智能合约和交易数据,并将其与外部数据源进行整合分析。通常&#xff0c…

【UAT阶段】测试计划分享

前面我有分享UAT阶段注意事项,今天跟大家分享UAT测试计划包含哪些内容: 希望该计划能给大家在实际项目中有所帮助;

求职应聘找工作,你一定会遇到的人才测评

信息时代,越来越多的公司在招聘时引入了人才测评机制。企业和单位希望通过人才测评在广大的应聘者中,找到符合自己要求的人才。虽然很多应聘者能力和简历都比较出众,但却在最开始的人才测评中吃了亏。有的公司很看重人才测评结果。测评就相当…

WinSCP下载安装并实现远程SSH本地服务器上传文件

文章目录 1. 简介2. 软件下载安装:3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计…

2017年认证杯SPSSPRO杯数学建模A题(第二阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 A题 安全的后视镜 原题再现: 汽车后视镜的视野对行车安全非常重要。一般来说,汽车的后视镜需要有良好的视野范围,以便驾驶员能够全面地了解车后方的道路情况。同时,后视镜也要使图像的畸变尽可能…

leetcode2859-计算K置位下标对应元素的和

题目链接 2859. 计算 K 置位下标对应元素的和 - 力扣(LeetCode) 解题思路 枚举nums的每一个下标i;统计i的二进制数的1的个数;累加满足bit_count(i) k的nums[i]; 难点,如何统计二进制中1的个数? 例题 …

postgresql12表膨胀解决(不锁表)

查看所有数据库占用磁盘空间 SELECTpg_database.datname AS "数据库名称",pg_size_pretty(pg_database_size(pg_database.datname)) AS "磁盘占用空间" FROMpg_database;发现有个数据库占用空间过大 查询库中所有表占用空间 SELECTtable_name,pg_size_…

固态硬盘优化设置

目录 前言: 关闭Windows Search 禁用系统保护(不建议) 不建议禁用系统保护原因 关闭碎片整理 提升固态硬盘速度 开启TRIM 合理使用固态硬盘的容量 正确关机 关闭开机自启 前言: 电脑配备固态硬盘就能一劳永逸吗&#…

字符金字塔(C语言刷题)

个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 题目描述 请打印输出一个字符金字塔,字符金字塔的特征请参考样例 输入描述: 输入一个字母,保…

动态规划-96.不同的二叉搜索树

给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 思路 二叉搜索树特性:左子树的节点全部小于根节点,右子树的节点全部大于根节点 n3,则1,2,3轮流当根节点。 当1为根节点时&am…