Skip to content

pqaidevteam/pqai-reranker

Repository files navigation

Python Linting: pylint Docker build: automated Code style: black GitHub license

PQAI Reranker

Service for (re)ranking documents.

Reranking is the process in which a relatively small number of (say a thousand) documents are ranked in order of their relevance to a query. The small number of documents are typically obtained by a coarse but fast searching technique from a large corpus. Reranking techniques are more accurate in terms of relevance judgement but not scalable for millions of documents.

For more detailed information, please refer to PQAI Wiki.

Routes

Method Endpoint Comments
POST /rerank Sort given documents w.r.t. their relevance to a given query
POST /score Return a similarity score for a query/doc pair

How to run?

From command line

  1. Clone this repository
  2. Download required assets and extract them to /assets directory
  3. Create a .env file using /env template and set environment variable values
  4. Create a virtual environment and install dependencies: pip install -r requirements.txt
  5. Make sure the encoder service is running and properly configured in .env file
  6. Run the service: python3 main.py

As docker container

  1. Clone this repository
  2. Create a .env file using /env template and set environment variable values
  3. Give execution permission to the deployment script: chmod +x deploy.sh
  4. Run deployment script: bash deploy.sh

License

The project is open-source under the MIT license.

Contribute

We welcome contributions.

To make a contribution, please follow these steps:

  1. Fork this repository.
  2. Create a new branch with a descriptive name
  3. Make the changes you want and add new tests, if needed
  4. Make sure all tests are passing
  5. Commit your changes
  6. Submit a pull request

Support

Please create an issue if you need help.