> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lancedb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Answer.AI Rerankers

> Use AnswerDotAI's lightweight reranking library with LanceDB. Features unified API for common reranking models, configurable model selection, and comprehensive scoring options.

# Answer.AI Rerankers

This integration uses [AnswersDotAI's rerankers](https://github.com/AnswerDotAI/rerankers) to rerank the search results, providing a lightweight, low-dependency, unified API to use all common reranking and cross-encoder models.

> **Note:** Supported query types – Hybrid, Vector, and FTS.

import lancedb
from lancedb.embeddings import get\_registry
from lancedb.pydantic import LanceModel, Vector
from lancedb.rerankers import AnswerdotaiRerankers

embedder = get\_registry().get("sentence-transformers").create()
db = lancedb.connect("\~/.lancedb")

class Schema(LanceModel):
&#x20;   text: str = embedder.SourceField()
&#x20;   vector: Vector(embedder.ndims()) = embedder.VectorField()

data = \[
&#x20;   \{"text": "hello world"},
&#x20;   \{"text": "goodbye world"},
]
tbl = db.create\_table("test", schema=Schema, mode="overwrite")
tbl.add(data)
reranker = AnswerdotaiRerankers()

\# Run vector search with a reranker
result = tbl.search("hello").rerank(reranker=reranker).to\_list()

\# Run FTS search with a reranker
result = tbl.search("hello", query\_type="fts").rerank(reranker=reranker).to\_list()

\# Run hybrid search with a reranker
tbl.create\_fts\_index("text", replace=True)
result = (
&#x20;   tbl.search("hello", query\_type="hybrid").rerank(reranker=reranker).to\_list()
)


## Accepted Arguments

| Argument | Type | Default | Description |
| - | - | - | - |
| `model_type` | `str` | `"colbert"` | The type of model to use. Supported model types can be found here: [https://github.com/AnswerDotAI/rerankers](https://github.com/AnswerDotAI/rerankers). |
| `model_name` | `str` | `"answerdotai/answerai-colbert-small-v1"` | The name of the reranker model to use. |
| `column` | `str` | `"text"` | The name of the column to use as input to the cross encoder model. |
| `return_score` | `str` | `"relevance"` | Options are "relevance" or "all". The type of score to return. If "relevance", will return only the \`\_relevance\_score. If "all" is supported, will return relevance score along with the vector and/or fts scores depending on query type. |

## Supported Scores for each query type

You can specify the type of scores you want the reranker to return. The following are the supported scores for each query type:

### Hybrid Search

| `return_score` | Status | Description |
| - | - | - |
| `relevance` | ✅ Supported | Results only have the `_relevance_score` column. |
| `all` | ❌ Not Supported | Results have vector(`_distance`) and FTS(`score`) along with Hybrid Search score(`_relevance_score`). |

### Vector Search

| `return_score` | Status | Description |
| - | - | - |
| `relevance` | ✅ Supported | Results only have the `_relevance_score` column. |
| `all` | ✅ Supported | Results have vector(`_distance`) along with Hybrid Search score(`_relevance_score`). |

### FTS Search

| `return_score` | Status | Description |
| - | - | - |
| `relevance` | ✅ Supported | Results only have the `_relevance_score` column. |
| `all` | ✅ Supported | Results have FTS(`score`) along with Hybrid Search score(`_relevance_score`). |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.