亚马逊AWS官方博客

中小企业如何借助 RAG 技术无代码快速搭建私域知识库应用

背景

企业私域知识库的构建与维护,一直是企业提高内部管理效率和运营水平的重要工作。随着 LLM 在问答场景的深入应用,以及机器学习对搜索引擎技术的赋能升级,越来越多的企业,包括初创及中小企业,正在探索如何利用 RAG 技术,结合企业私有知识数据,基于 LLM 和智能搜索,并以无代码的形式,更简单、更快速、更灵活地构建企业私域知识库应用。

由于直接使用 LLM,可能会出现与企业内部知识不匹配甚至虚构的“幻觉”现象。因此,企业私有知识数据是企业私域知识库的“核心原材料”,而 RAG (Retrieval-Augmented Generation)则可以将这些“核心原材料”作为 LLM 的外部知识源,将检索技术和生成技术结合在一起,从而有效提高生成内容的相关性。

本方案通过使用 Amazon Kendra ,一项由机器学习(ML)提供支持的智能搜索服务,它允许您通过控制台简单快速地使用 Amazon Kendra 的高精度语义排名器作为 RAG 工作流程的企业检索器,让用户在查找和检索时,得到与用户问题最相关且具有经过优化的粒度的有效知识段落,同时这一切操作,都无需您具备精确语义检索方面的专业知识。

本方案也会通过 Bedrock,让您在控制台快速简单地使用 Claude 这一基础 LLM 作为知识库问答背后的动力引擎。同时,Amazon Bedrock 是无服务器的,因此您无需管理任何基础设施,并且可以无缝集成 AWS 相关服务,例如 Amazon SageMaker Canvas,将生成式人工智能功能安全地集成和部署到您的应用程序中。

最后,本方案通过使用 AWS CloudFormation 实现无代码化的“一键部署”,它为您提供一种简单的方式来为本方案相关的 AWS 资源建模,快速而又一致地对这些资源进行预置,并在它们的整个生命周期内对其进行管理。而您只需将整个堆栈作为一个单元,无需单独管理资源。

注:在近期的 AWS re:Invent 大会上重磅发布了 Amazon Q 企业生成式助手,下一版本的方案中我们将会指导您如何集成 Amazon Q。

应用场景

RAG 在帮助企业提升效率、降低成本和产品服务创新方面具有巨大潜力,尤其在需要结合大量信息和深度理解的场景。我们总结了三个中小企业常见的 RAG 使用场景。

在智能客服领域,RAG 通过其先进的信息检索和自然语言生成能力,显著提升服务质量和效率。它能理解并处理复杂的客户查询,准确捕捉对话上下文,并快速从庞大的数据集中检索相关信息,整合多个信息源以提供全面的答案。RAG 生成的回答既自然流畅又个性化,能够根据客户历史互动和偏好进行调整。这种技术的自我学习和动态更新能力保证了信息的时效性和服务的持续优化。通过自动化处理常见问题,RAG 降低了运营成本并提高了响应效率,同时全天候不间断的服务提升了客户满意度,并能够适应多种通信渠道,包括在线聊天、电话等,确保了服务的一致性和广泛覆盖。以电商行业举例,系统能够理解并精确回答复杂的产品和物流查询,同时自动化处理常见问题如订单状态和退换货政策。

在知识管理中,RAG 通过高效的信息检索和自动化知识整合显著提升数据处理效率和准确性。它能快速响应用户查询,整合多源数据,并实时更新知识库以保持信息的最新性。此外,RAG 技术深入分析知识库内容,发现关键洞察,并生成个性化、上下文相关的回答。用户通过自然语言交互方式与系统互动,进一步优化了用户体验。它可以应用在企业内部知识共享、医疗信息查询、法律咨询、教育研究以及金融市场分析等多个业务场景。在这些场景中,RAG 能够提供快速且准确的信息检索,帮助用户从庞大的数据中找到所需信息,如项目文档、产品指南、疾病治疗信息、法律案例、学术论文或市场分析报告。

在内容生成和优化方面,RAG 的应用跨越多个行业,包括广告行业的个性化广告文案创作、新闻和媒体的自动化新闻报道、电子商务中的产品描述和推荐、教育中的个性化学习材料生成、社交媒体营销的互动内容创作、医疗保健行业中的定制健康信息提供,以及旅游和款待行业的定制旅游指南创建。在这些应用中,RAG 通过高效、精准地生成和优化内容,提升了内容的质量和用户参与度,展现了其广泛的实用性和灵活性。

本文将为您提供海外区和中国区两种方案选择, 无论您是业务出海还是聚焦本土业务,都可以找到对应的解决方案。

业务出海

您可以借助亚马逊云科技开箱即用的机器学习服务 10 分钟快速搭建属于自己的私域知识库问答助手。

方案参考架构图如下:

1、用户将私域文档上传至 Amazon S3 存储桶

2、在 Amazon Kendra 创建索引并同步 S3 中的文件,Kendra 对文件进行智能处理

3、用户通过 Amazon SageMaker Canvas 调用 Amazon Bedrock 中的大语言模型并进行提问

4、大语言模型根据用户提问对私域知识库中的内容进行提取和总结

5、用户获得大语言模型处理加工的问答结果

部署指南

1、前提与准备工作

若您还没有亚马逊云科技海外区账号,请访问此处联系专属解决方案顾问。请您确保方案中使用的 Amazon Bedrock,Amzazon SageMaker,Amazon Kendra 位于同一 AWS 区域下,推荐区域为:US East (N. Virginia)、US West (Oregon)、Europe (Frankfurt)

2、在 CloudFormation 中创建 kendra 堆栈

2.1 进入CloudFormation控制台,点击创建堆栈,选择上传模板文件。请联系对接您的亚马逊云科技工作人员获取模板文件,您可以访问此处填写表单联系专属解决方案顾问。

2.2 点击“下一步”并填入堆栈细节。

(注:S3 存储桶的名称在分区内的所有 Amazon Web Services 区域中的所有 Amazon Web Services 账户间必须是唯一的。建议您在填入 S3BucketName 时使用您的 AWS ID 作为后缀而不是日期,以免创建失败。)

2.3 无需更改默认设置,并在继续前确认 AWS CloudFormation 可能创建 IAM 资源。如果您是第一次使用 Amazon Kendra,创建时间大概需要 30 分钟左右。

3、配置 SageMaker Canvas

3.1 打开 SageMaker 控制台,在左侧菜单栏点击“画布”

3.2 如果您从未使用过该功能,请选择“创建 SageMaker 域”

无需更改默认设置,请耐心等待创建完成

4、在 S3 中上传文档

4.1 回到 CloudFormation 控制台,刚刚创建的堆栈如果显示 “CREATE_COMPLETE”字段即创建成功。打开堆栈详细信息,点开输出页面。点击 S3Bucket URL。

4.2 在新打开的 S3 控制台中点击上传,上传文档(建议使用英文文档)。

5、通过 Kendra 处理数据

5.1 回到 CloudFormation 控制台,点击 “KendraIndexURL” 打开 Kendra 控制台。

5.2 在 Indexes 界面确认 “rag-kendra”是否创建成功,状态显示“Active”则创建成功,点击打开。

5.3 在左侧导航栏中选择“Data sources”点击打开,选择 “KendraDataSource”,点击 “Sync now”将数据同步,这一步大概会花费 5-10 分钟,看到 Last sync status 显示 Succeeded 字样即成功。

6、在 SageMaker Canvas 中配置 Kendra

检查域的运行状况是否正常,显示“InService”就可以在左侧导航栏点开“画布”然后点击“Open Canvas”。如果您是第一次使用,可能会需要几分钟来创建应用。

回到 SageMaker 域控制台,选择该域并点击编辑,在“步骤四:Canvas 设置”中找到 Canvas 即用型模型配置中打开使用 Amazon Kendra 启用文档查询。选择创建的 Kendra Index。完成修改后点击提交保存修改。

7、管理使用的大模型

打开 Bedrock 控制台,在左侧导航栏选择“Model access”。在右上角选择“Manage module access”,勾选所有模型并点击保存。

8、开始在 Canvas 中使用 RAG 服务

回到 Canvas 控制台,点击打开“Generate, extract and summarize content” 功能。

现在您可以与大语言模型展开关于您在前几步中上传的文档的对话(如果 Claude2 模型未能展示可以尝试刷新浏览器)。通过点击大语言模型回答中给出的来源可以索引文档的具体内容,会在左侧显示文档并将索引到的内容高亮标注。

9、卸载与清除

当您不再需要使用时,可以手动删除使用到的资源,例如 Cloud Formation 堆栈,S3 存储桶等服务。如果您不再使用亚马逊 SageMaker Canvas,可以从 SageMaker 控制台启动 Canvas 后点击左侧面板上的 “注销”按钮完成注销操作。注销会结束工作空间实例,您只需按登陆时长付费。

本土业务

您可以借助亚马逊云科技合作伙伴能力,在亚马逊云科技北京和宁夏区域快速体验 RAG 技术对业务的助力。

本方案融合了合作伙伴 MiniMax 的大语言模型和合作伙伴墨奇科技的 MyScale 向量数据库,利用 langchain 和 Nextjs 快速构建了一个基于文档问答的 Web 应用。该应用通过 EC2 进行托管,内部通过 API 集成了大语言模型和向量数据库的功能。为了实现高效部署,本方案采用了 CloudFormation 服务,这是一种基础设施即代码的解决方案,允许用户一键部署该方案。方案部署需要使用中国区账号,账号注册成功后,专属解决方案顾问将联系您并指导您完成部署,请点击此处完成注册。

合作伙伴介绍:

MyScale 是墨奇科技推出的一款完全托管于 AWS,支持 SQL 的高效向量数据库。MyScale 的优势在于,它在提供与专用向量数据库相匹敌甚至优于的性能的同时,还支持完整的 SQL 语法。其架构深度结合了 AWS 的多元化产品线,包含了 AWS EC2 云端虚拟服务器、AWS EKS 集群管理、AWS S3 对象存储、AWS NLB 负载均衡等。

MiniMax 成立于 2021 年 12 月,致力于成为通用人工智能时代基础设施建设者和内容应用创造者。作为国内拥有文本、语音、视觉多种模态融合的通用大模型引擎能力,并打通产品全链路的技术公司,MiniMax 团队致力于用领先的通用人工智能引擎技术。

*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。

本篇作者

杨广文

亚马逊云科技解决方案顾问,致力于云服务的市场挖掘和洞察分析,具有丰富的云上架构咨询经验,为客户提供数字化转型咨询,帮助加速企业客户业务发展和创新。

周闯

亚马逊云科技解决方案顾问,专注于 Serverless 和 Generative AI 方向,帮助企业加速业务发展和创新。

冯泽宇

亚马逊云科技解决方案顾问实习生,关注云商机转化,了解客户需求,提供相应亚马逊云科技解决方案协助企业上云,帮助企业客户实现长期,可持续的业务发展与创新。

汪竞帆

亚马逊云科技行业解决方案架构师,主要领域包含金融、零售与生成式 AI。曾就职于 IBM,负责金融行业客户解决方案。目前针对用户数据平台,生成式 AI 解决方案等在香港业务的推广。