重新排名#

介绍#

Rerank 是一种语义搜索工具,通过基于语义的重新排序系统提高搜索质量,该系统可以超越关键词相关性,将用户查询的含义置于上下文中。此工具最适合与查找工具一起使用,作为初始检索后的排序器。当前支持的排序方法列表如下。

名称

描述

BM25

BM25 是一种开源的排名算法,用于衡量文档与给定查询的相关性

Scaled Score Fusion

Scaled Score Fusion 计算一个缩放的相关性分数。

Cohere Rerank

Cohere Rerank 是市场上领先的重新排序模型,用于语义搜索和检索增强生成(RAG)。

需求#

  • 对于AzureML用户,该工具已安装在默认镜像中,您无需额外安装即可使用该工具。

  • 对于本地用户,

    pip install promptflow-vectordb

先决条件#

BM25和Scaled Score Fusion作为默认的重新排序方法被包含在内。要使用cohere重新排序模型,您应该创建到该模型的无服务器部署,并按照以下方式在工具和资源之间建立连接。

  • 添加无服务器模型连接。填写“API基础”和“API密钥”字段以连接到您的无服务器部署。

输入#

名称

类型

描述

是否必需

query

string

与您的输入文档相关的问题

Yes

ranker_parameters

string

使用的排名方法的类型

Yes

result_groups

object

需要重新排序的文档块列表。通常这是从lookup输出的

top_k

int

返回的相关文档的最大数量

No

输出#

返回类型

描述

文本

实体的文本

metadata

元数据,如文件路径和URL

additional_fields

元数据和重新排名分数

Output
[
  {
      "text": "sample text",
      "metadata":
      {
          "filepath": "sample_file_path",
          "metadata_json_string": "meta_json_string"
          "title": "",
          "url": ""
      },
      "additional_fields":
      {
          "filepath": "sample_file_path",
          "metadata_json_string": "meta_json_string"
          "title": "",
          "url": "",
          "@promptflow_vectordb.reranker_score": 0.013795365
      }
  }
]