前言

本次实验,我们将要构建一个文档问答应用。简单来说,就是构建一个类似智能体的应用,然后通过网址或者ip访问,实现一个智能体“小网站”。简单来说,它的核心功能是:让你上传各种复杂的文档(如 PDF、Word、扫描件等),然后像聊天一样向 AI 提问,AI 能基于你上传的文档内容给出精准的答案,而不是瞎编。

  • 输入:你上传企业制度、产品手册、合同、技术文档、扫描件等。
  • 处理:系统自动解析文档内容(包括文字、表格、排版),将其转化为 AI 能理解的向量数据。
  • 输出:你问“报销流程是什么?”,它不会用通用知识回答,而是只根据你上传的文档,找到对应段落,总结后回答你,并可能给出出处。

方案架构

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

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

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

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

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

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

方案路线

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

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

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

实验步骤

创建专有网络VPC和交换机

您需要创建专有网络VPC和交换机,为云上的相关资源构建一个私有网络。

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

  2. 在左侧导航栏,单击专有网络。在顶部菜单栏,选择华东1(杭州)地域。

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

  4. 创建专有网络页面,配置1个专有网络和1台交换机。在配置交换机时,请确保其所在的可用区内的相关资源均处于可用状态,以保证后续操作的顺利进行。

项目

说明

示例值

专有网络

地域

选择创建专有网络所在地域。

华东1(杭州)

名称

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

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

VPC_HZ

IPv4网段

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

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

192.168.0.0/16

交换机

名称

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

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

vsw_001

可用区

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

可用区 J

IPv4网段

虚拟交换机需要一个IPv4网段。

192.168.1.0/24

创建安全组

接下来,您需要创建1个安全组,以管理该安全组内相关云资源的网络流入和流出,确保网络访问的安全性。

  1. 登录ECS管理控制台

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

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

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

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

项目

说明

示例值

名称

设置安全组的名称。

SecurityGroup_1

网络

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

VPC_HZ

安全组类型

本方案需从公网拉取相关软件,因此选择普通安全组,以实现公网出方向所有地址可访问。实际部署时,建议您选择安全性更高的企业级安全组。

普通安全组

     6.在入方向中,开启800080端口。

创建云服务器ECS

接下来,您需要创建1个云服务器 ECS 实例,用于部署相关应用程序。

  1. 登录ECS管理控制台

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

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

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

      5.在云服务器ECS购买页面,创建云服务器ECS。

注:未提及的试用默认值即可。

项目

说明

示例值

付费类型

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

按量付费

地域

实例所在地域。

华东1(杭州)

网络及可用区

选择VPC 和交换机。

VPC_HZ、vsw_001

实例

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

ecs.e-c1m2.large(2 vCPU 4 GiB)

镜像

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

公共镜像中选择 Alibaba Cloud Linux

镜像版本

镜像的版本。

Alibaba Cloud Linux 3.2104 LTS 64位

系统盘类型

硬盘类型。

ESSD Entry

系统盘容量

硬盘容量。

40 GiB

公网IP

为实例分配公网 IP,以便从公网访问部署在服务器上的示例 Web 应用。

选中分配公网 IPv4 地址

带宽计费模式

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

按使用流量

带宽峰值

本方案以5 Mbps为例。

5 Mbps

安全组

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

SecurityGroup_1

管理设置

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

自定义密码

部署示例应用

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

  1. 登录ECS管理控制台

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

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

  4. 实例页面,找到前面步骤所创建的 ECS 实例,在右侧操作列,单击远程连接

  5. 远程连接对话框的通过Workbench远程连接区域,单击立即登录,根据页面提示登录,进入终端页面。

  6. 配置环境变量。

cat << EOF >> ~/.bash_profile
export DASHSCOPE_API_KEY="阿里云百炼平台的API密钥"
export DASHSCOPE_WORKSPACE_ID="阿里云百炼平台的业务空间ID"
EOF

source ~/.bash_profile

     7.安装并启动服务

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

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

Installation completed.

应用体验

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

  1. 完成示例应用程序部署后,可以进行以下操作来体验本服务。

    1. 获取当前 ECS 云服务器实例的公网 IP :登录 ECS控制台,在实例页面,找到目标实例,在IP 地址列可以查看到公网IP。

    2. 打开本地浏览器,地址栏输入:http://<当前ECS云服务器实例的公网 IP>:8000。

  2. 文档上传:进入应用后,您可以选择本地文档并设置知识库名称,之后点击提交分析。您也可以使用我们提供的阿里云百炼系列手机产品介绍.docx文档进行应用体验(若系统提示“没有解析到任何文档”,请先尝试刷新页面并重新上传文件。如果问题依旧存在,请尝试从ECS控制台内部重新安装并启动该项目。)

  3. 文档解析:系统将解析文档并构建相应的知识库,最终返回文档信息、文档摘要和文档结构。

    image

  4. 问答服务:点击页面上方智能问答,切换到问答服务界面。系统将自动加载在上一步中创建的知识库。接着,您可以针对已载入知识库的文档提出具体问题,即可获得精准的回答。

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

移动端体验应用(可选)

我们已经成功实现了文档解析与知识库的构建。在此基础上,您可以创建一个阿里云百炼 RAG 应用,并接入到已有系统中,如钉钉、微信公众号等,以实现移动设备上的 AI 助手功能。

清理资源!!!

开始清理前,请仔细核对所有创建的资源,确保不误删生产环境中的任何内容。

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

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

    登录ECS管理控制台,在实例页面,找到目标实例,然后在操作列选 >释放,根据界面提示释放实例。

  2. 删除交换机:

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

  3. 删除安全组:

    登录ECS管理控制台,在安全组页面,找到目标安全组,然后在操作列单击删除,按照界面提示删除安全组。

  4. 释放专有网络VPC:

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

  5. 删除百炼应用和数据(如有):

    1. 应用管理页面,找到前面步骤中创建的应用,然后单击右下角更多,在下拉列表中点击删除应用

    2. 知识库页面,找到前面步骤中创建的知识库,然后单击删除

    3. 应用数据页面,找到前面步骤上传的文档,然后单击操作栏中的删除。

  6. 删除钉钉应用(如有):

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

      image

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

      image

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

      image

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

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

总结

本次实验,我们租了阿里的服务器,实现了通过ip访问网站,而网站是一个智能体。换句话说就是我们通过网页访问的方式,访问了一个精通  我们需要了解的文档  的AI。运用到了linux的知识(部署服务器),防火墙的知识(安全策略),网络的知识(IP地址)。本次实验是云基础设施搭建与 AI 应用托管。是如何把本地写好的 AI 智能体代码,搬运到云端服务器上,让它变成 24 小时在线的公共服务。是在阿里云上从零构建一套完整的计算环境,并将一个 AI 智能体应用部署上线,使其能够通过网页和手机被外界访问。”

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐