飞书智能伙伴Aily之全局变量

飞书智能伙伴Aily之全局变量

智能伙伴Aily手册精选NaN-NaN-NaN
产品功能
变量说明
工作流目前提供了以下全局变量:
参数名称
参数类型
参数说明
query
String
触发技能的纯文本消息内容
files
List<Object>
触发技能的消息携带的文件信息
message
Object
触发技能的完整消息内容
messageHistory
List<Object>
完整的历史消息记录
session
Object
会话信息
channel
Object
渠道信息
消息相关
工作流里提供了四个跟消息相关的参数。
  • query,触发技能的纯文本消息内容
  • files,触发技能的消息携带的文件信息,包含文件的标识、类型和链接等信息
  • message,触发技能的完整消息内容,包含消息文本、文件、发送者、@等信息
  • messageHistory,message列表,包含技能触发时最新的20条消息,每条消息包含消息文本、文件、发送者、@等信息
消息内容:
{
"query": "my plainText", //纯文本消息内容
"content":"my plainText ![](file_key_123)", //完整消息结构,MDX语法
"files": [
{
"fileKey":"file_40h3cvyc96fk2tfrn36em", //文件标识
"type":"image/jpeg", //文件类型
"fileURL":"", //文件访问地址
"metadata": "" //文件基础信息,包括文件过期时间
}
],
"sender": {
"id": "1797178075708452", //用户标识
"channelType": "lark.p2p", //渠道类型
"senderType": "user", //用户类型,user/assistant
"tenantType": 4, //租户类型,1是正式环境,4是沙箱环境
"name":"Jackie" //用户姓名
},
"mentions": [], // 消息里@的用户列表
"channelInfo":{} //渠道信息,飞书渠道下展示message_id和消息发送着的user_id/union_id/open_id
}}}
  • 历史消息里的消息结构比较复杂,如何在大模型节点更好地消费历史消息
在大模型节点消费历史消息有两种方式:
  1. 使用智能对话节点,并配置需要读取的对话轮数
250px|700px|reset
  1. 通过代码节点对历史消息进行处理,然后在LLM节点中使用
//返回历史消息里的用户角色(senderType)和用户输入(content)
module.exports = async function main(input, history) {
const res = (history || []).map(round => {
return `${round.sender.senderType}:${round.content.replace(/\n/g, '。')}`;
});
return res.join('\n');
}}}
会话相关
工作流里提供了会话相关的参数session,包含渠道类型、会话ID、会话类型。
{
"channelType": "lark.p2p",//渠道类型
"sessionID": "370984473584239001",//会话ID
"sessionType": "p2p" //会话类型
}}}
channelType ,渠道信息标识,包含渠道、场景、自定义标识,e.g lark.p2p / lark.group / lark.openapi.meego
sessionID,会话ID,飞书渠道下是对应的chat_id,其他场景下为Aily的会话id
sessionType,会话类型,p2p/group,用来区分当前会话是单聊/群聊
  • 如何在集成服务中消费会话信息
如果用户想在集成服务中使用会话信息,比如获取当前群聊里的群消息内容,可直接在群ID中使用session信息。
250px|700px|reset
渠道信息
工作流里提供了渠道相关的参数 channel,包括渠道类型等信息。
{
"channelType": "lark.group", // 渠道类型
"larkChannelInfo": { // 飞书渠道信息
"chat_id": "oc_5ce6d572455d888888b7xx88da888888", // 飞书渠道下会话标识
"tenant_key": "738888c8888f888e" // 飞书渠道下租户标识
},
"externalChannelInfo": {}, // 其他渠道信息
"variables": {} // 开发者通过 SDK 或 OpenAPI 传入的自定义变量
}}}
channelType ,渠道信息标识,包含渠道、场景、自定义标识,如 lark.p2p / lark.group / lark.openapi.meego
larkChannelInfo,飞书渠道的信息
externalChannelInfo,其他渠道信息
variables,开发者通过 SDK 或 OpenAPI 传入的自定义变量
Channel 数据示例
飞书渠道单聊
{
"channelType": "lark.p2p",
"larkChannelInfo": {
"chat_id": "oc_29de7d7b7304514b37ba88218f763c4d",
"tenant_key": "16771707a318974f"
}
}
飞书渠道群聊(普通群)
{
"channelType": "lark.group",
"larkChannelInfo": {
"chat_id": "oc_9fa58610767496940c38c6c2d1a7da85",
"tenant_key": "16771707a318974f"
}
}
飞书渠道群聊(话题群)
{
"channelType": "lark.topic",
"larkChannelInfo": {
"chat_id": "oc_e68df9e62b7aaaf0b5269713b68e4833",
"tenant_key": "16771707a318974f"
}
}
飞书服务台渠道
{
"channelType": "lark.helpdesk",
"larkChannelInfo": {
"chat_id": "",
"tenant_key": ""
},
"externalChannelInfo": {
"chatID": "7408865050154237971",
"helpdeskID": "7407653945444679700",
"locale": "zh_cn",
"position": 560,
"ticketID": "7414372823524704276"
}
}
调试台
{
"channelType": "web.p2p_debug",
"larkChannelInfo": {
"chat_id": "",
"tenant_key": ""
}
}
对话应用
{
"channelType": "web.p2p",
"larkChannelInfo": {
"chat_id": "",
"tenant_key": ""
}
}
Web SDK
{
"channelType": "web.sdk",
"larkChannelInfo": {
"chat_id": "",
"tenant_key": ""
}
}
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
联系我们立即试用