通过AppFlow定时同步语雀文档至百炼知识库

更新时间:
复制 MD 格式

配置计算巢 AppFlow,可实现定时、自动化地将语雀文档同步至阿里云百炼知识库。此方案用于构建基于内部知识的检索增强生成(RAG)应用,通过自动化同步,保持知识库内容与源数据一致,节省大量人工维护知识库成本。

方案架构

本方案利用计算巢 AppFlow 作为调度和集成中心,连接语雀和百炼两个独立的服务。

  1. 定时触发:AppFlow 内置的定时触发器按照预设的 Cron 表达式自动启动同步流程。

  2. 读取语雀文档:AppFlow 使用配置好的语雀连接器,通过 Token 访问语雀 API,读取指定的知识库或文档内容。

  3. 写入百炼知识库:AppFlow 使用百炼连接器,通过一个被授予特定权限的 RAM角色,调用百炼 API 将获取到的文档内容写入指定业务空间下的应用数据目录中。如果在百炼知识库创建时开启了自动同步应用数据,最新数据会自动同步到知识库,如果没有开启自动同步,需要手动进行同步文件到知识库。

操作步骤

步骤一:准备目标百炼知识库

配置同步流程前,需创建用于存储文档的目标知识库,并获取其关键身份信息。

  1. 登录百炼控制台,在左侧导航栏选择知识库管理,然后点击创建知识库。

  2. 在创建页面,完成以下关键配置:

    • 数据来源:选择应用数据目录。

    • 类目:选择或新建一个应用数据目录,并记录其 ID。

    • 开启自动同步知识索引:开启此选项。AppFlow 推送的数据将由百炼自动处理和索引。

  3. 获取两个关键 ID:

    • 百炼业务空间ID:进入目标业务空间后,在浏览器地址栏中找到 spaceId=xxx 参数,xxx 即为业务空间 ID。

    • 应用数据目录ID:在知识库管理 > 应用数据页面,找到上一步关联的目录,点击其名称进入详情页,获取目录 ID。

步骤二:配置访问百炼的 RAM 权限

为使 AppFlow 有权限向百炼写入数据,需创建一个 RAM 角色并授予其最小化操作权限。

  1. 登录 RAM 控制台,创建 RAM 角色。

    1. 选择信任主体类型为云服务。

    2. 信任主体名称选择计算巢服务/AppFlow。

  2. 为 RAM 角色创建并授予权限策略。

    1. 在 RAM 控制台的权限策略页面,点击创建权限策略。

    2. 在脚本编辑页签中,粘贴以下 JSON 内容。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "sfm:ApplyFileUploadLease",
              "sfm:AddFile",
              "sfm:DescribeFile",
              "sfm:DeleteFile",
              "sfm:SubmitIndexAddDocumentsJob",
              "sfm:GetIndexJobStatus",
              "sfm:DeleteIndex",
              "sfm:DeleteIndexDocument"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
    3. 创建策略后,返回 RAM 角色列表,找到已创建的角色,点击新增授权,将创建的自定义策略授权给该角色。

  3. 在百炼控制台为 RAM 角色授权。

    1. 返回百炼控制台,进入目标业务空间,在左侧导航栏选择权限管理。

    2. 点击新增用户,选择RAM角色,然后从列表中选择并添加上一步创建的 RAM 角色。此操作用于授予该 RAM 角色操作百炼业务空间内资源的权限。

    3. 在列表中点击对应角色的权限管理,单击编辑,至少勾选知识库-操作应用数据-操作两个权限,单击确认。

步骤三:配置 AppFlow 同步流程

  1. 访问 APPFlow模版中心,搜索并找到定时同步语雀文档到百炼应用数据模版。

  2. 配置触发器:在触发事件节点,根据需求设置同步频率。频率设置支持标准的 Cron 表达式,例如:

    0 0 6 ? * * 表示每天 06:00 执行一次同步任务。默认时区为 (GMT+08:00) Asia/Shanghai。在 cron表达式 输入框中填写表达式后,可单击 验证cron和预览后5次执行时间 进行校验。如需设置同步结束时间,可在 结束日期时间 中填写,格式为 yyyy-MM-dd HH:mm:ss

  3. 配置语雀连接器:

    • 点击语雀节点,在连接凭证处点击添加新凭证。

    • 在弹出的窗口中填写 Token。获取方式如下:

      • 个人 Token:登录语雀设置页面,新建并复制 Token。

      • 团队 Token:进入团队空间 > 团队设置 > 开发者 > Tokens,新建并复制 Token。

    • 安全提示:建议为此集成单独创建 Token 并妥善保管。

  4. 配置语雀节点入参:在入参配置中,选择同步种类。

    • 所有知识库:选择此项时需填入个人或团队任意知识库URL或任意文档URL,会同步当前个人或团队的所有有权限访问的知识库。

    • 指定的知识库或文档列表:在输入框中粘贴一个或多个完整的语雀 URL,每行一个。可通过浏览器地址栏或语雀客户端的复制文档链接功能获取。

      填入的每一篇文档和每个知识库下面的所有文档将会被同步。

      获取知识库URL

      网页端,在知识库首页,点击需要同步的知识库,然后复制URL即为知识库URL。

      例如,浏览器地址栏中显示的知识库 URL 格式为 uuds.yuque.com/nw3uec/project_doc

      获取文档URL

      • 网页端,打开需要同步的文档,复制完整URL即为文档URL。

        文档 URL 位于浏览器地址栏中,例如 uuds.yuque.com/nw3uec/fm7h00/yxank7fh6t6oxto1

      • 客户端,指定文档选项中选择复制文档链接即为文档URL。

  5. 配置百炼连接器:

    • 点击百炼知识库节点,并点击下一步,在连接凭证处点击下拉菜单添加新凭证。

    • 认证方式选择 RAM角色,然后从下拉列表中选择在步骤二中创建的 RAM 角色。

    • 在入参配置中,填写步骤一获取的百炼业务空间ID和应用数据目录ID。

  6. 完成所有配置后,点击右上角的保存并发布。

步骤四:同步验证

发布流程后,执行一次测试以验证配置。

  1. 在 AppFlow 的流程列表页面,找到已创建的流程,点击操作列的执行按钮,手动触发一次同步。

  2. 点击执行历史页签,查看本次执行的状态。

    • 如果状态为“成功”,表示流程已正确执行。

    • 如果状态为“失败”,可点击详情查看具体节点的错误日志,根据错误信息进行排查。

  3. 返回百炼控制台,查看有变化的文档的上传时间是否是最新同步日期。

费用说明

大模型百炼根据知识库规格和向量、排序模型调用费用计费。详情参考知识库计费说明