重排序器

CohereReranker

class CohereReranker(model='rerank-english-v3.0', rank_by=None, limit=5, return_score=True, api_config=None)

基类: BaseReranker

CohereReranker 类使用 Cohere 的 API 根据输入查询对文档进行重排序。

此重排序器旨在与 Cohere 的 /rerank API 交互,需要 API 密钥进行身份验证。密钥可以直接在 api_config 字典中提供,也可以通过 COHERE_API_KEY 环境变量提供。用户必须从 Cohere 网站 (https://dashboard.cohere.com/) 获取 API 密钥。此外,必须使用 pip install cohere 安装 cohere Python 客户端。

from redisvl.utils.rerank import CohereReranker

# set up the Cohere reranker with some configuration
reranker = CohereReranker(rank_by=["content"], limit=2)
# rerank raw search results based on user input/query
results = reranker.rank(
    query="your input query text here",
    docs=[
        {"content": "document 1"},
        {"content": "document 2"},
        {"content": "document 3"}
    ]
)

使用指定的模型、排序标准和 API 配置初始化 CohereReranker。

  • 参数
    • model (str) – 用于重排序的 Cohere 模型标识符。默认为 'rerank-english-v3.0'。
    • rank_by (Optional [ List [ str ] ]) – 可选的键列表,用于指定文档中应考虑排序的属性。None 表示排序将依赖模型的默认行为。
    • limit (int) – 重排序后返回的最大结果数。必须是正整数。
    • return_score (bool) – 是否在重排序结果中返回分数。
    • api_config (Optional [ Dict ] , optional) – 包含 API 密钥的字典。默认为 None。
  • 抛出
    • ImportError – 如果未安装 cohere 库。
    • ValueError – 如果未提供 API 密钥。

async arank(query, docs, **kwargs)

使用 Cohere 重排序 API 根据提供的查询异步重排序文档。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[Union[List[Dict[str, Any]], List[str]], float], List[Dict[str, Any]]]

model_post_init(context, /)

此函数旨在像 BaseModel 方法一样,用于初始化私有属性。

它接受 context 作为参数,因为这是 pydantic-core 调用它时传递的内容。

  • 参数
    • self (BaseModel) – BaseModel 实例。
    • context (Any) – 上下文。
  • 返回类型: None

rank(query, docs, **kwargs)

使用 Cohere 重排序 API 根据提供的查询异步重排序文档。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[Union[List[Dict[str, Any]], List[str]], float], List[Dict[str, Any]]]

model_config: ClassVar[ConfigDict] = {}

模型的配置,应是符合 [ConfigDict][pydantic.config.ConfigDict] 的字典。

HFCrossEncoderReranker

class HFCrossEncoderReranker(model='cross-encoder/ms-marco-MiniLM-L-6-v2', limit=3, return_score=True, *, rank_by=None)

基类: BaseReranker

HFCrossEncoderReranker 类使用 Hugging Face 的交叉编码器模型根据输入查询对文档进行重排序。

此重排序器使用 sentence_transformers 库中的 CrossEncoder 类加载交叉编码器模型。它需要安装 sentence_transformers 库。

from redisvl.utils.rerank import HFCrossEncoderReranker

# set up the HFCrossEncoderReranker with a specific model
reranker = HFCrossEncoderReranker(model_name="cross-encoder/ms-marco-MiniLM-L-6-v2", limit=3)
# rerank raw search results based on user input/query
results = reranker.rank(
    query="your input query text here",
    docs=[
        {"content": "document 1"},
        {"content": "document 2"},
        {"content": "document 3"}
    ]
)

使用指定的模型和排序标准初始化 HFCrossEncoderReranker。

  • 参数
    • model (str) – 用于重排序的交叉编码器模型的名称或路径。默认为 'cross-encoder/ms-marco-MiniLM-L-6-v2'。
    • limit (int) – 重排序后返回的最大结果数。必须是正整数。
    • return_score (bool) – 是否在重排序结果中返回分数。
    • rank_by (List [ str ] | None)

async arank(query, docs, **kwargs)

使用已加载的交叉编码器模型根据提供的查询异步重排序文档。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[List[Dict[str, Any]], List[float]], List[Dict[str, Any]]]

model_post_init(context, /)

此函数旨在像 BaseModel 方法一样,用于初始化私有属性。

它接受 context 作为参数,因为这是 pydantic-core 调用它时传递的内容。

  • 参数
    • self (BaseModel) – BaseModel 实例。
    • context (Any) – 上下文。
  • 返回类型: None

rank(query, docs, **kwargs)

使用已加载的交叉编码器模型根据提供的查询重排序文档。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[List[Dict[str, Any]], List[float]], List[Dict[str, Any]]]

model_config: ClassVar[ConfigDict] = {}

模型的配置,应是符合 [ConfigDict][pydantic.config.ConfigDict] 的字典。

VoyageAIReranker

class VoyageAIReranker(model, rank_by=None, limit=5, return_score=True, api_config=None)

基类: BaseReranker

VoyageAIReranker 类使用 VoyageAI 的 API 根据输入查询对文档进行重排序。

此重排序器旨在与 VoyageAI 的 /rerank API 交互,需要 API 密钥进行身份验证。密钥可以直接在 api_config 字典中提供,也可以通过 VOYAGE_API_KEY 环境变量提供。用户必须从 VoyageAI 网站 (https://dash.voyageai.com/) 获取 API 密钥。此外,必须使用 pip install voyageai 安装 voyageai Python 客户端。

from redisvl.utils.rerank import VoyageAIReranker

# set up the VoyageAI reranker with some configuration
reranker = VoyageAIReranker(rank_by=["content"], limit=2)
# rerank raw search results based on user input/query
results = reranker.rank(
    query="your input query text here",
    docs=[
        {"content": "document 1"},
        {"content": "document 2"},
        {"content": "document 3"}
    ]
)

使用指定的模型、排序标准和 API 配置初始化 VoyageAIReranker。

  • 参数
    • model (str) – 用于重排序的 VoyageAI 模型标识符。
    • rank_by (Optional [ List [ str ] ]) – 可选的键列表,用于指定文档中应考虑排序的属性。None 表示排序将依赖模型的默认行为。
    • limit (int) – 重排序后返回的最大结果数。必须是正整数。
    • return_score (bool) – 是否在重排序结果中返回分数。
    • api_config (Optional [ Dict ] , optional) – 包含 API 密钥的字典。默认为 None。
  • 抛出
    • ImportError – 如果未安装 voyageai 库。
    • ValueError – 如果未提供 API 密钥。

async arank(query, docs, **kwargs)

使用 VoyageAI 重排序 API 根据提供的查询对文档进行重排序。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[Union[List[Dict[str, Any]], List[str]], float], List[Dict[str, Any]]]

model_post_init(context, /)

此函数旨在像 BaseModel 方法一样,用于初始化私有属性。

它接受 context 作为参数,因为这是 pydantic-core 调用它时传递的内容。

  • 参数
    • self (BaseModel) – BaseModel 实例。
    • context (Any) – 上下文。
  • 返回类型: None

rank(query, docs, **kwargs)

使用 VoyageAI 重排序 API 根据提供的查询对文档进行重排序。

此方法处理用户的查询和提供的文档,以便按照可能与查询上下文更相关的方式对它们进行重排序。

  • 参数
    • query (str) – 用户的搜索查询。
    • docs (Union [ List [ Dict [ str , Any ] ] , List [ str ] ]) – 要排序的文档列表,可以是字典列表或字符串列表。
  • Returns: 重排序后的文档列表以及可选的相关分数。
  • 返回类型: Union[Tuple[Union[List[Dict[str, Any]], List[str]], float], List[Dict[str, Any]]]

model_config: ClassVar[ConfigDict] = {}

模型的配置,应是符合 [ConfigDict][pydantic.config.ConfigDict] 的字典。

评价此页面
返回顶部 ↑