Skip to main content

Argument parsing with structured class.

Project description

ReRanker

ReRanker for hybrid retrieval.

For end-to-end text query service, check qtext.

Ranking

  • rank(query: str, docs: list[str])
  • rank(docs: list[Record])
    • time decay with expressions
    • title n-gram with bm25
    • content n-gram with bm25
    • document boost with expressions
    • title embedding with content embedding
    • title keywords with content keywords
    • combination of the above features

Services

You can start all the service with the following command:

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

Installation

pip install reranker

Usage

If you need the cross-encoder model service, you can start the server with the following command:

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

If you need the semantic highlight service, you can start the server with the following command:

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),
        ),
    ]
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reranker-0.2.3.tar.gz (15.7 kB view hashes)

Uploaded Source

Built Distribution

reranker-0.2.3-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page