使用 Amazon OpenSearch

使用Amazon OpenSearch Service和Amazon Bedrock改善AI搜索结果

关键要点

在这篇文章中,我们探讨了如何利用Amazon OpenSearch Service作为向量数据库,与AmazonBedrock结合,构建强大的AI驱动搜索和生成应用。我们介绍了向量数据库的工作机制、Amazon OpenSearchService的优势,以及用例示例,帮助提升搜索结果和生成AI的可靠性。


人工智能(AI)在信息交互方面带来了革命性的变化,尤其是在搜索应用和生成AI方面。搜索应用涵盖电子商务网站、文档库搜索、客户支持呼叫中心、客户关系管理、游戏匹配及应用程序搜索等多项领域。而生成AI的应用场景则包括集成检索增强生成(RAG)的聊天机器人、智能日志分析、代码生成、文档摘要以及AI助手等。AWS推荐将

作为向量数据库,与 搭配使用,以构建满足上述工作负载的解决方案。

本文将帮助您了解如何使用OpenSearch Service和AmazonBedrock建立AI驱动的搜索和生成应用。您将了解到,AI驱动的搜索系统如何利用基础模型(FMs),从文本、图像、音频和视频中捕获和搜索上下文与意义,从而为用户提供更准确的结果。同时,您还将了解生成AI系统如何利用这些搜索结果为问题生成原创回应,支持人与机器之间的互动。

本文将回答以下常见问题:

  1. 什么是向量数据库,它是如何支持生成AI应用的?
  2. 为什么Amazon OpenSearch Service被推荐作为Amazon Bedrock的向量数据库?
  3. 向量数据库如何帮助防止AI的幻觉?
  4. 向量数据库如何改善推荐系统?
  5. OpenSearch作为向量数据库的扩展能力如何?

向量数据库在AI工作流中的工作原理

在构建搜索功能时,FMs及其他AI模型将各种类型的数据(文本、图像、音频和视频)转换为称为向量的数学表示。当您使用向量进行搜索时,您会将数据编码为向量并将这些向量存储在向量数据库中。随之而来,您将查询转换为向量,并通过最小化向量之间的距离来查询向量数据库以查找相关项目。

在构建生成AI时,您需要使用大型语言模型(LLMs)等FMs,从提示中生成文本、视频、音频、图像、代码等内容。提示可能包含用户的问题文本及其他媒体(如图像、音频或视频)。然而,生成AI模型可能会产生幻觉——即看似可信但包含事实错误的输出。为了解决这个挑战,您可以使用向量搜索从向量数据库中检索准确的信息,并在一个被称为检索增强生成(RAG)的过程中将这些信息添加到提示中。

为什么Amazon OpenSearch Service是Amazon Bedrock推荐的向量数据库?

Amazon Bedrock是一个完全托管的服务,提供来自领先AI公司的基础模型,以及定制这些模型所需的工具,以提高其准确性。通过AmazonBedrock,您可以轻松采用所选的基础模型并将其用于您的生成AI应用。

Amazon OpenSearchService是一项完全托管的服务,您可以使用它来在AWS云中部署和运营OpenSearch。OpenSearch是一个开源的搜索、日志分析和向量数据库解决方案,包括搜索引擎和向量数据库,以及OpenSearchDashboards,提供日志分析、可观测性、安全分析和可视化仪表板功能。OpenSearchService能帮助您部署和管理搜索基础设施,具备原生的向量数据库能力、预构建模板和简化的设置流程。API调用和集成模板简化与AmazonBedrock基础模型的连接,而OpenSearch Service的向量引擎能够在数十亿个向量中以单数字毫秒的延迟提供搜索结果,适合实时AI应用。

OpenSearch是一种特殊的数据库技术,最初设计用于优化大块和小块非结构化文本的匹配和检索,并按排名返回结果。OpenSearch根据与搜索查询的相似度排名结果,并返回最相似的结果。相似度匹配的方式已经逐渐演变。早期的搜索引擎采用了一种基于词频的评分系统,称为词频/逆文档频率(TF/IDF)。OpenSearchService使用TF/IDF根据搜索词在所有文档中的稀有度和在其评分文档中出现的频率来对文档进行评分。

随着AI和机器学习(ML)的兴起,OpenSearch添加了计算向量间距离的相似度评分能力。为了使用向量进行检索,您需要添加由FMs和其他AI/ML技术生成的向量嵌入到文档中。为了对查询评分,OpenSearch计算文档向量与查询中向量之间的距离。OpenSearch进一步提供基于字段的过滤和匹配,以及,您可以在查询中融入词汇。OpenSearch的混合搜索能同时进行词汇和向量查询,产生具有内置评分标准化与混合的相似度评分,从而提高搜索结果的准确性,相较于单独的词汇或向量相似度有了显著改善。

OpenSearch Service支持三种向量引擎:、和。它支持和.均可使用或引擎。,包括,以优化成本、延迟和检索准确性。

用例1:利用AI/ML提升搜索结果

要利用AI/ML提升搜索结果,您需要使用向量生成ML模型,通常是生成文本和图像嵌入的LLM或多模态模型。您可以使用 ,或类似技术,将数据发送到OpenSearchService,并通过集成模型,使用模型ID构建。该接收流程将在接收数据时调用Amazon Bedrock,为每个文档创建向量嵌入。

删除)

要查询OpenSearchService作为向量数据库,您可以使用调用Amazon Bedrock来生成查询的嵌入。神经查询利用向量数据库来获取最近邻项。

删除)

该服务提供预构建的,用于构建OpenSearch Service与AmazonBedrock基础模型的集成,以便进行远程推断。这些模板简化了OpenSearch Service用以联系Amazon Bedrock的连接器的设置流程。

删除)

创建集成后,您可以在设置接收和搜索流程时引用model_id

用例2:将Amazon OpenSearch Serverless作为Amazon Bedrock知识库

提供了一种自动扩展、高性能的向量数据库,您可以利用它与AmazonBedrock结合,构建RAG和AI代理,而无需管理向量数据库基础设施。当您使用OpenSearchServerless时,您创建一个_集合_——为您应用的搜索、向量和日志需求建立的索引集合。对于向量数据库用例,您将向量数据发送到集合的索引中,OpenSearchServerless会创建一个提供快速向量相似性和检索的向量数据库。

使用OpenSearchServerless作为向量数据库时,您只需为向量的存储和服务查询所需的计算付费。无服务器计算能力以OpenSearch计算单元(OCUs)来衡量。您可以以约$175每月的费用从仅一个OCU开始部署OpenSearchServerless,用于开发和测试工作负载。OpenSearch Serverless会自动上下扩展,以适应您的接收和搜索工作负载。

利用Amazon OpenSearch Serverless,您获得一个。您可以通过AmazonBedrock控制台,从您的数据源自动创建向量,支持五个数据存储,包括,并将其存储在Amazon OpenSearch Serverless集合中。

删除)

配置数据源并选择好模型后,选择Amazon OpenSearch Serverless作为您的向量存储,接下来AmazonBedrock和OpenSearch Serverless将接管这一过程。AmazonBedrock将自动从您的数据源检索源数据,应用您配置的解析和分段策略,并在OpenSearchServerless中将向量嵌入索引化。API调用将同步您数据源与OpenSearch Serverless向量存储。

删除)

[Amazon Bedrockretrieve_and_generate()运行时API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent- runtime_RetrieveAndGenerate.html)调用使您能够轻松实现RAG与Amazon Bedrock和您的OpenSearchServerless知识库的集成。

python response = bedrock_agent_runtime_client.retrieve_and_generate( input={ 'text': prompt, }, retrieveAndGenerateConfiguration={ 'type': 'KNOWLEDGE_BASE', 'knowledgeBaseConfiguration': { 'knowledgeBaseId': knowledge_base_id, 'modelArn': model_arn, } } )

结论

本文介绍了Amazon OpenSearch Service和AmazonBedrock如何协同工作,提供AI驱动的搜索及生成AI应用,并解释了为何OpenSearch Service是AWS推荐的AmazonBedrock向量数据库。您了解到了如何将Amazon Bedrock的基础模型添加到OpenSearchService,以生成向量嵌入,从而为语义搜索提供意义和上下文。您还了解到OpenSearch Serverless如何提供与AmazonBedrock紧密集成的知识库,简化RAG和其他生成AI的使用。今天就开始使用 与 ,提升您AI驱动应用的搜索能力,更可靠的生成AI成果。


关于作者

![Jon删除) Jon Handler 是Amazon WebServices搜索服务的解决方案架构总监,位于加利福尼亚州帕洛阿尔托。Jon与OpenSearch和Amazon OpenSearchService密切合作,为广泛的客户提供与搜索和日志分析工作负载相关的帮助和指导。在加入AWS之前,Jon作为软件开发人员的职业生涯包括四年的大型电子商务搜索引擎编码工作。Jon获得了宾夕法尼亚大学的文学学士学位,以及西北大学的计算机科学与人工智能硕士学位和博士学位。

Leave a Reply

Required fields are marked *