AnalyticDB与通义千问搭建AI智能客服
手动部署
90
https://www.aliyun.com/solution/tech-solution/analyticdb-rag
方案概览
大模型虽然可以理解并生成自然语言,但由于缺乏特定领域的专业知识、没有企业的私域知识、知识更新不及时等问题,无法直接用于企业的AI智能客服。为了解决这一问题,企业可以采用RAG技术,从外部知识库(企业的私域知识)检索知识。召回的知识将和原始查询融合成prompt,为大模型提供更丰富的上下文信息,从而生成更加准确的回答。本方案将指导您快速创建一个RAG应用(AnalyticDB for PostgreSQL向量存储+通义千问LLM模型),实现企业的AI智能客服,更高效地解决客户问题。
方案优势
简单易用:只需简单的页面点击,即可实现知识检索增强,使大模型有更丰富的上下文信息并生成更准确的答案。同时,本方案提供智能客服的示例代码,方便您快速体验AI智能客服。
灵活且安全管理:向量数据存储在AnalyticDB for PostgreSQL,企业可灵活管理数据。配套的审计、权限管理等功能可满足企业安全合规需求。
性价比高:完成本方案的部署及体验,预计产生费用不超过10元(假设您选择部署准备中相关规格资源,且运行时间不超过1小时,如果调整了资源规格,请以控制台显示的价格以及最终账单为准)。
方案架构
在阿里云上搭建的云上私有网络如图所示。实际部署时,您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。
本方案的技术架构包括以下基础设施和云服务:
1个专有网络 VPC:将云原生数据仓库 AnalyticDB PostgreSQL 版部署在专有网络中。
1台交换机:将云服务器 ECS实例和云原生数据仓库 AnalyticDB PostgreSQL 版实例部署在交换机中,实现它们之间的网络通信。
1台云服务器 ECS:用于部署智能客服。
1个云原生数据仓库 AnalyticDB PostgreSQL 版实例:提供向量数据存储和检索服务。
百炼:一站式的企业专属大模型生产平台。在本方案中,提供通义千问LLM模型的调用以及知识索引功能。
部署准备
10
开始部署前,请按以下指引完成账号申请、账号充值和授权。
准备账号
部署资源
20
请按照以下步骤部署方案中的所有资源。
1. 创建专有网络VPC和交换机
您需要将云服务器 ECS和云原生数据仓库 AnalyticDB PostgreSQL 版等资源部署在同一个网络环境中。因此,您需要创建1个专有网络和1个交换机。
登录专有网络管理控制台。
在顶部菜单栏,选择被授权的资源组(本文以RAG为例)和地域(本文以华东1(杭州)地域为例)。建议地域选择华北2(北京)、华东1(杭州)、华东2(上海)。
在左侧导航栏,单击专有网络。
在专有网络页面,单击创建专有网络。
在创建专有网络页面,配置1个专有网络和1台交换机。配置交换机时,请确保交换机所属的可用区的云服务器 ECS、云原生数据仓库 AnalyticDB PostgreSQL 版处于可用状态。
项目
说明
示例值
VPC名称
建议您在部署过程中新建一个VPC作为本方案的专有网络。部署过程中填写VPC名称即可创建对应名称的VPC。
长度为2~128个字符,以英文大小写字母或中文开头,可包含数字、下划线(_)和连字符(-)。
vpc_RAG
IPv4网段
在创建VPC时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云VPC支持的网段信息请参见专有网络组成部分。
在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。
192.168.0.0/16
资源组
选择被授权的资源组。
RAG
交换机名称
建议您在部署过程中在新建的VPC内创建虚拟交换机。部署过程中填写交换机名称即可创建对应名称的虚拟交换机。
长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。
vsw_RAG
可用区
在规划的地域内选择1个可用区。
建议可用区选择华北2(北京) 可用区I、华北2(北京) 可用区H、华东1(杭州) 可用区J、华东2(上海) 可用区L,避免因云原生数据仓库 AnalyticDB PostgreSQL 版资源不足造成资源栈回滚。
杭州 可用区J
2. 创建安全组
您已经在1个专有网络VPC下对应的可用区创建好了1台交换机。接下来您需要创建1个安全组,用于限制云服务器 ECS的网络流入和流出。
在左侧导航栏,选择网络与安全 > 安全组。
在顶部菜单栏,选择被授权的资源组(本文以RAG为例)和地域(本文以华东1(杭州)地域为例)。
在安全组页面,单击创建安全组。
在创建安全组页面,填写基本信息。
项目
说明
示例值
名称
设置安全组的名称。
sg_RAG
网络
选择之前规划的专有网络VPC。
vpc_RAG
资源组
选择被授权的资源组。
RAG
安全组类型
本方案用于为个人用户或组织的基础场景提供网络访问控制,建议您选择普通安全组。
普通安全组
在访问规则-入方向中,单击手动添加。将5000填入端口范围,将需要访问AI智能服务的公网IP填写到授权对象。最后单击创建安全组。
3. 创建云服务器 ECS
您已经创建好专有网络VPC和交换机等资源。接下来您需要创建1个云服务器ECS实例,用于部署AI智能客服。
在左侧导航栏,选择实例与镜像 > 实例。
在顶部菜单栏,选择被授权的资源组(本文以RAG为例)和地域(本文以华东1(杭州)地域为例)。
在实例页面,单击创建实例。
在云服务器 ECS购买页面,创建1台云服务器 ECS。
下表中未说明的参数,在本方案中可使用默认值。
参数
说明
示例值
付费类型
云服务器 ECS实例的计费方式。详细信息请参见ECS计费方式概述。
按量付费
网络及可用区
选择之前规划的专有网络VPC及交换机。
建议可用区选择华北2 可用区I、华北2 可用区H、华东1 可用区J或华东2 可用区L。
实例和镜像
实例
ECS实例是云上的虚拟计算服务器,包含vCPU、内存、操作系统、网络、磁盘等基础组件。实例规格定义了ECS实例在计算性能、存储性能、网络性能等方面的基本属性。
经济型 e(ecs.e-c1m1.large 2vCPU 2GiB)
镜像
镜像提供了运行实例所需的信息,包括操作系统、初始化应用数据等。
Alibaba Cloud Linux
镜像版本
镜像的版本。
Alibaba Cloud Linux 3.2104 LTS 64位
存储
系统盘类型
硬盘类型。
ESSD Entry
系统盘容量
硬盘容量。
40 GiB
带宽和安全组
公网 IP
选择是否分配公网IPv4地址。
分配公网IPv4地址
带宽计费方式
按使用流量:适用于流量小,波动大的场景。
按固定带宽:适用于流量较大,稳定的场景。
按使用流量
带宽峰值
带宽峰值是指网络连接或系统在某一特定时间段内所能达到的最大数据传输速率。
1 Mbps
安全组
选择之前创建的安全组。
sg_RAG
管理设置
登录凭证
本方案以自定义密码凭证为例。
自定义密码
登录名
登录名设置为root,登录后将获得系统最高权限。
root
登录密码
设置登录云服务器 ECS的密码。
password***
确认密码
高级选项
实例名称
配置云服务器 ECS实例名称。
ecs_adb
资源组
选择被授权的资源组。
RAG
4. 创建云原生数据仓库 AnalyticDB PostgreSQL 版
您已经创建好了1台云服务器 ECS。接下来您需要创建云原生数据仓库 AnalyticDB PostgreSQL 版集群。
在顶部菜单栏,选择被授权的资源组(本文以RAG为例)和地域(本文以华东1(杭州)地域为例)。
创建云原生数据仓库 AnalyticDB PostgreSQL 版实例:
在实例列表页面的右上角,单击新建实例。
在购买页面,购买1个云原生数据仓库 AnalyticDB PostgreSQL 版实例。
参数
说明
示例值
商品类型
实例的计费方式:
包年包月:属于预付费,即在新建实例时需要支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越大。
按量付费:属于后付费,即按小时扣费。适合短期需求,用完可立即释放实例,节省费用。更多信息,请参见计费项概述。
按量付费
地域和可用区
建议选择华北2 可用区I、华北2 可用区H、华东1 可用区J、华东2 可用区L。
需与ECS实例位于相同地域。
华东1(杭州)
可用区 J
实例资源类型
实例的资源类型分为存储弹性模式和Serverless模式。要使用向量数据存储和向量检索,请选择存储弹性模式。
存储弹性模式
实例系列
高性能(基础版)仅用于测试学习,生产环境请使用高可用版。
高可用版提供可用性SLA保证,推荐企业核心业务选择。
高性能(基础版)
引擎版本
实例的引擎版本。本方案需要选择6.0标准版。
6.0标准版
向量引擎优化
选择开启向量引擎优化。
开启向量引擎优化可以提升实例的向量分析性能,但是向量引擎优化会大幅占用实例的内存资源,且实例的并发度会有大幅下降。
AIGC、向量检索等场景,推荐开启向量引擎优化。
开启
Master资源
选择Master资源规格。建议Master的CU数与Segment的CPU核数相同。
4 CU(免费)
节点规格(Segment)
选择计算节点规格,支持4C16G、8C32G、16C64G、32C128G以及64C256G五种规格。
4C16G
节点数量(Segment)
选择计算节点数量,节点个数的增加可以线性地提升性能。
2个
存储磁盘类型
选择数据存储的磁盘类型。
不同类型磁盘的性能差异,请参见块存储性能。
ESSD云盘 PL1
加密类型
选择不加密或云盘加密。
不加密
节点存储容量(Segment)
实例中每个节点独享的存储空间大小,存储容量范围为50 GB~8000 GB。
50 GB
专有网络(VPC)
选择之前规划的专有网络VPC及交换机。
需与ECS实例位于相同VPC。
专有网络交换机
资源组
选择被授权的资源组。
RAG
样本数据
选择是否加载样本数据。关于样本数据集的具体信息,请参见管理样本数据集。
不加载
5. 开通阿里云百炼大模型服务平台
登录阿里云账号,访问大模型服务平台百炼控制台。
在左侧导航栏选择模型广场/应用广场,均可点击开通模型调用服务。开通调用服务后才能测试模型体验、调用模型或应用体验服务。
点击去开通按钮,勾选同意协议,点击确认开通,等待服务开通成功提示。即服务开通成功。
部署AI智能客服
45
接下来,您将了解如何在您的AI智能客服应用中调用大模型的能力来回答客户问题。
1. 创建大模型应用并配置知识库
要在AI智能客服系统中调用大模型回答企业产品的相关知识,您需要首先创建一个大模型应用,并将企业产品知识导入知识库作为大模型可参考的外部数据源。
创建大模型应用
进入百炼控制台,选择左侧导航栏我的应用,在页面右侧点击新增应用。在对话框,选择智能体应用并创建。
在应用设置页面,模型选择通义千问-Plus,其他参数保持默认。
您也可以选择输入Prompt,比如设定大模型的角色,以便更专业地回答客户咨询。
单击右上角发布。在页面右侧,输入问题验证模型效果。
您会发现,目前它还无法作为某个手机厂商的客服去回答该公司的手机商品信息。我们将在步骤2中解决这一问题。
为大模型应用配置知识库
上传文件:在百炼控制台数据管理页面中,单击导入数据,根据引导上传用于示例的百炼系列手机产品介绍.docx。
建立索引:知识库将为上一步导入的文档建立索引,用于后续大模型回答时知识检索。
在左侧导航栏中,单击
。在知识索引页面,单击创建知识库,设置知识库名称,选择向量存储类型为ADB-PG,选择在部署资源阶段创建的AnalyticDB for PostgreSQL实例。
ADB-PG,即AnalyticDB for PostgreSQL,作为统一的向量存储,可以满足多个应用的向量数据集中存储、灵活管理的需求。同时,AnalyticDB for PostgreSQL提供监控、SQL审计、权限管理等特性保障企业数据安全。
选择步骤a上传的文件,其他参数保持默认即可。最后单击导入完成。
引用知识:完成知识库的创建后,在左侧导航栏单击我的应用。找到步骤1中创建的大模型应用,单击管理。打开知识库检索增强、选择知识库,最后单击发布。Prompt中会被自动添加一段信息,以便大模型在后续回答时参考检索出来的信息。
获取调用大模型应用所需的凭证
为了在智能问答应用中通过API调用大模型应用的能力,我们需要获取百炼应用的API-KEY和应用 ID:
在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。在页面右侧,点击创建我的API-KEY,在弹出窗口中创建一个新 API-KEY。保存 API-KEY 到本地用于后续配置。
在应用列表中可以查看步骤1中创建的百炼应用 ID。
2. 在ECS上部署AI智能客服
登录ECS管理控制台,点击左侧导航栏实例,找到目标实例,准备Python环境,建议Python版本为3.9及以上。
下载智能问答的示例代码,请参见demo.zip。
在云服务器 ECS Workbench页面的顶部菜单栏,单击文件 > 打开新文件管理,单击上传文件,在根目录下上传示例代码文件。
上传成功后,在左侧导航栏,单击,回到终端界面。
查看并解压示例代码的压缩包,进入到示例代码demo目录。
ls sudo yum install unzip unzip demo.zip cd demo
创建并激活虚拟环境,并安装示例代码的Python依赖包:
python3.9 -m venv $(pwd)/venv source $(pwd)/venv/bin/activate pip install -r requirements.txt
将百炼的API-KEY、百炼应用的应用ID、ECS实例的公网IP配置到环境变量。
说明获取ECS实例公网IP的方法,请参见查看IP地址。
vim ~/.bashrc
export DASHSCOPE_API_KEY="<DASHSCOPE_API_KEY>" export APP_ID="<APP_ID>" export SOCKET_ENDPOINT="<ECS_NETWORK_IP>:5000"
source ~/.bashrc
启动服务:
python app-stream.py
返回如下信息,说明启动成功。
* Serving Flask app 'app-stream' * Debug mode: on WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5000 * Running on http://172.30.XX.XX:5000 Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 100-XX-XX
方案验证
5
完成及清理
10
清理资源
在本方案中,您创建了1台云服务器 ECS实例、1个云原生数据仓库 AnalyticDB PostgreSQL 版实例、1个百炼应用、1个安全组、1个交换机、1个专有网络 VPC。完成本文方案的体验后,如需删除资源,可按下文操作。
释放云服务器 ECS实例和安全组:
登录ECS控制台,在实例页面,找到目标实例,然后在操作列选择> 释放设置。
在安全组页面,找到目标安全组,然后在操作列单击 删除。
释放云原生数据仓库 AnalyticDB PostgreSQL 版实例:
登录云原生数据仓库AnalyticDB控制台,在实例列表页面找到目标实例,单击实例ID进入实例基本信息页面,然后在基本信息页面中,在右上角单击实例管理 > 实例释放。
释放交换机:
登录专有网络控制台,在交换机页面,找到目标交换机,然后在操作列单击删除。
释放专有网络 VPC:
登录专有网络控制台,在专有网络页面,找到目标VPC,然后在操作列单击删除。
释放百炼应用和数据:
登录百炼控制台,在我的应用页面,找到应用,在右上角单击 。在数据处理页面和 页面,找到上传的数据和创建的知识库,单击删除。
一键部署
45
https://www.aliyun.com/solution/tech-solution/analyticdb-rag
方案概览
大模型虽然可以理解并生成自然语言,但由于缺乏特定领域的专业知识、没有企业的私域知识、知识更新不及时等问题,无法直接用于企业的AI智能客服。为了解决这一问题,企业可以采用RAG技术,从外部知识库(企业的私域知识)检索知识。召回的知识将和原始查询融合成prompt,为大模型提供更丰富的上下文信息,从而生成更加准确的回答。本方案将指导您快速创建一个RAG应用(AnalyticDB for PostgreSQL向量存储+通义千问LLM模型),实现企业的AI智能客服,更高效地解决客户问题。
方案优势
简单易用:只需简单的页面点击,即可实现知识检索增强,使大模型有更丰富的上下文信息并生成更准确的答案。同时,本方案提供智能客服的示例代码,方便您快速体验AI智能客服。
灵活且安全管理:向量数据存储在AnalyticDB for PostgreSQL,企业可灵活管理数据。配套的审计、权限管理等功能可满足企业安全合规需求。
性价比高:完成本方案的部署及体验,预计产生费用不超过10元(假设您选择部署准备中相关规格资源,且运行时间不超过1小时,如果调整了资源规格,请以控制台显示的价格以及最终账单为准)。
方案架构
在阿里云上搭建的云上私有网络如图所示。实际部署时,您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。
本方案的技术架构包括以下基础设施和云服务:
1个专有网络 VPC:将云原生数据仓库 AnalyticDB PostgreSQL 版部署在专有网络中。
1台交换机:将云服务器 ECS实例和云原生数据仓库 AnalyticDB PostgreSQL 版实例部署在交换机中,实现它们之间的网络通信。
1台云服务器 ECS:用于部署智能客服。
1个云原生数据仓库 AnalyticDB PostgreSQL 版实例:提供向量数据存储和检索服务。
百炼:一站式的企业专属大模型生产平台。在本方案中,提供通义千问LLM模型的调用以及知识索引功能。
部署准备
10
开始部署前,请按以下指引完成账号申请、账号充值和授权。
准备账号
一键部署
25
资源编排(ROS)可以让您通过YAML或JSON文件清晰简洁地描述所需的云资源及其依赖关系,然后自动化地创建和配置这些资源。您可以通过下方提供的ROS一键部署链接,来自动化地完成这些资源的创建和配置。
部署1个专有网络 VPC。
部署1台交换机。
部署1台云服务器 ECS,并在服务器上部署Python3.9环境和AI智能客服的示例代码。
部署1个云原生数据仓库 AnalyticDB PostgreSQL 版实例。
1. 开通阿里云百炼大模型服务平台
登录阿里云账号,访问大模型服务平台百炼控制台。
在左侧导航栏选择模型广场/应用广场,均可点击开通模型调用服务。开通调用服务后才能测试模型体验、调用模型或应用体验服务。
点击去开通按钮,勾选同意协议,点击确认开通,等待服务开通成功提示。即服务开通成功。
2. 创建大模型应用并获取凭证
进入百炼控制台,选择左侧导航栏我的应用,在页面右侧点击新增应用。在对话框,选择智能体应用并创建。
在应用设置页面,模型选择通义千问-Plus,其他参数保持默认。
您也可以选择输入Prompt,比如设定大模型的角色,以便更专业地回答客户咨询。
单击右上角发布。在页面右侧,输入问题验证模型效果。
您会发现,目前它还无法作为某个手机厂商的客服去回答该公司的手机商品信息。我们将在步骤4中解决这一问题。
在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。在页面右侧,点击创建我的API-KEY,在弹出窗口中创建一个新 API-KEY。保存 API-KEY 到本地用于后续配置。
在应用列表中可以查看百炼应用ID。
3. 一键部署AI智能客服
打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建的资源栈页面。(在资源栈页面进行ECS配置填写及百炼模型应用信息填写,参照以下步骤2所示)
说明ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域后再执行下一步。
选择地域后(本教程以华东1(杭州)地域为例),在配置模板参数步骤中填写资源栈名称、账号配置、ECS实例配置等参数。
资源栈名称
参数
说明
实例值
资源栈名称
名称可以包含数字、字母(大小写敏感)、连字符、下划线。必须以字母开头,且长度必须小于255个字符。
AnalyticDB_and_Bailian_system_2024-08******
ECS实例配置
参数
说明
示例值
可用区
云服务器 ECS实例所在的可用区。
重要建议可用区选择华北2 可用区I、华北2 可用区H、华东1 可用区J、华东2 可用区L,避免因云原生数据仓库 AnalyticDB PostgreSQL 版资源不足造成资源栈回滚。
可用区J
实例规格
云服务器 ECS实例的架构、分类和规格配置。
X86计算 通用型 g6(ecs.g6.large)
2vCPU 8GiB
ECS实例密码
服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)。
Password01****
百炼配置
参数
说明
实例值
百炼应用的应用ID
步骤2获取的百炼应用的应用ID。
5599ac6fa08e4b688206d56ed9******
百炼应用的API-KEY
步骤2获取的API-KEY。
sk-c2add8fb86f14b4fb5a5*******
单击下一步确认配置模板、参数和价格预览详情。
单击创建,系统将自动创建并部署本教程所需的资源。当资源栈信息页面的状态显示创建成功时表示一键配置完成。
说明创建资源,耗时约10分钟,请耐心等待。提示:一键部署将自动检测并引导您创建一个RAM角色策略,若出现如下依赖报错,请直接点击去开通即可
单击输出页签,单击WebUrl的值即可访问AI智能客服。
4. 为大模型应用配置知识库
为大模型应用配置知识库
上传文件:在百炼控制台数据管理页面中,单击导入数据,根据引导上传用于示例的百炼系列手机产品介绍.docx。
建立索引:知识库将为上一步导入的文档建立索引,用于后续大模型回答时知识检索。
在左侧导航栏中,单击
。在知识索引页面,单击创建知识库,设置知识库名称,选择向量存储类型为ADB-PG,选择在部署资源阶段创建的AnalyticDB for PostgreSQL实例。
ADB-PG,即AnalyticDB for PostgreSQL,作为统一的向量存储,可以满足多个应用的向量数据集中存储、灵活管理的需求。同时,AnalyticDB for PostgreSQL提供监控、SQL审计、权限管理等特性保障企业数据安全。
选择步骤a上传的文件,其他参数保持默认即可。最后单击导入完成。
引用知识:完成知识库的创建后,在左侧导航栏单击我的应用。找到步骤1中创建的大模型应用,单击管理。打开知识库检索增强、选择知识库,最后单击发布。Prompt中会被自动添加一段信息,以便大模型在后续回答时参考检索出来的信息。
方案验证
5
完成及清理
5
清理资源
在本方案中,您创建了1台云服务器 ECS实例、1个云原生数据仓库 AnalyticDB PostgreSQL 版实例、1个百炼应用、1个安全组、1个交换机、1个专有网络 VPC。完成本文方案的体验后,如需删除资源,可按下文操作。