百联知识库检索
本Skill提供了对阿里云百联知识库的查询和检索能力,支持跨多个知识库的智能选择。 🚀
初始设置(首次使用必需)
npm install
这将安装package.json中定义的所有依赖:
@alicloud/bailian20231229 - 百联知识库SDK
@alicloud/modelstudio20260210 - Modelstudio Workspace SDK
@alicloud/openapi-client - OpenAPI Client
本工具使用阿里云默认凭证链,支持多种凭证配置方法(按优先顺序):
方法1:阿里云CLI(推荐)
# 使用阿里云CLI配置凭证
aliyun configure
方法2:配置文件
阿里云SDK将自动从~/.aliyun/config.json或~/.acs/credentials中读取凭证配置。
注意:首次使用时,如果未检测到凭证,请指导用户使用aliyun configure配置。
不要显式处理用户的AK/SK凭证,依赖阿里云默认凭证链
在使用本Skill之前,必须先在阿里云百联控制台激活知识库服务!
访问百联知识库页面
点击“立即激活”按钮
确认激活并等待服务生效(通常1-2分钟)
- 重要前提:指导用户在阿里云访问控制和百联中授予权限
在使用本Skill之前,必须授予之前配置的AK以下权限,否则调用将失败并可能导致403错误
1)RAM权限授予
访问阿里云RAM访问控制
选择对应AK的RAM用户,点击“添加权限”按钮,选择AliyunBailianFullAccess和AliyunModelStudioReadOnlyAccess权限策略,并确认添加权限。
2)百联工作空间权限授予
访问阿里云百联权限管理
如果对应AK的RAM用户不存在,点击页面右上角的“添加用户”,选择对应的RAM用户并点击确认添加。
点击对应AK的RAM用户的“权限管理”按钮,点击编辑,并授予知识库相关权限。
配置后有30s的生效时间,请耐心等待。
可用脚本
所有脚本位于scripts/目录中:
脚本 目的 参数
check_env.js 检查环境配置 None
list_workspace.js 查询工作空间列表 [maxResults]
list_indices.js 查询知识库列表 workspaceId pageNumber pageSize
retrieve.js 从指定知识库检索 workspaceId indexId query
工作流
步骤1:环境检查
运行scripts/check_env.js检查:
是否安装了npm包
是否配置了环境变量
如果未准备好,提示用户:
包未安装 → 运行npm install安装package.json中的所有依赖
缺少环境变量 → 指导用户配置
步骤2:获取工作空间ID
不要直接询问用户工作空间ID,而是通过脚本自动获取工作空间列表。
运行scripts/list_workspace.js获取所有可用工作空间:
node scripts/list_workspace.js
返回格式:
{
"workspaces": [
{
"workspaceId": "llm-bpp1p29i34jvoybx",
"name": "主账户空间"
},
{
"workspaceId": "llm-hcghrtsbma82bwks",
"name": "播客"
}
]
}
处理逻辑:
获取工作空间列表
如果只有一个工作空间,自动使用并通知用户
如果有多个工作空间,显示列表让用户选择
记录用户选择以避免重复询问(直到用户想要切换)
步骤3:查询知识库列表
对于每个工作空间,运行scripts/list_indices.js workspaceId pageNumber pageSize获取知识库列表。
批量检索策略:
获取步骤2中的所有工作空间列表
遍历每个工作空间,调用list_indices.js检索其知识库
合并所有知识库结果,注明它们所属的工作空间
pageNumber从1开始,pageSize默认为100,如果当前页未完全检索则继续检索下一页
示例:
# 获取第一个工作空间的知识库
node scripts/list_indices.js llm-bpp1p29i34jvoybx 1 100
# 获取第二个工作空间的知识库
node scripts/list_indices.js llm-hcghrtsbma82bwks 1 100
返回格式:
[
{
"indexId": "qf91w6402d",
"name": "产品文档",
"description": "包含产品用户手册、API文档等"
},
{
"indexId": "ip93d2pyvz",
"name": "客户服务Q&A",
"description": "FAQ、客户服务脚本"
}
]
步骤4:智能知识库选择
基于用户的问题和知识库的相关性,选择最合适的知识库。