通过 AWS 上的智能搜索机器人简化大规模文档搜索 架构博客

利用智能搜索机器人简化大规模文档搜索

作者:Rostislav Markov 和 Shydhanya Dharmalingaraja,发布于 2024 年 3 月 21 日,来源于 Amazon Kendra、Amazon Lex、Amazon Simple Storage Service (S3)、人工智能 、AWS Lambda 和 客户解决方案永久链接 分享

关键要点

在这篇博客中,我们探讨了如何在全球生命科学公司的文档库上构建智能搜索机器人。通过这个机器人,科学家们能够使用自然语言轻松地查询文档,在几秒钟内找到所需材料。想要寻求合规所需的操作规程文档,使用语音命令也变得便捷。该解决方案集成了 AWS 的多个服务,包括 Amazon Kendra 和 Amazon Lex,从而优化了文档检索流程。

企业文档管理系统EDMS负责文档的生命周期和分发。尽管这些系统依赖于基于关键字的搜索功能,但随着文档数量的增长,查找特定文件的难度也随之加大。

在此之前,原生的文档库搜索功能仅依靠关键字和文档名称,这种模式导致了试错的过程。而现在,科学家们可以使用自然语言轻松查询文档库,快速找到所需文档,甚至在操作实验室设备时使用语音指令。

使用案例

在生命科学领域,文档的管理对于合规而言至关重要,尤其是与 GxP 相关的文档。科学家们每天都需要使用 EDMS 来获取标准操作程序SOP,而 SOP 中包含了一系列任务性说明,例如如何监控实验室设备或使用蒸汽发生器及冷却水循环泵。

EDMS 的搜索能力通常仅限于文件名称和元数据。在我们的案例中,文件名称是数字化的,而元数据通常只是简短的描述加上关键字。

科学家们希望能够根据特定的上下文和将要执行的任务类型进行查询,但这些数据并未从文档内容中提取,且因此在搜索时不可用。同时,科学家还希望能够使用语音界面进行搜索例如,在操作实验室设备时。

为此,我们设计了一个对话式机器人接口。这个机器人能够根据预生成的文档提取信息定位最相关的标准操作程序,并返回最合适文档的超链接,如下图所示。

智能搜索机器人解决方案概述

我们的智能搜索解决方案要求为:

基于全文内容的语义搜索索引和排名通过语音和文本进行搜索的能力与网页应用和移动设备的开箱即用集成

我们选择了 Amazon Lex 来提供文本或语音的对话接口。Lex 机器人可以通过 AWS Amplify Interactions 与网页和移动应用集成。我们使用 Amazon Kendra 创建了基于数据仓库的智能搜索索引,数据仓库则托管在 Amazon Simple Storage ServiceAmazon S3上。

使用 Amazon Kendra 索引的优势在于其开箱即用的语义搜索和基于文档内容的排名能力。我们还使用 AWS Lambda 处理 Amazon S3 路径映射和文档属性格式化,以确保文档可以被 Amazon Kendra 检索。

将智能搜索机器人集成至 EDMS 的好处

将智能搜索机器人扩展至 EDMS 的好处包括:

通过添加文本和语音渠道来提高可用性,以适应用户场景例如,科学家在操作实验室设备时与第三方系统例如 Adobe Experience Manager、Alfresco、HubSpot、Marketo、Salesforce 的本地开箱即用集成在为期两周的敏捷冲刺内实施,不需要数据科学技能

扩展至大型语言模型

Amazon Kendra 的 Retrieve API 允许利用来自 Amazon Bedrock 或 Amazon SageMaker Jumpstart 的大型语言模型LLM扩展文档检索链模式。在这一模式下,Amazon Kendra 生成的文档摘要可以传递给 LLM 进行关联,如下图所示。请查阅 LangChain 文档 以了解如何配置检索链。

一元机场官网地址

在我们的用例中,这种扩展的努力超出了增量优化和有限迁移时限的范围。此外,对于跨文档的复杂关联,应该优先选择链模式。

然而,在这里,这并不是情况,因为文档功能上是独立的例如,通过设备类型、地理位置和过程任务。因此,使用 Amazon Kendra API 的文档检索已足够,我们也推迟了与自定义构建 LLM 提示层相关的额外工作。

实施注意事项

我们开始将 EDMS 迁移至 AWS,使用 AWS DataSync 将数据仓库复制到 Amazon S3。我们将每个文档及其对应的元数据文件作为单独的 Amazon S3 对象存储。

为了正确初始化 Amazon Kendra 索引映射:

元数据必须是 JSON 格式的 Amazon S3 对象遵循命名约定 metadatajson具有正确格式的保留或常见 文档属性

EDMS 系统在生成元数据文件时未遵循这些规范,因此我们将转换工作交给了一个 Lambda 函数。该函数修正了元数据属性,例如将版本类型version从数字更改为字符串,将日期createdat从字符串更改为 ISO8601。它还通过执行新对象的操作PutObject API和删除原始对象DeleteObject API来更改元数据名称和 Amazon S3 路径。

我们配置了对 Amazon S3 PutObject 操作的 Lambda 调用,通过 Amazon S3 事件通知进行监听。我们将 Amazon Kendra 索引的同步运行时间表设置为按需执行。

另外,您可以按照预定的时间表运行,或者作为每次 Lambda 调用的一部分使用 updateindex boto3 操作。最后,我们使用 Amazon CloudWatch 监测与 Amazon Kendra 索引相关的同步运行失败。

结论

这篇博客展示了如何增强您 EDMS 的基于关键字的搜索。我们通过聊天机器人将文档搜索查询嵌入,从而简化用户的交互。

您可以快速构建这一解决方案,而无需机器学习技能,作为 EDMS 云迁移的一部分。在更高级的用例中,包括完整重构,考虑将此解决方案扩展到使用来自 Amazon Bedrock 或 Amazon SageMaker Jumpstart 的大型语言模型。

相关信息

在 AWS 上使用 Amazon Lex 聊天机器人与 Amazon Kendra 集成使用 Amazon Kendra 制作更智能的 FAQ 机器人通过搜索意图集成 Amazon Kendra 和 Amazon Lex在几次点击中使用 Amazon Kendra 构建智能搜索应用

Rostislav Markov

Rostislav 是 AWS 专业服务的首席架构师。作为 AWS 行业的技术领导者,他与 AWS 客户和合作伙伴共同推进云转型项目。工作之外,他喜欢与家人一起在户外活动、打网球和滑雪。

通过 AWS 上的智能搜索机器人简化大规模文档搜索 架构博客

Shydhanya Dharmalingaraja

Shylu 是 AWS 专业服务的 DevOps 顾问,专注于医疗和生命科学组织。她喜欢探索和处理具有挑战性的解决方案。她是一个不断学习的人,并相信“永远不要停止学习,因为生活从未停止教导” 佛陀。工作之余,她喜欢锻炼、跳舞和与家人一起驾驶。

美国对中国服务提供商实施制裁,因其支持威胁组织 媒体

美国对中国服务提供商实施制裁,因其支持威胁组织 媒体

美国对中国服务商实施制裁关键要点美国政府制裁一家中国服务商,原因是其为网络威胁行为者提供服务。北京的诚信科技集团被指控为知名中国先进持续威胁APT操作提供技术支持。制裁将冻结诚信科技及其关联公司的在美运营能力,并禁止美国机构购买其服务。制裁背后的调查显示诚信科技与臭名昭著的黑客团体Flax Typh...

订阅邮箱