部署 Intelli-Agent,利用 DeepSeek 快速构建 LLM 应用

前言

Intelli-Agent 提供一个高效简洁的工作流程,用于开发可扩展的、生产级别的 LLM 应用。在 Intelli-Agent,您可选择多种模式(Chat,RAG,Agent)以满足不同业务需求,如问答系统,知识库,聊天助手。本文将介绍 Intelli-Agent 在中国区域如何部署,并接入由亚马逊云科技中国区域 Marketplace 合作伙伴硅基流动提供的 DeepSeek 接口,帮助您快速构建属于自己的企业知识库。

Olawale Olaleye
Tag
生成式人工智能,LLM,Agent,RAG
难度
中级
时间
1 小时
受众

AI 工程师,开发人员

上次更新时间
2025 年 3 月 18 日
相关产品

Amazon Lambda,Amazon SageMaker,Amazon OpenSearch,Amazon Glue

企业用户可限时申领 700 元人民币亚马逊云科技服务抵扣券,轻松起步,搭建无忧

方案概述

服务列表

  • Amazon OpenSearch (AOS) - 知识库向量存储与检索
  • Amazon Step Functions - ETL 工作流编排
  • Amazon Glue - 执行 ETL 任务
  • Amazon SageMaker - 自建模型推理
  • Amazon Marketplace - LLM 模型供应商
  • Amazon Secrets Manager - LLM 凭证管理
  • Amazon CloudFront - 前端
  • Amazon Lambda - 模型部署触发器和自定义资源
  • Amazon SQS - 消息队列
  • Amazon DynamoDB - 元数据存储
  • Amazon S3 - 对象存储
  • Amazon ECR - 镜像仓库
  • Amazon SNS - 通知

执行流程

  1. 解决方案的前端网站托管在 Amazon S3 桶中,通过 Amazon CloudFront 分发。
  2. 用户通过方案网站上传文档到知识库时,文档会首先上传到 Amazon S3 桶。
  3. Amazon Lambda 随即被触发,并触发 Amazon Step Functions 处理文件。Amazon Step Functions 中通过 Amazon Glue Job 对文档进行解析和切分,并将中间状态分别存储到 Amazon DynamoDB 和 Amazon S3。
  4. Amazon Glue Job 将切分后的文本块通过部署在 Amazon SageMaker Endpoint 中的 Embedding 模型进行向量化,并注入到向量数据库 Amazon OpenSearch。最后 Amazon SNS 会将执行结果以邮件的方式通知到用户。
  5. 当用户在方案网站发送聊天信息时,在线模块的 Amazon API Gateway 会被触发,前后端通信是通过 WebSocket API 实现。Amazon API Gateway 集成的 Amazon Lambda 函数将请求消息发送到 Amazon SQS 防止消息超时。
  6. Amazon SQS 中的消息会被在线模块的 Amazon Lambda 消费,根据请求参数执行 Agent/RAG/Chat 逻辑,并将聊天信息记录到 Amazon DynamoDB。Amazon Lambda 通过意图识别判断需要使用的工具,并进行相应操作。
  7. 如果选择 RAG 模型,Amazon Lambda 通过 Amazon SageMaker Endpoint 中部署的 Embedding 模型将查询消息进行向量化,在 Amazon OpenSearch 中查询到匹配的知识(目前默认返回 top 5 知识),对其进行倒排,然后将知识发送给大语言模型,最后将答案返回给前端。
  8. 在聊天时,用户和 AI 的消息会存储在 Amazon DynamoDB 中,方案网站通过 Amazon API Gateway 和 Amazon Lambda 获取到某次聊天记录,用户可以基于这次聊天记录的内容继续进行聊天。

文档处理架构

数据预处理模块包括格式识别、内容提取、元数据转换和语义分割,无缝地在后台进行。当系统收到大量内容注入请求时,可以通过同时运行多个 Amazon Glue 任务来自动扩展,确保这些请求及时处理。

点击放大

模型选型

按照默认参数所使用的模型如下:
备注:建议根据您的实际业务场景来进行模型的选择,本系统支持客户自定义更换模型。

Function Model Service
Rerank BGE-reranker-large Amazon SageMaker
Embedding BCE Amazon SageMaker
LLM DeepSeek-R1-Distill-Qwen-32B Amazon Marketplace

界面展示

点击放大

实现方式

  • 亚马逊云科技账号相关要求

    1. 拥有一个亚马逊云科技中国区域可用的账号和一个有 Admin 权限的 IAM User/IAM Role
    2. 拥有一个在亚马逊云科技中国区域北京或宁夏 ICP 备案的域名,如果在其他云备案, 请将亚马逊云科技账号新增接入/提前完成 ICP exception 申请
    3. Limit 相关:新用户至少保证有 1 个 VPC 和 2 个 EIP 可用,Sagemaker Endpoint 至少需要 1 个 ml.g4dn.2xlarge,1 个 ml.g4dn.4xlarge quota,Lambda 的内存最低 4096M

    在亚马逊云科技中国区域 Marketplace上订阅硅基流动的 API

    1. 请在此页面订阅,并准备好一个 API Key
  • 在备案所在的区域,准备一台 Amazon Linux 2023 的 EC2(规格推荐: M6i.large),并保证至少有 100GB 的 EBS。确保该 EC2 部署在公有子网中。
    进入控制台,在上方搜索栏输入搜索 EC2,选择 EC2 服务进入。点击启动实例,创建新实例

    选择镜像:选择 Amazon Linux 2023 AMI

    选择实例类型:搜索框中输入 m6i,选择推荐机型 M6i.large

    密钥对创建:如果此处您已经有创建的密钥对可以直接选择,后续使用 SSH 登陆到 EC2,需要选择相同密钥对进行登陆;如果您暂时没有密钥对,点击创建新密钥对,创建成功并保存到本地用于后续使用 SSH 登陆时使用。
    网络设置:选择您的公有子网,确保您的 EC2 创建后能被公网访问

    配置存储:请修改存储配置到 100GB(推荐大小)

    点击右下角启动实例

    实例列表中显示正在运行,证明实例创建成功。
    连接到 EC2 的方式:
    SSH登陆 EC2:ssh -i "xxx.pem" ec2-user@public ip address
    若遇到“Permissions 0644 for 'xxx.pem' are too open”的问题,请修改密钥权限 chmod 400 xxx.pem

  • 执行以下命令以安装 Python、Git、npm、Docker 等依赖项。如果这些依赖项已经安装,可以跳过此步骤。setup_env.sh 脚本适配 Amazon Linux 2023,如果您使用其他操作系统,请手动安装这些依赖。

    wget https://aws-gcr-industry-assets.s3.cn-northwest-1.amazonaws.com.cn/mfg-kb-code/setup_env.sh
    sh setup_env.sh

    执行以下命令安装 Amazon CLI 工具(请跳过此步骤如果您已经安装)。

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install

    (可选)如果您已经有一个拥有一个有 Admin 权限的 IAM User/IAM Role,请跳至步骤 4 继续。如果没有,请您通过 IAM 进行创建。
    在搜索栏搜索 IAM,选择 IAM 服务。

    进入 IAM 控制面板,创建用户。

    完成用户创建后,进入用户,点击添加权限,并附加 AdministratorAccess 权限策略,创建访问密钥(AKSK)并下载保存。

    执行 aws configure
    输入 IAM User 的 access key, secret access key 和 default region, region 为 cn-north-1(北京)或者 cn-northwest-1(宁夏)

    aws configure
    aws iam create-service-linked-role --aws-service-name opensearchservice.amazonaws.com

    如果您无法使用 IAM User, 也可以选择在 EC2 服务器上绑定 IAM Role(该 Role 需要有 Admin 权限)

  • 切换到方案部署的区域,进入 Secret manager,选择其他类型 secret
    Key/value pairs: key 对应的填 key,value 填写您在步骤一中获取的硅基流动 api key。
    注意:secret name 必须是 siliconflow-api-key,不能填其他名称

  • 请确保您部署此方案的亚马逊云科技中国区域账号已经进行过 ICP Exception 或 ICP 备案。在方案部署完成后,会自动创建一个 CloudFront 分配,您需要对其关联一个可用域名

  • 注意:如果已经安装过 CDK,则可忽略此步骤。
    如果这是您的账户首次使用 CDK 部署资源,请参考此文档进行 CDK bootstrap。(约 1 分钟)

    npx cdk bootstrap aws://<Your account ID>/<Region>
  • python3 -m venv mfg-kb-env
    cd mfg-kb-env
    source bin/activate
    wget https://aws-gcr-industry-assets.s3.cn-northwest-1.amazonaws.com.cn/mfg-kb-code/deepseek-on-aws-workshop.zip
    unzip deepseek-on-aws-workshop.zip
    cd Intelli-Agent-gcr-custom
  • cd source/infrastructure
  • npm cache clean --force
    npm config set registry https://registry.npmmirror.com/
    npm install
    export CDK_MAX_RETRY_ATTEMPTS=3
    export CDK_RETRY_BACKOFF_RATE=1.5
  • npm run config

    运行以上命令后会返回一系列问题, 请在第二个问题中输入您的邮箱,其余问题请直接回车,使用默认值
    输入信息后,配置文件 config.json 将生成在 [source/infrastructure/bin]目录中。您可以重新运行 npm run config 命令或修改此文件以自定义解决方案配置。

  • npm run build
  • npx cdk deploy --require-approval never --all
  • 部署后,您可以在 CloudFormation 控制台中找到包含 ai-customer-service 的堆栈。在堆栈的 Output 标签页中,您可以找到关键的解决方案信息,常用的信息解释如下:

      A B
    1 名称 描述
    2
    WebPortalURL

    Intelli-Agent 前端网站链接。
    3
    APIEndpointAddress

    RESTful API 地址,主要用于数据预处理、聊天记录等功能。
    4
    WebSocketEndpointAddress

    WebSocket API 地址,主要用于聊天功能。

    部署成功后,您可以在 Cloudformation 中找到如下堆栈:

  • 进入 CloudFront 控制台,根据上一步的 WebPortalURL 找到其 CloudFront 分配
    点击编辑按钮,将您的域名添加到 Alternate domain name (CNAME) 中,生效后即可以通过域名来访问本方案。

  • 通过浏览器输入部署步骤-步骤14中您关联的域名网址进入首页

  • 选择左侧边栏 设置 > 聊天机器人,进入到聊天机器人页面

    点击右上角创建聊天机器人,填写机器人名称(自定义),模型供应商选择 SageMaker,向量化模型选择 BCEmbedding,点击右下角创建聊天机器人。

    在聊天机器人的列表中已经列出新创建的聊天机器人,创建完成

  • 选择左侧边栏 设置 > 文档库,进入页面,点击右上角创建文档按钮

    点击右上角创建文档,点击选择文件上传文本,点击附加设置,您可以查看这个文件要注入到哪个聊天机器人的知识库,以及索引类型。索引类型固定选择 qd 索引类型。

    点击上传后等待上传完成,根据文件大小上传时间为 2-10 分钟(PDF 文件相对偏慢)
    点击刷新查看是否上传完成,文档处理完成后状态如下:
    注意:本页面不会自动刷新,请不定时刷新界面。
    上传文本无需等待文件完全上传完成,可以同时同步上传多个文档。

  • 选择左侧边栏 聊天 > 提示词,进入会话页面,选择刚才步骤 1 创建的聊天机器人。

    展开配置,配置硅基流动 api,在 api 端点中输入 https://api.siliconflow.cn/v1,API 密钥 ARN 填入在安装步骤 > 环境准备 > 步骤 4 中在 Secret manager 配置的密钥 ARN

    会话配置完成,可以从输入框输入消息开启对话

  • 执行以下命令以卸载本解决方案。

    npx cdk destroy --require-approval never --all

    如果删除失败, 请检查 Root Cause 是否为 Subnet/ENI 删除失败, 可以手动删除 ENI 和 Subnet 后再继续删除堆栈。

总结

通过使用 Intelli-Agent,我们可以快速部署 LLM portal,并一键部署私有模型。基于 Intelli-Agent,您可以创建聊天机器人与注入知识库。这个方案简单易行,能够满足大多数企业级别 LLM 场景的需求。

*前述第三方生成式人工智能内容并非由亚马逊云科技提供,您应当依法使用服务并遵循相应的合规要求(包括进行算法备案、使用经过备案的大语言模型等等,如适用)。

亚马逊云科技中国峰会

6 月 19 日 - 20 日|上海世博中心

聚焦生成式 AI 从技术爆发迈向行业深耕的跨越

费用无忧,限时体验

限时申领 700 元人民币亚马逊云科技服务抵扣券 ,用于抵扣 Intelli-Agent 部署及试用过程中使用亚马逊云科技中国区域服务所产生的费用。

免费注册

亚马逊云科技账号

申领服务抵扣券

即日起至 2025 年 4 月 30 日 23:59:59 前,扫描二维码,完整填写申领表单,包括填写亚马逊云科技中国区域 12 位账户 ID 等,并提交申领表单。

扫码填写表单 »

服务抵扣券充值

提交信息并通过审核后,抵扣券将于申领表单提交后 10 个工作日内充值至对应账户。

1. 免费注册

亚马逊云科技账号

申领服务抵扣券

即日起至 2025 年 4 月 30 日 23:59:59 前,扫描二维码,完整填写申领表单,包括填写亚马逊云科技中国区域 12 位账户 ID 等,并提交申领表单。

扫码填写表单 »

服务抵扣券充值

提交信息并通过审核后,抵扣券将于申领表单提交后 10 个工作日内充值至对应账户。

*活动须知:
  1. 此活动面向于 2025 年 2 月 1 日 00:00:00 至 2025 年 4 月 30 日 23:59:59 期间(以 12 位 ID 在亚马逊云科技系统中显示时间为准)新注册并显示激活的亚马逊云科技中国区域账号(需完成完整的 6 步账号注册流程)。活动采取报名制度客户需要填写申领表单报名此活动,经审核后,符合上述要求且前 500 名在活动期间填写表单报名的用户可以获得亚马逊云科技服务抵扣券。亚马逊云科技服务抵扣券会于表单提交后10个工作日内充值至用户新注册的亚马逊云科技中国区域账号中。
  2. 活动截止时间为 2025 年 4 月 30 日 23:59:59。
  3. 亚马逊云科技中国区域是指亚马逊云科技北京区域和亚马逊云科技宁夏区域。
  4. 一个企业统一社会信用代码仅有一次参加本活动的机会,并获取一次抵扣券,超过一次按 1 次计算并只能获得一次抵扣券。
  5. 申领表单提交截止时间为 2025 年 4 月 30 日 23:59:59,晚于该时间,亚马逊云科技服务抵扣券无法发放。
  6. 700 元人民币亚马逊云科技服务抵扣券可使用的亚马逊云科技服务类别以最终充值的服务抵扣券所涵盖的服务为准。
  7. 本活动的亚马逊云科技服务抵扣券的使用有效期至 2025 年 12 月 31 日,亚马逊云科技服务抵扣券只可以抵扣未来账单,不可以抵扣历史账单。
  8. 亚马逊云科技中国(北京)区域和亚马逊云科技中国(宁夏)区域的亚马逊云科技服务抵扣券由北京光环新网科技股份有限公司和宁夏西云数据科技有限公司提供,其使用受载于 https://www.amazonaws.cn/promotional-terms/(以及指定的任何后续或相关网址)的条款与条件的限制。亚马逊云科技抵扣券没有任何金钱价值,不得转让或转售。
  9. 我们保留修改或取消本活动的权利。
  10. 活动优惠不与其他优惠叠加使用。
  11. 如果你违反了本活动的条款和条件,将失去参与本活动的资格。
  12. 如本活动被法律所禁止。本活动将无效。
限时钜惠

免费试用 Amazon EC2 T4g 实例

新老用户现可享受每月 750 小时的免费 t4g.small 实例使用时长,优惠期至 2025 年 12 月 31 日!