首页 文档智能&RAG,让你的AI大模型开启“外挂”之旅

文档智能&RAG,让你的AI大模型开启“外挂”之旅

更新时间: 2024-12-16 09:34:35

手动部署

60

https://www.aliyun.com/solution/tech-solution/document-mind-rag-for-llm

方案概览

大语言模型(LLM)作为自然语言处理的核心技术能力,能在文档中为知识问答、内容生成、大数据清洗、办公流程自动化等场景挖掘出更多的价值,极大降低了普通人对于专业词汇多、结构复杂、图文混合的文档内容阅读门槛。但文档的处理十分具有挑战性,特别是在PDF格式下,多种合同、试卷、论文、财报、简历、报告场景中,对于输入给大模型所需要的就不仅仅是文本内容,同时包括表格内容、公式文本、图片内容处理,以及无关内容的过滤。

对于不同格式的文档输入,如何实现将文档智能和检索增强生成(RAG)结合起来构建强大的LLM知识库,关键是如何清洗文档内容、文档内容向量化、问答内容召回后通过特定的Prompt,提供给LLM足够的上下文信息,以此来满足对企业级文档类型知识库的问答处理。

接下来我们将基于文档智能的文档解析处理,结合百炼平台构建单文档问答应用。

方案架构

本方案主要分为3个阶段:

  1. 文档解析:通过调用文档智能提供的文档解析(大模型版),将文件处理为Json对象,包含多个版面块单元。

  2. 构建知识库:文档内容切片向量化存储,将多个版面块过滤非正文内容,切分成多个切块,进行向量化服务,存入知识库中。

  3. 创建问答服务:当接收到一个提问时,服务首先将问题转换为内容向量,然后在知识库中进行召回,找到相关信息。接着,结合召回的内容和问题,通过语言模型进行智能问答,提供准确的回答。

方案架构如下图所示:

image

本方案的技术架构包括以下云服务:

  • 百炼:一站式的企业专属大模型生产平台。在本方案中,提供通义千问LLM模型的调用以及知识索引功能。

  • 文档智能:多模态文档识别与理解引擎,为用户提供通用文档智能、行业文档智能和文档自学习能力,可满足各种场景下的智能文档处理需求。

  • 1个专有网络 VPC:将云服务器 ECS部署在专有网络中。

  • 1台交换机:将云服务器 ECS实例部署在交换机中。

  • 1台云服务器 ECS:用于部署应用程序。

部署准备

10

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值

    1. 本方案的云服务(包括文档智能和百炼)支持按量付费,且默认设置均采用按量付费引导操作。使用按量付费资源需要确保账户余额不少于100元。

    2. 完成本方案的部署及体验,预计产生费用不超过 5 元(假设您选择本文示例规格资源,且资源运行时间不超过 60 分钟。实际情况中可能会因您操作过程中实际使用的流量差异而导致费用有所变化,请以控制台显示的实际报价以及最终账单为准,如下表格仅供参考)

      序号

      产品

      规格

      地域

      说明

      1

      ECS云服务器

      • ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践请参见实例规格选型指导

      • 本教程使用ecs.e-c1m2.large规格作为示例。

      华东1(杭州)

      以1小时内流入和流出的数量总和未超过1GB为例。注意:1、方案中建议配置可稳定运行,实际可适当降低配置,最低配置不低于1vCPU 2GiB,如出现CPU和内存负载过高情况,再适当升配。相关计费说明请参考:ECS计费概述。

      2

      百炼模型服务

      -

      -

      相关计费说明请参考:阿里云百炼计费概述。

部署资源

20

请按照以下步骤部署方案中的所有资源。

1. 创建专有网络VPC和交换机

您需要创建专有网络VPC和交换机,为云服务器ECS实例构建云上的私有网络。

  1. 登录专有网络管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,单击专有网络

  4. 专有网络页面,单击创建专有网络

  5. 创建专有网络页面,配置1个专有网络和1台交换机。配置交换机时,请确保交换机所属的可用区的ECS是可用状态。

    项目

    说明

    示例值

    VPC名称

    建议您在部署过程中新建一个VPC作为本方案的专有网络。部署过程中填写VPC名称即可创建对应名称的VPC。

    长度为2~128个字符,以英文大小写字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    VPC_HZ

    IPv4网段

    在创建VPC时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云VPC支持的网段信息请参见专有网络组成部分

    在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。

    192.168.0.0/16

    交换机名称

    建议您在部署过程中在新建的VPC内创建虚拟交换机。部署过程中填写交换机名称即可创建对应名称的虚拟交换机。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    vsw_RAG

    可用区

    建议选择排序靠后的,一般此类可用区较新。新可用区资源更充沛,新规格也会在新的可用区优先上线。

    杭州 可用区J

2. 创建安全组

您已经创建了专有网络VPC和交换机。接下来您需要创建1个安全组,用于限制该专有网络VPC下交换机的网络流入和流出。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择网络与安全>安全组

  3. 在顶部菜单栏,选择华东1(杭州)地域。

  4. 安全组页面,单击创建安全组

  5. 创建安全组页面,创建1个安全组。

    项目

    说明

    示例值

    名称

    设置安全组的名称。

    sg_RAG

    网络

    选择之前规划的专有网络VPC。

    VPC_HZ

    安全组类型

    本方案用于为个人用户或组织的基础场景提供网络访问控制,建议您选择普通安全组。

    普通安全组

  6. 访问规则-入方向中,单击手动添加端口范围填入8000,授权对象选择“所有IPv4(0.0.0.0/0)”,最后单击创建安全组

3. 创建云服务器 ECS

您已经创建好专有网络VPC和交换机等资源。接下来您需要创建1个云服务器ECS实例,用于部署文档智能。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在顶部菜单栏,选择华东1(杭州)地域。

  4. 实例页面,单击创建实例

  5. 下表中未说明的参数,在本方案中可使用默认值。

    项目

    说明

    示例值

    付费类型

    付费类型影响实例的计费和收费规则。ECS计费的详细信息请参见计费方式概述

    按量付费

    地域

    实例所在地域

    华东1(杭州)

    网络及可用区

    选择刚刚创建的专有网络VPC和交换机。

    VPC_HZ、vsw_RAG

    实例

    ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践请参见实例规格选型指导

    ecs.e-c1m2.large

    镜像

    ECS的“装机盘”,为ECS实例提供操作系统、预装软件等。

    公共镜像中选择Alibaba Cloud Linux

    镜像版本

    镜像的版本。

    Alibaba Cloud Linux 3.2104 LTS 64位

    系统盘类型

    硬盘类型。

    ESSD Entry

    系统盘容量

    硬盘容量。

    40 GiB

    公网IP

    用于访问外网和提供企业门户网站服务。

    选中分配公网 IPv4 地址

    带宽计费方式

    由于本方案为解决方案示例,因此选择按使用流量,以节省流量成本。

    按使用流量(CDT)

    带宽值

    本方案以5 Mbps为例。

    5 Mbps

    安全组

    使用之前创建的安全组。选择已有安全组

    sg_RAG

    管理设置

    选择设置自定义密码,方便后续登录机器安装服务环境。

    自定义密码

4. 获取百炼API KEY和业务空间ID

  1. 登录阿里云账号,访问百炼控制台

  2. 点击右上角用户图标,点击下拉菜单进入API-KEY管理页面。

    image

  3. 点击操作栏中的查看。如果是首次使用百炼平台,则点击右上角创建我的API-KEY。image

  4. 复制API KEY和对应的业务空间ID。(复制完毕后,请仔细核对内容准确,确保没有多余的符号,例如多余的空格image

应用部署

10

部署示例应用

开通了云资源后,接下来您需要执行以下操作部署示例应用:

  1. 云服务器ECS控制台,点击ECS实例的远程连接

  2. 配置环境变量

cat << EOF >> ~/.bash_profile
export UPLOAD_FOLDER=<文件上传路径名,例如:uploads>
export DASHSCOPE_API_KEY=<百炼平台的API密钥,用于访问百炼平台服务>
export DASHSCOPE_WORKSPACE_ID=<百炼平台业务空间ID>
EOF

source ~/.bash_profile
  1. 安装并启动服务

curl -fsSL https://help-static-aliyun-doc.aliyuncs.com/install-script/docmind-rag/install.sh|bash

返回如下信息,说明安装完毕。

Installation completed.

应用体验

5

使用文档智能(Document Mind)提供的文档解析(大模型版)解析本地文档。并将解析结果接入百炼平台创建知识库。基于该知识库的内容,实现增强检索生成(RAG)的问答应用。这一应用开发是基于LlamaIndex社区框架,并使用百炼平台提供的相关组件能力实现的。

  1. 在浏览器中输入:http://<ECS实例公网IP>:8000访问应用首页。

  2. 文档上传:用户可以选择本地文档并设置知识库名称。点击上传后,系统将解析文档并构建相应的知识库,最终返回文档信息、文档摘要和文档结构。例如,您可以使用我们提供的“百炼”手机详细参数.docx文档进行尝试。PixPin_2024-11-14_14-46-05

  3. 问答服务:点击页面上方问答服务,切换到问答服务界面,然后输入知识库名称并输入针对该知识库的提问,即可获得精准的回答。image

  4. 总结:通过该方案,企业用户可以高效地处理各类复杂文档,构建强大的知识库,并通过增强检索生成(RAG)技术实现智能问答服务,显著提升文档处理和信息获取的效率。

说明

为了方便用户快速体验效果,当前应用为演示版本,体验完毕请及时释放资源。若想用于生产环境,建议下载源码,可以进行二次开发,同时打开登录鉴权功能。

移动端体验应用(可选)

10

我们已经成功实现了文档解析与知识库的构建,并基于LlamaIndex框架开发部署了RAG应用。在此基础上,可以创建一个百炼RAG应用,并集成至钉钉或微信公众号中,以实现移动设备上的AI助手功能,提供更加便捷、高效的智能服务体验。

一、创建百炼RAG应用

  1. 登录百炼控制台在左侧导航栏中,选择我的应用image

  2. 单击新增应用按钮image

  3. 在弹窗中选择智能体应用>创建RAG应用,进入创建应用页面image

  4. 单击设置 > 选择模型image

  5. 选择模型弹窗中,选择通义千问-Max,点击确认按钮。image

  6. 单击配置知识库image

  7. 定位目标知识库,点击添加后关闭配置知识库image

  8. 单击发布按钮。image

  9. 在应用列表中可以查看所有百炼应用 ID。保存应用 ID 到本地用于后续配置。image

  10. 在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。保存 API-KEY 到本地用于后续配置。2024-09-18_17-23-56

二、在钉钉集成百炼RAG应用

接下来我们创建钉钉应用,并集成百炼RAG应用,作为 AI 助手回答用户问题。

重要

创建钉钉应用需要您的钉钉账号有开发者权限。您可以联系您的组织管理员获取钉钉开放平台的开发权限,具体操作请参见获取开发者权限

1.创建钉钉应用

1.1 创建应用

  1. 访问钉钉开放平台,点击创建。如果创建过应用未展示应用开发指引,点击立即开始进入钉钉应用页面。image

  2. 在应用开发的左侧导航栏中,点击钉钉应用,在钉钉应用页面右上角点击创建应用11

  3. 创建应用面板,填写应用名称应用描述,上传应用图标,完成后点击保存。12

1.2 查看应用 Client ID 和 Client Secret

在左侧菜单选择凭证与基础信息,复制 Client ID 和 Client Secret,用于下一步创建连接流。21

1.3 创建消息卡片

  1. 钉钉机器人通过卡片消息支持流式返回结果,您需要创建卡片模板供消息发送使用。访问卡片平台,点击新建模板29

  2. 在创建模板输入框,填入模板信息,关联应用选择之前创建的钉钉应用。image

  3. 在模拟编辑页面,保存发布模板。然后点击返回模板列表页面。image

  4. 复制模板ID,用于创建钉钉连接流使用。image

1.4 授予应用发送卡片消息权限

创建卡片后,需要给应用授予发送卡片消息的权限。

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。

  2. 在左侧菜单选择开发配置 > 权限管理,在左侧搜索框分别输入Card.Streaming.WriteCard.Instance.Write,并在操作列点击申请权限image

2.创建钉钉连接流

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将大模型应用和钉钉连接起来。您可以通过预置的 AppFlow 模板创建一个钉钉机器人连接流。

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。18

  2. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在创建凭证对话框中,填入之前获取的钉钉应用的 Client ID 和 Client Secret,并设置一个自定义凭证名称。创建完毕后,在下拉列表中选择该凭证。image

  3. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。创建完毕后,在下拉列表中选择该凭证。image

  4. 执行动作配置向导页,填写应用ID模版ID,完成后点击下一步26

  5. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  6. 界面提示流程配置成功,复制WebhookUrl,点击发布27

3.配置钉钉机器人

有了webhook地址后,接下来您可以在钉钉应用中配置机器人来回答用户问题了。

3.1 配置钉钉机器人

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。

  2. 添加应用能力页面,找到机器人卡片,点击添加image

  3. 在机器人配置页面,打开机器人配置开关,您可以参考下图完成配置。消息接收模式请选择HTTP模式消息接收地址为刚刚的WebhookUrl。然后点击发布

    重要

    消息接收模式请选择HTTP模式,目前AppFlow仅支持HTTP模式,选择Stream模式会导致无法返回消息。

    image

3.2 发布应用版本

应用创建完成后,如果需要将应用供企业内其他用户使用,需要发布一个版本。

  1. 点击应用开发,在钉钉应用页面,点击目标应用(百炼手机答疑)。8

  2. 在目标应用开发导航栏,点击版本管理与发布,在版本管理与发布页面,点击创建新版本。进入版本详情页面,输入应用版本号版本描述信息,选择合适的应用可见范围,完成后点击保存。并在弹窗中点击直接发布10

3.3 测试机器人

可以创建群聊或在已有群聊中添加机器人,并与机器人对话,查看效果。

  1. 在钉钉群管理中添加机器人​。进入钉钉群群设置页面,点击机器人卡片区域,在机器人管理页面,点击添加机器人。在添加机器人搜索文本框中输入目标机器人名称,并选中要添加的机器人。点击添加,完成后再点击完成添加14

  2. 在钉钉群中@机器人,进行交流互动。image

三、在微信公众号集成百炼RAG应用

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将百炼 RAG 应用和微信公众号连接起来。您可以通过预置的 AppFlow 模板创建一个微信公众号连接流。

如果您的微信公众号已经完成认证,您可以使用微信客户消息回复用户在公众号的咨询,如果您没有完成认证,只能使用被动回复消息功能回复用户,该功能将消息响应时间限制为 5 秒,超时将无法回复。

是否完成认证可以在微信公众号后台,在左侧菜单选择设置与开发 > 公众号设置,在公众号设置页面中查看。您可以根据认证情况选择下面的创建方案。

image

已经认证的公众号

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_16-57-05

  2. 访问微信公众号后台,在左侧菜单选择设置与开发 > 开发接口管理。选择基本配置页签,获取 AppID。2024-11-07_16-27-30

  3. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在授权页面填入 AppID,点击授权并在新的页面使用微信扫描完成授权。授权后,Appflow 会自动帮您配置公众号,您无需任何操作。授权完成后,您需要回到连接流的账户授权配置向导页,选择刚刚授权的微信公众号。image2024-11-07_16-24-15

  4. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。2024-08-15_15-11-04

  5. 执行动作配置向导页,填写百炼的应用ID应用ID可以在百炼控制台我的应用获取,完成后点击下一步2024-08-29_16-49-042024-08-15_15-13-51

  6. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  7. 界面提示流程配置成功,点击发布2024-11-07_17-04-51

没有认证的公众号

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_17-07-32

  2. 访问微信公众号后台,在左侧菜单选择设置与开发 > 开发接口管理。选择基本配置页签,获取 AppID。2024-11-07_16-27-30

  3. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在授权页面填入 AppID,点击授权并在新的页面使用微信扫描完成授权。授权后,Appflow 会自动帮您配置公众号,您无需任何操作。授权完成后,您需要回到连接流的账户授权配置向导页,选择刚刚授权的微信公众号。image2024-11-07_16-24-152024-11-07_16-50-48

  4. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。2024-08-13_09-33-07

  5. 执行动作配置向导页,填写百炼的应用ID应用ID可以在百炼控制台我的应用获取,完成后点击下一步2024-08-29_16-49-042024-08-13_09-36-39

  6. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  7. 界面提示流程配置成功,点击发布2024-11-07_16-53-08

在完成AppFlow创建连接流后,用户可以访问相应的公众号,向其发送消息体验AI智能客服提供的自动回复。image

完成及清理

5

清理资源

在本方案中,您创建了1台云服务器ECS实例、1个百炼知识库、1个交换机、1个专有网络VPC、1个安全组。测试完方案后,您可以参考以下规则处理对应产品的实例,避免继续产生费用:

  1. 释放1台云服务器ECS实例:

    登录ECS控制台,在实例页面,找到目标实例,然后在操作列选择216更多-竖向..png>释放,根据界面提示释放实例。

  2. 释放1台交换机:

    登录专有网络控制台,在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。

  3. 删除1个安全组:登录云服务器管理控制台,在安全组页面,选择目标安全组,然后在操作列单击删除

  4. 释放1个专有网络VPC:

    登录专有网络控制台,在专有网络页面,找到目标VPC,然后在操作列单击删除,按照界面提示释放实例。

  5. 删除百炼 API-KEY

    API-KEY管理页面,找到目标API-KEY,单击右侧操作列下的删除,根据页面提示进行删除。

  6. 删除百炼应用和数据:

    1. 登录百炼控制台,在我的应用中,找到应用并单击右下角更多,在下拉列表中点击删除应用

    2. 登录百炼控制台,在数据应用 > 知识索引页面,找到知识库并点击操作栏中的删除

    3. 数据管理页面,找到上传的文档并点击操作栏中的删除。

  7. 删除钉钉应用:

    1. 登录钉钉开放平台,点击导航栏中的应用开发image

    2. 在左侧导航栏点击钉钉应用,找到目标应用,点击应用名称进入应用详情。image

    3. 点击左侧导航栏中的凭证与基础信息,先点击停用按钮,然后点击删除应用按钮。image

  8. 删除钉钉连接流:登录AppFlow控制台,找到目标连接流,然后在其右侧操作列,单击删除

  9. 删除微信连接流:登录AppFlow控制台,找到目标连接流,然后在其右侧操作列,单击删除

一键部署

40

https://www.aliyun.com/solution/tech-solution/document-mind-rag-for-llm

方案概览

大语言模型(LLM)作为自然语言处理的核心技术能力,能在文档中为知识问答、内容生成、大数据清洗、办公流程自动化等场景挖掘出更多的价值,极大降低了普通人对于专业词汇多、结构复杂、图文混合的文档内容阅读门槛。但文档的处理十分具有挑战性,特别是在PDF格式下,多种合同、试卷、论文、财报、简历、报告场景中,对于输入给大模型所需要的就不仅仅是文本内容,同时包括表格内容、公式文本、图片内容处理,以及无关内容的过滤。

对于不同格式的文档输入,如何实现将文档智能和检索增强生成(RAG)结合起来构建强大的LLM知识库,关键是如何清洗文档内容、文档内容向量化、问答内容召回后通过特定的Prompt,提供给LLM足够的上下文信息,以此来满足对企业级文档类型知识库的问答处理。

接下来我们将基于文档智能的文档解析处理,结合百炼平台构建单文档问答应用。

方案架构

本方案主要分为3个阶段:

  1. 文档解析:通过调用文档智能提供的文档解析(大模型版),将文件处理为Json对象,包含多个版面块单元。

  2. 构建知识库:文档内容切片向量化存储,将多个版面块过滤非正文内容,切分成多个切块,进行向量化服务,存入知识库中。

  3. 创建问答服务:当接收到一个提问时,服务首先将问题转换为内容向量,然后在知识库中进行召回,找到相关信息。接着,结合召回的内容和问题,通过语言模型进行智能问答,提供准确的回答。

方案架构如下图所示:

image

本方案的技术架构包括以下云服务:

  • 百炼:一站式的企业专属大模型生产平台。在本方案中,提供通义千问LLM模型的调用以及知识索引功能。

  • 文档智能:多模态文档识别与理解引擎,为用户提供通用文档智能、行业文档智能和文档自学习能力,可满足各种场景下的智能文档处理需求。

  • 1个专有网络 VPC:将云服务器 ECS部署在专有网络中。

  • 1台交换机:将云服务器 ECS实例部署在交换机中。

  • 1台云服务器 ECS:用于部署应用程序。

部署准备

10

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值

    1. 本方案的云服务(包括文档智能和百炼)支持按量付费,且默认设置均采用按量付费引导操作。使用按量付费资源需要确保账户余额不少于100元。

    2. 完成本方案的部署及体验,预计产生费用不超过 5 元(假设您选择本文示例规格资源,且资源运行时间不超过 60 分钟。实际情况中可能会因您操作过程中实际使用的流量差异而导致费用有所变化,请以控制台显示的实际报价以及最终账单为准,如下表格仅供参考)

      序号

      产品

      规格

      地域

      说明

      1

      ECS云服务器

      • ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践请参见实例规格选型指导

      • 本教程使用ecs.e-c1m2.large规格作为示例。

      华东1(杭州)

      以1小时内流入和流出的数量总和未超过1GB为例。注意:1、方案中建议配置可稳定运行,实际可适当降低配置,最低配置不低于1vCPU 2GiB,如出现CPU和内存负载过高情况,再适当升配。相关计费说明请参考:ECS计费概述。

      2

      百炼模型服务

      -

      -

      相关计费说明请参考:阿里云百炼计费概述。

  3. 学生权益:

    1. 领取300元高校专属权益优惠券(若已领取请跳过)lQLPKHqP9xKrBNnNBCrNB3qwxiEDB2NbITwHPtuQErX2AQ_1914_1066

    2. 当前领取的优惠券适用于多种ECS按量付费实例规格,包括但不限于ecs.e-c1m1.large、ecs.u1-c1m2.large以及ecs.e-c1m2.large。在进行一键部署并创建资源时,当您在ECS实例配置 > 实例规格的搜索框输入上述任一实例规格并选中,即可使用学生权益来完成资源的开通。image

开通百炼服务并创建API-KEY

  1. 登录百炼控制台,点击开通服务按钮, 勾选同意协议,点击确认开通

  2. 点击右上角用户图标,点击下拉菜单进入API-KEY管理页面,点击创建我的API-KEYimage

一键部署

10

一键部署基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,ROS模板已定义好脚本,可自动化地完成云资源的创建和配置,提高资源的创建和部署效率。

操作步骤

您可以通过下方提供的ROS一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建1台云服务器ECS实例,并在服务器上部署Python环境和应用程序的示例代码。

  • 创建1个专有网络VPC。

  • 创建1台交换机。

  • 创建1个安全组。

一键部署资源。

  1. 单击一键部署

  2. 在配置页面修改资源栈名称,按需选择ECS的实例配置,设置实例密码、模型应用系统的用户密码,输入百炼API-KEY和空间ID。

    说明
    1. 打开百炼API KEY管理页面,点击操作栏中的查看。如果是首次使用百炼平台,则点击右上角创建我的API-KEY。image

    2. 复制API KEY和对应的业务空间ID。(复制完毕后,请仔细核对内容准确,确保没有多余的符号,例如多余的空格image

    3. ECS 实例配置推荐搜索规格:ecs.e-c1m2.large、ecs.e-c1m1.large和ecs.u1-c1m2.large,如果所选可用区没有满足条件的实例规格,可以切换其他可用区查看。image

  3. 完成配置模板参数后,点击下一步:检查并确认,预览确认,点击创建,创建资源需要5分钟左右的时间,请您耐心等待。

  4. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

应用体验

5

使用文档智能(Document Mind)提供的文档解析(大模型版)解析本地文档。并将解析结果接入百炼平台创建知识库。基于该知识库的内容,实现增强检索生成(RAG)的问答应用。这一应用开发是基于LlamaIndex社区框架,并使用百炼平台提供的相关组件能力实现的。

  1. 单击资源栈的输出页签,再单击体验地址对应的URL进行访问。image

  2. 文档上传:用户可以选择本地文档并设置知识库名称。点击上传后,系统将解析文档并构建相应的知识库,最终返回文档信息、文档摘要和文档结构。例如,您可以使用我们提供的“百炼”手机详细参数.docx文档进行尝试。PixPin_2024-11-14_14-46-05

  3. 问答服务:点击页面上方问答服务,切换到问答服务界面,然后输入知识库名称并输入针对该知识库的提问,即可获得精准的回答。image

  4. 总结:通过该方案,企业用户可以高效地处理各类复杂文档,构建强大的知识库,并通过增强检索生成(RAG)技术实现智能问答服务,显著提升文档处理和信息获取的效率。

说明

为了方便用户快速体验效果,当前应用为演示版本,体验完毕请及时释放资源。若想用于生产环境,建议下载源码,可以进行二次开发,同时打开登录鉴权功能。

移动端体验应用(可选)

10

我们已经成功实现了文档解析与知识库的构建,并基于LlamaIndex框架开发部署了RAG应用。在此基础上,可以创建一个百炼RAG应用,并集成至钉钉或微信公众号中,以实现移动设备上的AI助手功能,提供更加便捷、高效的智能服务体验。

一、创建百炼RAG应用

  1. 登录百炼控制台在左侧导航栏中,选择我的应用image

  2. 单击新增应用按钮image

  3. 在弹窗中选择智能体应用>创建RAG应用,进入创建应用页面image

  4. 单击设置 > 选择模型image

  5. 选择模型弹窗中,选择通义千问-Max,点击确认按钮。image

  6. 单击配置知识库image

  7. 定位目标知识库,点击添加后关闭配置知识库image

  8. 单击发布按钮。image

  9. 在应用列表中可以查看所有百炼应用 ID。保存应用 ID 到本地用于后续配置。image

  10. 在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。保存 API-KEY 到本地用于后续配置。2024-09-18_17-23-56

二、在钉钉集成百炼RAG应用

接下来我们创建钉钉应用,并集成百炼RAG应用,作为 AI 助手回答用户问题。

重要

创建钉钉应用需要您的钉钉账号有开发者权限。您可以联系您的组织管理员获取钉钉开放平台的开发权限,具体操作请参见获取开发者权限

1.创建钉钉应用

1.1 创建应用

  1. 访问钉钉开放平台,点击创建。如果创建过应用未展示应用开发指引,点击立即开始进入钉钉应用页面。image

  2. 在应用开发的左侧导航栏中,点击钉钉应用,在钉钉应用页面右上角点击创建应用11

  3. 创建应用面板,填写应用名称应用描述,上传应用图标,完成后点击保存。12

1.2 查看应用 Client ID 和 Client Secret

在左侧菜单选择凭证与基础信息,复制 Client ID 和 Client Secret,用于下一步创建连接流。21

1.3 创建消息卡片

  1. 钉钉机器人通过卡片消息支持流式返回结果,您需要创建卡片模板供消息发送使用。访问卡片平台,点击新建模板29

  2. 在创建模板输入框,填入模板信息,关联应用选择之前创建的钉钉应用。image

  3. 在模拟编辑页面,保存发布模板。然后点击返回模板列表页面。image

  4. 复制模板ID,用于创建钉钉连接流使用。image

1.4 授予应用发送卡片消息权限

创建卡片后,需要给应用授予发送卡片消息的权限。

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。

  2. 在左侧菜单选择开发配置 > 权限管理,在左侧搜索框分别输入Card.Streaming.WriteCard.Instance.Write,并在操作列点击申请权限image

2.创建钉钉连接流

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将大模型应用和钉钉连接起来。您可以通过预置的 AppFlow 模板创建一个钉钉机器人连接流。

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。18

  2. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在创建凭证对话框中,填入之前获取的钉钉应用的 Client ID 和 Client Secret,并设置一个自定义凭证名称。创建完毕后,在下拉列表中选择该凭证。image

  3. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。创建完毕后,在下拉列表中选择该凭证。image

  4. 执行动作配置向导页,填写应用ID模版ID,完成后点击下一步26

  5. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  6. 界面提示流程配置成功,复制WebhookUrl,点击发布27

3.配置钉钉机器人

有了webhook地址后,接下来您可以在钉钉应用中配置机器人来回答用户问题了。

3.1 配置钉钉机器人

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。

  2. 添加应用能力页面,找到机器人卡片,点击添加image

  3. 在机器人配置页面,打开机器人配置开关,您可以参考下图完成配置。消息接收模式请选择HTTP模式消息接收地址为刚刚的WebhookUrl。然后点击发布

    重要

    消息接收模式请选择HTTP模式,目前AppFlow仅支持HTTP模式,选择Stream模式会导致无法返回消息。

    image

3.2 发布应用版本

应用创建完成后,如果需要将应用供企业内其他用户使用,需要发布一个版本。

  1. 点击应用开发,在钉钉应用页面,点击目标应用(百炼手机答疑)。8

  2. 在目标应用开发导航栏,点击版本管理与发布,在版本管理与发布页面,点击创建新版本。进入版本详情页面,输入应用版本号版本描述信息,选择合适的应用可见范围,完成后点击保存。并在弹窗中点击直接发布10

3.3 测试机器人

可以创建群聊或在已有群聊中添加机器人,并与机器人对话,查看效果。

  1. 在钉钉群管理中添加机器人​。进入钉钉群群设置页面,点击机器人卡片区域,在机器人管理页面,点击添加机器人。在添加机器人搜索文本框中输入目标机器人名称,并选中要添加的机器人。点击添加,完成后再点击完成添加14

  2. 在钉钉群中@机器人,进行交流互动。image

三、在微信公众号集成百炼RAG应用

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将百炼 RAG 应用和微信公众号连接起来。您可以通过预置的 AppFlow 模板创建一个微信公众号连接流。

如果您的微信公众号已经完成认证,您可以使用微信客户消息回复用户在公众号的咨询,如果您没有完成认证,只能使用被动回复消息功能回复用户,该功能将消息响应时间限制为 5 秒,超时将无法回复。

是否完成认证可以在微信公众号后台,在左侧菜单选择设置与开发 > 公众号设置,在公众号设置页面中查看。您可以根据认证情况选择下面的创建方案。

image

已经认证的公众号

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_16-57-05

  2. 访问微信公众号后台,在左侧菜单选择设置与开发 > 开发接口管理。选择基本配置页签,获取 AppID。2024-11-07_16-27-30

  3. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在授权页面填入 AppID,点击授权并在新的页面使用微信扫描完成授权。授权后,Appflow 会自动帮您配置公众号,您无需任何操作。授权完成后,您需要回到连接流的账户授权配置向导页,选择刚刚授权的微信公众号。image2024-11-07_16-24-15

  4. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。2024-08-15_15-11-04

  5. 执行动作配置向导页,填写百炼的应用ID应用ID可以在百炼控制台我的应用获取,完成后点击下一步2024-08-29_16-49-042024-08-15_15-13-51

  6. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  7. 界面提示流程配置成功,点击发布2024-11-07_17-04-51

没有认证的公众号

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-11-07_17-07-32

  2. 访问微信公众号后台,在左侧菜单选择设置与开发 > 开发接口管理。选择基本配置页签,获取 AppID。2024-11-07_16-27-30

  3. 在连接流的账户授权配置向导页,点击步骤1中的添加新凭证。在授权页面填入 AppID,点击授权并在新的页面使用微信扫描完成授权。授权后,Appflow 会自动帮您配置公众号,您无需任何操作。授权完成后,您需要回到连接流的账户授权配置向导页,选择刚刚授权的微信公众号。image2024-11-07_16-24-152024-11-07_16-50-48

  4. 在连接流的账户授权配置向导页,点击步骤2中的添加新凭证。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。2024-08-13_09-33-07

  5. 执行动作配置向导页,填写百炼的应用ID应用ID可以在百炼控制台我的应用获取,完成后点击下一步2024-08-29_16-49-042024-08-13_09-36-39

  6. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  7. 界面提示流程配置成功,点击发布2024-11-07_16-53-08

在完成AppFlow创建连接流后,用户可以访问相应的公众号,向其发送消息体验AI智能客服提供的自动回复。image

验证及清理

5

清理资源

测试完方案后,您可以参考以下规则处理对应产品的实例,避免继续产生费用。

  1. ROS一键删除创建的云资源。

    1. 登录ROS控制台

    2. 在左侧导航栏,选择资源栈

    3. 资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除

    4. 删除资源栈对话框,选择删除方式释放资源,然后单击确定,根据提示完成资源释放。

  2. 删除百炼 API-KEY

    API-KEY管理页面,找到目标API-KEY,单击右侧操作列下的删除,根据页面提示进行删除。

  3. 删除百炼应用和数据:

    1. 登录百炼控制台,在我的应用中,找到应用并单击右下角更多,在下拉列表中点击删除应用

    2. 登录百炼控制台,在数据应用 > 知识索引页面,找到知识库并点击操作栏中的删除

    3. 数据管理页面,找到上传的文档并点击操作栏中的删除。

  4. 删除钉钉应用:

    1. 登录钉钉开放平台,点击导航栏中的应用开发image

    2. 在左侧导航栏点击钉钉应用,找到目标应用,点击应用名称进入应用详情。image

    3. 点击左侧导航栏中的凭证与基础信息,先点击停用按钮,然后点击删除应用按钮。image

  5. 删除钉钉连接流:登录AppFlow控制台,找到目标连接流,然后在其右侧操作列,单击删除

  6. 删除微信连接流:登录AppFlow控制台,找到目标连接流,然后在其右侧操作列,单击删除