我们很高兴地宣布推出连贯性先进的重新排名模型 Rerank 3.5 通过我们的新重新排序API在亚马逊基岩中。这种强大的重新排名模型使 AWS 客户能够显着提高其搜索相关性和内容排名能力。此模型也可供 Amazon Bedrock 知识库用户使用。通过将 Cohere 的 Rerank 3.5 纳入 Amazon Bedrock,我们使企业级搜索技术更易于使用,并使组织能够通过最少的基础设施管理来增强其信息检索系统。
在这篇文章中,我们将讨论 Reranking 的必要性、Cohere 的 Rerank 3.5 的功能以及如何开始在 Amazon Bedrock 上使用它。
重新排序以进行高级检索
重新排名是一个重要的增强检索增强生成 (RAG)系统添加了复杂的第二层分析,以提高搜索结果的相关性,超越传统矢量搜索所能达到的水平。与依赖于预先计算的静态向量的嵌入模型不同,重新排序器对文档相关性执行动态查询时分析,从而实现更细致的上下文匹配。这一功能使 RAG 系统能够有效地平衡广泛的文档检索和精确的上下文选择,最终从语言模型中获得更准确、更可靠的输出,同时减少出现幻觉的可能性。
现有的搜索系统可以通过提供更多上下文相关的结果来直接影响用户满意度和业务成果,从而从重新排名技术中受益匪浅。与传统的关键字匹配或基本向量搜索不同,重新排名执行智能的第二遍分析,考虑多种因素,包括语义、用户意图和业务规则,以优化搜索结果排序。具体来说,在电子商务中,重新排名可以通过了解搜索查询和产品属性之间的细微关系来帮助显示最相关的产品,同时还结合转化率和库存水平等关键业务指标。这种先进的相关性优化可以改善产品发现、提高转化率并提高整个数字商务平台的客户满意度,从而使重新排名成为任何现代企业搜索基础设施的重要组成部分。
推出 Cohere Rerank 3.5
Cohere 的 Rerank 3.5 旨在增强搜索和 RAG 系统。这种智能交叉编码模型将查询和潜在相关文档列表作为输入,然后返回按与查询的语义相似度排序的文档。Cohere Rerank 3.5 擅长理解需要推理的复杂信息,能够理解企业数据和用户问题背后的含义。它能够理解和分析 100 多种语言的企业数据和用户问题,包括阿拉伯语、中文、英语、法语、德语、印地语、日语、韩语、葡萄牙语、俄语和西班牙语,这使得它对于以下行业的全球组织特别有价值:金融、医疗保健、酒店、能源、政府和制造业。
Cohere Rerank 3.5 的主要优势之一是其易于实施。通过单一重新排序API在 Amazon Bedrock 中调用,您可以将 Rerank 大规模集成到现有系统中,无论是基于关键字的还是基于语义的。重新排名严格改进了标准文本检索基准上的第一阶段检索。
Cohere Rerank 3.5 是金融领域的最新技术,如下图所示。
Cohere Rerank 3.5 在电子商务领域也是最先进的,如下图所示。Cohere 的电子商务基准围绕各种产品的检索,包括时尚、电子产品、食品等。
产品被构造为键值对格式的字符串,如下所示:
– 标题 –: – 标题 –– 描述 –: – 详细描述 – – 类型 –:<一些分类数据> 等等......
Cohere Rerank 3.5 在酒店业方面也表现出色,如下图所示。酒店基准围绕着酒店体验和住宿选择的检索。
文档被构造为键值对格式的字符串,如下所示:
– 房源标题 –: – 多伦多的出租单元 – – 位置 –: – 171 John Street, Toronto, Ontario, Canada –– 描述 –: – 逃离我们宁静的别墅,欣赏令人惊叹的市中心景色...... –
我们发现所有类型的问题跟踪任务的项目管理绩效都有显着提升,如下图所示。
Cohere 的项目管理基准涵盖各种检索任务,例如:
- 从各种项目管理和问题跟踪软件工具中搜索工程票据
- 搜索流行开源存储库上的 GitHub 问题
开始使用 Cohere Rerank 3.5
要开始将 Cohere Rerank 3.5 与 Rerank API 和 Amazon Bedrock 知识库结合使用,请导航至亚马逊基岩控制台,然后单击模型访问在左侧窗格中。点击修改访问权限,选择 Cohere Rerank 3.5,单击下一步并点击提交。
开始使用 Amazon Bedrock Rerank API
Cohere Rerank 3.5 模型由 Amazon Bedrock Rerank API 提供支持,允许您直接根据输入文档与用户查询的语义相关性对输入文档进行重新排名,而无需预先配置的知识库。灵活性使其成为适用于各种用例的强大工具。
首先,通过导入必要的库并初始化 Boto3 客户端来设置您的环境:
导入boto3导入 json区域 = boto3.Session().region_namebedrock_agent_runtime = boto3.client('bedrock-agent-runtime',region_name=region)modelId =“cohere.rerank-v3-5:0”model_package_arn = f"arn:aws:bedrock:{region}::foundation-model/{modelId}â
接下来,定义一个主函数,通过根据用户查询计算相关性分数来重新排序文本文档列表:
def rerank_text(text_query, text_sources, num_results, model_package_arn):响应 = bedrock_agent_runtime.rerank(查询=[{“类型”:“文本”,“文本查询”:{“文本”:text_query}}],来源=文本来源,重新排名配置={“类型”:“BEDROCK_RERANKING_MODEL”,“基岩重新排名配置”:{“结果数”:结果数,“模型配置”:{“modelArn”:model_package_arn,}}})返回响应['结果']
例如,想象一个场景,您需要识别与从多语言数据集中返回项目相关的电子邮件。下面的例子演示了这个过程:
example_query = "哪些电子邮件是关于退货的?"文件=[“Hola,llevo una horaintando acceder a micuenta y sigue diciendo que mi contraseña es Correcta。¿Puede ayudarme,谢谢?”,“您好,我最近从您的网站购买了产品,但从未收到确认电子邮件。您能帮我查一下吗?”,
“ÙرØØ¡ÙØ§Ø ÙØй٠سؤا٠ØÙÙ Ø3ÙاØ3Ø© إرØØاØ1 Ùذا اÙÙªÙتØØ´。
اشترÙت٠Ùش٠شضØ1Ø© Ø£Ø3اشÙØ1 ÙÙÙ ÙØ1ÙØ´",
“早上好,过去一周我一直在尝试联系您的客户支持团队,但我一直收到占线信号。您能帮助我吗?”,
“你好,这是我的 Frage zu meiner letzten Bestellung。我是 falschen Artikel erhalten und muss ihn zurückschicken。”,“您好,过去一小时我一直在尝试联系您的客户支持团队,但我一直收到忙音。您能帮我吗?”,
“您好,我对该产品的退货政策有疑问。我几周前购买了它,但它有缺陷。”,
”
ä¸ä¸ªé®éм¤ãææ¶å°äºéè´´çåå",
“您好,我对这款产品的退货政策有疑问。我几周前购买了它,但它有缺陷。”]
现在,准备将传递到的文本源列表重新排序文本()功能:
文本来源 = []对于文档中的文本:text_sources.append({
- “类型”:“内联”,“内联文档源”:{“类型”:“文本”,“文本文档”:{“文本”:文本,
- }}})
- 然后您可以调用
- 重新排序文本()
- 通过指定用户查询、文本资源、所需的排名靠前的结果数量以及模型 ARN:
响应 = rerank_text(example_query, text_sources, 3, model_package_arn)打印(响应)Amazon Bedrock Rerank API 与 Cohere Rerank 3.5 针对此查询生成的输出为:
- [{'index': 4, 'relevanceScore': 0.1122397780418396},
- {'索引':8,'relevanceScore':0.07777658104896545},{'索引':2,'相关性分数':0.0770234540104866}]API 提供的相关性分数被标准化为 [0, 1] 范围,分数越高表示与查询的相关性越高。
- 这里是 5th
- 文件列表中的项目是最相关的。(从德语翻译成英语:您好,我对我上次的订单有疑问。我收到了错误的商品,需要退货。)您还可以开始使用 Cohere Rerank 3.5
亚马逊基岩知识库通过完成以下步骤:在 Amazon Bedrock 控制台中,选择
知识库
在下面
建造者工具
在导航窗格中。选择创建知识库。
提供您的知识库详细信息,例如名称、权限和数据源。要配置数据源,请指定数据的位置。选择嵌入模型以将数据转换为矢量嵌入,并让 Amazon Bedrock 在您的账户中创建矢量存储来存储矢量数据。
当您选择此选项(仅在 Amazon Bedrock 控制台中可用)时,Amazon Bedrock 将在
亚马逊 OpenSearch 无服务器(默认情况下)在您的帐户中,无需您自己管理任何内容。
检查您的设置并创建您的知识库。在 Amazon Bedrock 控制台中,选择您的知识库并选择