ZAI
功能说明
ZAI 是 Zion 内置在编辑器内的用来配置自定义 AI 请求的强大功能之一,它通过精简的交互设计让 AI 配置变得简单易懂,让您通过无代码的方式构建自己的专属 AI 应用成为可能。
当创建好zai 之后,就可以通过使用ai行为来执行已配置好的各个zai。
核心能力
- 支持多种大模型,目前包括 GPT 4o, GPT 4o mini,未来支持更多大模型的直接接入
- 支持多种入参类型,目前包括文本与图片
- 支持多种知识库数据源,包括 Zion 数据库、第三方 API 以及本地上传
- 支持多种工具调用选择,包括行为流、API、已配置的其它 AI 请求
- 支持 JSON 格式化输出、流式输出# 应用场景
AI 应用场景非常多,以下是一些常见的应用场景,你可以充分发挥想象,在自己的软件业务逻辑中加入 AI 来提升应用能力与效率!
- 智能客服(AI 问答):
- 保险、律所、工具、电商的 AI 问答小助手/智能客服,给 AI 上传某个行业场景内的专业知识,AI 基于用户的问题来进行回答。例如将 Zion 的帮助文档提供给到 AI ,用户向 AI 提问 Zion 的相关操作问题时,AI 可以基于 Zion 帮助文档来进行回答
- 市场营销(AI 创作):
- 销售/咨询话术生成,提供用户的基本信息,销售/咨询资料,AI 基于这些资料来生成对应的销售话术
- 小红书文案、抖音视频脚本、影视剧本编写
配置AI
点击 Zion 编辑器左上角的【Z AI】按钮,即可进入创建 AI 的界面,点击【开始创建】按钮即可添加一个新的 AI ,左侧为 AI 请求配置界面,右侧为 AI 调试界面。
配置了zai之后,系统会自动新建会话表和消息表用来存储zai的对话内容,具体可点击zai数据模型
AI 名称:默认为 Ai-Config-1,可根据业务需求定义 AI 请求名称,方便在调用时快速识别合适的请求
基础配置
大模型: 选择完成 AI 业务的大模型版本,大模型版本的选择可能对返回结果有影响
- 更高级的大模型在调用时也会消耗更多的 AI Point
AI 性格: 即你期待大模型生成的结果是更理性还是更感性,数值在0-1之间,数值越小,大模型生成的结果越理性准确,数值越大,生成的结果则更富有创造力
最大轮数: 即在调试时,可与 AI 对话的最大次数。向 AI 发送指令,AI 在不调用任何工具的前提下给到回复,则算 1 轮;若向 AI 发送指令,AI 调用个了 1 个 API 工具,然后根据工具内容给到回复,则算 2 轮
每轮字数限制: 即每一轮发送给 AI 以及 AI 返回的最大字数
⚠️ 注意:当开启多轮时,每一轮新的对话都会带上之前对话的上下文,因此会导致每轮字数越来越多,从而消耗更多的 Point ,所以需要根据业务情况来设定每轮字数的限制,在避免超过大模型的处理限度的同时合理节约 Point 的使用
入参配置
配置调用 AI 请求时,传递给 AI 使用的单个或者多个参数,一般入参会直接提供给【预置提示】进行绑定使用,也可以作为【知识库-数据库】的过滤条件等
预置提示
即提示词,是发送给大模型的一段文本指令,告诉大模型要去完成什么任务或生成什么内容。在提示词中可以绑定当前用户数据和前文配置的入参来进行外部的数据输入。
任务角色(Role): 定义 AI 是一个什么角色,让 AI 更好的理解任务/问题,从而给出更好的结果,比如“帮助学生正确掌握英语语法的英语老师”、“保险公司的理赔专员”、”小红书母婴专栏作家“等
任务详情(**Goals**): 定义 AI 要去执行的任务是什么,比如是要让 AI 去回答问题、编写文案还是做信息提取,以及是否要结合其它一些上下文或者知识库来作为执行任务时候的参考
任务限制(Constraint): 定义 AI 执行任务时候的限制条件,比如要做什么、不要做什么、多少字数、要包括什么关键词、需要什么风格、需要精确到几位数,生成富文本等等
举个例子:
- 任务角色:小红书文案编辑
- 任务详情:作为小红书文案编辑,你需要为一款爆款产品——iPhone 14 Pro,撰写一篇吸引眼球的文案。文案需要突显产品的强大处理器和优质的外观材质,同时要融入一些时尚和生活方式的元素,以吸引小红书上的年轻用户群体。文案需简洁、有吸引力,并能够引发读者的购买欲望。
- 任务限制:
- 文案字数不超过200字。
- 需包含产品的关键特点:强大的处理器和优质的外观材质。
- 文案风格应活泼、生动,适合小红书用户阅读习惯。
- 要求自然融入时尚和生活方式元素。
配置知识库
从知识库中检索到的结果会与预置提示一起发送给 AI ,给 AI 提供执行任务时需要知道的知识。
作用:
- 扩展知识领域:外部知识库可以为 AI 大模型提供额外的领域专业知识,使其能够回答更广泛的问题。这有助于提高模型的通用性,使其在各种领域都表现出色。
- 提供实时信息: 外部知识库可以包含最新的数据和信息,帮助 AI 模型了解当前的事件和趋势。这对于涉及时事新闻、股票市场、天气预报等信息的任务特别有用。
- 更多作用:改善答案的准确性、提高语境理解、处理稀有领域问题、语言翻译和跨文化理解、弥补知识不足
举个例子: 例1: 我想做一个 Zion AI 开发小助手,用户可以向这个小助手提问关于 Zion 的开发使用相关问题,为了让 AI 能够准确回答用户问题,就需要给 AI 提供 Zion 的官方文档 例2:我想做一个公司内部财务报销小助手,公司内部同事在报销时可以预先提问 AI 助手,为了让 AI 能够精准回答同事的问题,就需要给 AI 提供公司财务报销相关的文档内容
来源:
Z AI 支持多种知识库数据源,包括 Zion 数据库、第三方 API 以及本地上传
1.数据:即 Zion 自带的数据库的数据, 选择已经存储在 Zion 中的单个或者多个数据表、单个或者多个字段、关联表/关联字段,选择的数据表还能够预先做数据限额、过滤条件、排序以及去重的操作
⚠️ 注意:读取的数据会直接给到 AI ,从而消耗 Point ,所以在配置时建议控制读取的数据条数以及内容量,根据业务情况来设定数据限额,在避免超过大模型的处理限度的同时合理节约 Point 的使用
img | img |
---|---|
- 若想利用 RAG 给大模型提供私有知识,了解【数据向量化存储与排序】
2.第三方 API: 即调用在 Zion 中配置好的第三方 API 获取到的数据,选择需要调用的 API 请求,设置对应的入参内容以及出参描述。了解【API 配置说明】
3.本地上传: 选择本地文件上传到该 AI 配置,上传后的内容会自动进行分段、向量化处理,配置入参之后,会自动检索最相关的内容给到大模型作为上下文
- 目前仅支持 Word、PDF、txt、md格式的文件
- 文件总大小不超过50MB
工具调用
作用:
在人工智能代理(AI Agent)中,大语言模型类似于代理的大脑,主要负责逻辑思维和任务规划。然而,这些模型无法直接与外界互动;它们需要通过调用各种工具,如 API 请求或其它中介软件,来实现与外界的交互,类似于人类的手脚,使得 AI 能够执行具体的任务。这些工具使 AI 能够执行数据检索、图像生成、或与环境的其它形式的交互。
工具类型
在 ZAI 中,可以让 AI 调用已经在 Zion 中配置好的行为流、API 以及其它的 AI 请求,也可以打开「获取更多信息」,让 AI 自行判断如果上下文不足以支撑业务时,反问用户获取更多上下文
调用行为流
选择配置好的行为流之后,点击行为流右侧添加描述按钮为行为流本身以及行为流中的输入(入参)、输出(出参)添加描述,让 AI 知道该行为流的作用以及要传入的参数跟要输出的数据是什么调用 API
选择配置好的 API 之后,点击 API 右侧添加描述按钮为该 API 添加描述,让 AI 知道要传递什么入参以及API 返回的出参是什么调用 AI
同上方的行为流以及 API ,选择了配置好的其他 AI 之后,为该 AI 添加描述,让当前 AI 知道这个 AI 工具的作用是什么以及入参、出参数据是什么
输出配置
默认: 当你的任务限制中没有任何输出格式的限制时,AI 会按照默认的方式输出结果,比如任务是计算一组数据,那么输出结果可能就是一个数字,如果任务是写一篇文章,那么输出结果可能就是一大段文本 自定义: 如下图所示,以「JSON」对象的形式输出结果,支持自定义 JSON 对象的结构以及其中的字段名称,并且为其添加描述,告诉 AI 该字段的意义
流式输出:AI 模型在生成结果时逐步显示生成内容。流式输出可以减少延迟从而提升用户体验。
⚠️ 注意:由于输出特性,流式输出时只能作为页面展示用,无法作为项目数据流转的一部分;在调用 AI 的成功时,输出结果才可作为正常文本使用进一步使用,如保存到数据库等
调试
当完成了 AI 的配置之后,可以在界面右侧输入入参,调试、预览该 AI
下方为 AI 运行的全过程,AI 运行成功时,你可以查看给 AI 提供的入参、工具调用情况以及返回结果是否符合预期,如果定义了多轮对话轮次,在此处可以输入新的入参继续对话
调用AI
Z AI 提供了如下所示五种调用 AI 的行为,你可以在点击时行为下找到 AI 然后选择需要的行为进行配置
开始会话
【开始会话】一般用于开启多轮 AI 对话的首轮对话或者完成一次性 AI 对话 【开始会话】通过点击触发,开启一个新的 AI 会话,即在「会话表」中添加一条新会话记录,在消息表中添加一条以system 为角色的消息记录,并记录该条消息属于哪一个对话;在消息内容表中添加内容记录,并记录该消息内容属于哪一条消息;如果调用了工具,则会在工具使用记录表中添加工具使用记录,并记录该工具使用记录属于哪一条消息。
配置指南
在【开始会话】的行为中选择要调用的 AI ,如果该 AI 有入参,则绑定或者直接输入对应的入参即可。
⚠️ 注意:为了在【继续会话】、【删除会话】、【停止回复】中准确绑定会话 ID,一般会页面上添加一个整数类型(BIGINT)的页面数据,命名为 conversation_id ,在【开始会话】成功时设置该页面数据,赋值为:结果数据/开始会话/ID
继续会话
当进行多轮对话,在【开始会话】后,要继续给 AI 发送消息并且自动带上上下文时,则使用【继续会话】行为 【继续会话】通过点击触发,触发后同开始会话一样,会自动向消息表、消息内容表以及工具使用记录表中添加相关数据
配置指南
在【继续会话】的行为中选择与上一次调用的【开始会话】相同的 AI ,并且在「选择会话」中绑定因【开始会话】而产生的会话 ID,同时直接输入或绑定消息文本内容,如果有图片则绑定图片内容即可
删除会话
【删除会话】即删除某一次的会话,删除会话的同时会删除与会话相关联的消息、消息内容、工具调用记录
停止回复
【停止回复】即【开始会话】或【继续会话】过程中,会话还未结束,则可以触发【停止回复】停止当前对话,停止回复后,依旧可以使用【继续会话】继续刚才的多轮对话
使用调用AI的结果
默认输出时
为了直接显示 AI 请求回来的结果,一般在页面上添加一个页面数据,然后为按钮组件的点击时行为添加需要的 AI 请求,完成 AI 请求的入参配置,在其成功时设置页面数据,赋值为结果数据中的内容
img | img |
---|---|
自定义输出时
当配置 AI 时,配置了自定义输出,你将需要按照如下格式设置输出的字段类型、名称(一定要是英文,最好是能够与你期待的输出结果意义相同的英文单词或短句),AI 将会按照字段名称把对应的结果写入到该字段中
在调用该 AI 时,你将可以在 AI 结果数据中选择需要引用的字段内容,例如下方案例中是将 AI 返回的问题类型数据 question_type 与「搭建项目」进行比较
流式输出时
当配置 AI 时,打开了「流式输出」的模式,那么在调用 AI 时,会出现「将流式输出数据赋值给」的配置,在配置中需要选择事先在页面中创建好的页面数据进行赋值,而后可将该页面数据绑定给【文字组件】,当 AI 调用成功时,文字组件就会将结果以流的方式进行输出呈现
img | img | img |
---|---|---|
请求时显示加载动画: 默认打开,发起 AI 请求时,在请求结果回来之前显示如下加载动画