智能问答助手是基于数字员工构建的智能运维助手,它依托用户自定义的知识库进行问答。您可以为智能体配置特定权限、知识库、行为规则等,灵活定制符合特定业务场景的专属运维智能体。
功能简介
智能问答助手具备以下核心能力:
知识驱动问答:基于SOP(标准操作流程)文档驱动,能够根据知识库内容回答运维问题
多知识库支持:支持OSS知识库、云效(Codeup)知识库、内置SLS知识库三种类型
灵活权限配置:支持服务角色和自定义角色两种权限模式
自定义规则:可配置默认规则指导数字员工的行为
说明:智能问答助手基于数字员工底座构建,是一个完全依赖SOP文档驱动的问答系统。在没有关联知识库的情况下,无法进行有效问答。
前提条件
在使用智能问答助手之前,请确认以下条件:
用户类型 | 权限要求 |
主账号 | 默认拥有所有管理权限,可直接开始创建数字员工 |
RAM用户 | 需联系管理员授予相关权限,详情请参见为RAM用户授权 |
创建数字员工
登录日志服务控制台。
选择日志应用 > 智能问答助手,单击数字员工。
在数字员工列表页,单击右上角创建数字员工。
在创建数字员工对话框,配置以下参数:
参数
是否必填
说明
ID
是
数字员工的唯一标识,创建后不可修改。建议使用英文和数字组合,如
order-system-expert。显示名称
是
数字员工在界面上显示的名称。建议使用具有业务属性的名称,如"订单系统监控专家"、"大数据集群巡检员"。
RAM角色类型
是
指定数字员工所使用的RAM角色类型,可选择:
• 服务角色:使用系统预置的服务角色(免配置),数字员工将自动获得日志服务和ARMS的读取权限。
• 自定义角色:如需访问特定的百炼知识库或限制访问范围,请选择此选项并配置已授权的RAM角色ARN,详情请参见创建RAM角色并授权。
RAM角色ARN
是
服务角色默认使用
ServiceRoleForCloudMonitor,该角色具备云监控2.0数据读取权限(包括日志服务SLS、应用实时监控服务ARMS)。内置SLS知识库
否
开启后,数字员工可以回答SLS相关的问题。默认已启用。
描述信息
否
详细阐述该员工的职责范围与能力特长。例如:负责订单中心核心应用的日常巡检、异常告警分析及根因定位,具备MySQL慢查询分析能力。
默认规则
否
指导数字员工工作的默认规则,推荐使用Markdown语法。可以定义员工的角色、能力范围和行为准则。
配置完成后,单击确定。
关联知识库
创建数字员工后,您需要为其关联知识库。如果创建时已启用内置SLS知识库,则可以直接进行SLS相关问答。如需关联自定义知识库,请参考以下步骤。
SOP知识库组织结构
SOP知识库采用渐进式结构组织,核心入口文件为SOP.md。整体思路是按照模块渐进式地组织文件,让Agent自主从结构中读取所需的知识内容。
推荐的目录结构如下:accesslog_sop .zip
知识库根目录/
├── SOP.md # 核心入口文件,描述各领域知识总览
├── accesslog/ # 访问日志领域
│ ├── overview.md # 领域概述
│ └── troubleshooting.md # 故障排查指南
├── monitoring/ # 监控领域
│ ├── overview.md
│ └── alert-handling.md
└── ...在SOP.md中描述各个领域知识的总览,然后在对应目录下的文件中详细说明具体知识内容。
关联内置SLS知识库
内置SLS知识库包含日志服务的标准操作流程和最佳实践,可以帮助回答SLS相关问题。
方式一:创建时启用
在创建数字员工时,保持内置SLS知识库开关为启用状态即可。
方式二:创建后添加
在数字员工列表中,单击目标数字员工进入详情页。
选择知识库页签。
单击添加知识库,选择内置知识库类型。
在知识库ID中填写
sls,单击确定。
关联OSS知识库
如果您的SOP文档存储在OSS中,可以通过以下步骤关联OSS知识库。
前提条件
已创建OSS Bucket并上传SOP文档。
已创建并配置自定义RAM角色,详情请参见创建RAM角色并授权。
操作步骤
将数字员工的RAM角色类型修改为自定义角色,并配置已授权的RAM角色ARN。
在数字员工详情页,选择知识库页签。
单击添加知识库,选择OSS知识库类型。
配置以下参数:
参数
说明
OSS Region
SOP文档所在OSS的地域
OSS Bucket
OSS Bucket名称
文档库根路径
SOP.md文件所在的目录路径。如果SOP.md在Bucket根目录,则填写/;如果在子目录中,则填写完整路径,如/docs/sop/单击确定。
关联云效知识库
如果您使用云效(Codeup)管理SOP文档,可以通过以下步骤关联云效知识库。
前提条件
已在云效控制台创建代码仓库并上传SOP文档。
已创建个人访问令牌(Personal Access Token)。
获取配置信息
组织ID:在云效控制台,单击代码仓库后,从URL中获取组织ID。URL格式为
https://codeup.aliyun.com/组织ID/仓库名称\。仓库ID:在代码仓库页面的设置 > 基本信息中查看。
个人访问令牌:
在云效控制台,单击右上角头像,选择个人设置。
选择个人访问令牌,单击创建访问令牌。
设置令牌名称、过期时间和权限范围,单击创建。
复制并妥善保存生成的令牌(仅显示一次)。
操作步骤
在数字员工详情页,选择知识库页签。
单击添加知识库,选择云效知识库类型。
配置以下参数:
参数
说明
组织ID
云效组织ID
仓库ID
代码仓库ID
分支名称
要关联的分支,如
master或main个人访问令牌
云效个人访问令牌
文档库根路径
SOP.md文件所在的目录路径单击确定。
与数字员工对话
完成数字员工创建和知识库关联后,您可以开始与数字员工进行对话。
在智能问答助手页面,单击左侧菜单栏的新建对话。
在对话输入框中,选择要对话的数字员工。
输入您的问题,按Enter键或单击发送按钮。
数字员工将基于关联的知识库内容回答您的问题。
说明:对话界面右上角可以设置时间范围,用于限定数字员工检索的数据时间范围。
附录
为RAM用户授权
如果您使用RAM用户操作智能问答助手,需要由管理员为其授予相应权限。
角色扮演权限
允许RAM用户将RAM角色传递给云监控服务,创建数字员工时必须具备此权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"acs:Service": "cloudmonitor.aliyuncs.com"
}
}
}
]
}
说明:如果需要限制权限范围,可以将Resource设置为具体的角色ARN。对话权限
仅允许RAM用户与数字员工进行对话。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cms:CreateChat",
"cms:CreateThread",
"cms:GetThread",
"cms:GetThreadData",
"cms:ListThreads"
],
"Resource": "acs:cms:*:*:digitalEmployee/*"
}
]
}
管理权限
允许RAM用户管理数字员工(包含对话权限)。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cms:CreateChat",
"cms:GetDigitalEmployee",
"cms:ListDigitalEmployees",
"cms:GetThread",
"cms:GetThreadData",
"cms:ListThreads",
"cms:CreateDigitalEmployee",
"cms:UpdateDigitalEmployee",
"cms:DeleteDigitalEmployee",
"cms:CreateThread",
"cms:UpdateThread",
"cms:DeleteThread"
],
"Resource": [
"acs:cms:*:*:digitalemployee/*",
"acs:cms:*:*:digitalemployee/*/thread/*"
]
}
]
}
创建RAM角色并授权
如果需要使用自定义角色(如访问OSS知识库),请按以下步骤创建并授权RAM角色。
步骤一:创建RAM角色
登录RAM控制台。
在左侧导航栏,选择身份管理 > 角色。
单击创建角色,选择阿里云服务作为可信实体类型。
配置以下信息:
角色名称:自定义角色名称
受信服务:选择云监控/Cms
单击完成。
步骤二:为RAM角色授权
创建自定义权限策略。以下策略授予OSS和日志服务的读取权限:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:GetObjectAcl",
"oss:ListObjects",
"oss:ListObjectVersions"
],
"Resource": [
"acs:oss:*:*:<OSS_BUCKET_NAME>",
"acs:oss:*:*:<OSS_BUCKET_NAME>/*"
]
},
{
"Effect": "Allow",
"Action": [
"log:Get*",
"log:List*"
],
"Resource": "*"
}
]
}
说明:请将<OSS_BUCKET_NAME>替换为实际的OSS Bucket名称。将创建的权限策略授予RAM角色。
常见问题
Q:智能问答助手是否收费?
A:智能问答助手目前处于公测阶段,公测期间免费使用。后续正式发布后将按使用量收费,届时会提前通知具体计费规则。
Q:智能问答助手和云监控数字员工有什么区别?
A:两者基于同一个数字员工底座构建。智能问答助手专注于基于SOP文档的问答场景,是一个完全依赖知识库驱动的问答系统;而云监控数字员工具备更广泛的监控运维能力。
Q:为什么数字员工无法回答我的问题?
A:请检查以下几点:
确认已关联知识库且知识库中包含相关内容。
确认知识库结构正确,核心入口文件
SOP.md存在。确认数字员工具有访问知识库的权限。
附录
SOP Agent支持工具列表
工具名称 | Agent是否默认可见 | 工具描述 |
SopRead | 是 | 读取Sop文档 |
LoadTool | 是 | 加载工具 |
QuerySLSLogs | 是 | 执行SLS 查询分析语句 |
TodoWrite | 是 | Todolist 工具 |
ParseTimeString | 是 | 解析时间字符串 |
FormatTimestamp | 是 | 格式化时间字段串 |
EvaluateExpression | 是 | 执行表达式+-*/ 以及布尔计算 |
GetProductDataCollection | 否 | 获取云产品日志位置信息 |
ListSLSProjects | 否 | 获取sls project列表 |
GetProject | 否 | 获取project信息 |
ListSLSAlerts | 否 | 列出告警列表 |
GetSLSAlert | 否 | 获取告警信息 |
ListSLSMachineGroups | 否 | 列出logtail机器组 |
GetSLSMachineGroup | 否 | 获取logtail机器组信息 |
ListSLSLogstores | 否 | 列出logstore列表 |
GetSLSLogstore | 否 | 获取logstore信息 |
ListSLSDashboards | 否 | 列出Dashboard列表 |
GetSLSDashboard | 否 | 获取Dashboard信息 |
ListSLSLogtailPipelineConfigs | 否 | 列出Logtail采集配置i列表 |
GetSLSLogtailPipelineConfig | 否 | 获取Logtail配置信息 |
对于Agent默认可见为否的工具,在SOP文档中通过以下方式调用:
加载并调用工具 ListSLSLogstores