跳转到主要内容

使用结构化类进行参数解析。

项目描述

ReRanker

混合检索的ReRanker。

对于端到端的文本查询服务,请查看 qtext

排序

  • rank(query: str, docs: list[str])
  • rank(docs: list[Record])
    • 带有表达式的衰减时间
    • 带有BM25的标题n-gram
    • 带有BM25的内容n-gram
    • 带有表达式的文档提升
    • 标题嵌入与内容嵌入
    • 标题关键词与内容关键词
    • 以上特征的组合

服务

您可以使用以下命令启动所有服务:

docker compose -f serving/compose.yaml up -d

安装

pip install reranker

用法

如果您需要交叉编码模型服务,您可以使用以下命令启动服务器:

docker compose -f serving/compose.yaml up -d encoder

如果您需要语义高亮服务,您可以使用以下命令启动服务器:

docker compose -f serving/compose.yaml up -d colbert
from datetime import datetime, timedelta
from reranker import ReRanker, CrossEncoderClient, TimeDecayRanker


reranker = ReRanker(
    steps=[
        CrossEncoderClient(
            model_name="cross-encoder/ms-marco-MiniLM-L-6-v2",
            addr="http://localhost:8000",
        ),
        TimeDecayRanker(decay_rate=0.5),
    ]
)

reranker.rank(
    query="What is the capital of France?",
    docs=[
        "Paris is the capital of France.",
        "The Eiffel Tower is in Paris.",
        "The Louvre is in Paris.",
    ],
)
reranker.rank(
    query=Record(
        text="What is the capital of France?",
        timestamp=datetime.now(),
    ),
    docs=[
        Record(
            text="Paris is the capital of France.",
            timestamp=datetime.now() - timedelta(days=1),
        ),
        Record(
            text="The Eiffel Tower is in Paris.",
            timestamp=datetime.now() - timedelta(days=2),
        ),
        Record(
            text="The Louvre is in Paris.",
            timestamp=datetime.now() - timedelta(days=3),
        ),
    ]
)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

reranker-0.2.3.tar.gz (15.7 kB 查看哈希值)

上传时间: 源代码

构建分发

reranker-0.2.3-py3-none-any.whl (9.8 kB 查看哈希值)

上传时间 Python 3

由以下提供支持