mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-17 09:12:28 +00:00
This PR is part of the documentation revamp. Once the full set of PRs is merged, we’ll publish the combined site to staging for review before updating docs.lancedb.com. Ingestion, search and integration examples are incomplete or inconsistent across languages, and some guidance misstates SDK behavior. This brings the guides and their example sources together. It includes complete Python, TypeScript and Rust workflows, isolated provider and reranker examples, the Superlinked corrections, and guidance on retries that can duplicate writes. Stacked on #4491. Each MDX file has one PR owner. Rebase onto main after #4491 is squash-merged. Local assembly, Mint validation and link checks pass. Example code is unchanged from the previously validated package. Publication stays held through integration.
55 lines
2.7 KiB
Plaintext
55 lines
2.7 KiB
Plaintext
---
|
||
title: OpenAI Reranker (Experimental)
|
||
sidebarTitle: "OpenAI"
|
||
description: Explore experimental search reranking using OpenAI's GPT models in LanceDB. Features configurable model selection, API key management, and comprehensive scoring options for all search types.
|
||
|
||
---
|
||
|
||
import { PyRerankingOpenaiUsage } from '/snippets/provider_examples.mdx';
|
||
|
||
# OpenAI Reranker (Experimental)
|
||
|
||
This reranker uses OpenAI chat model to rerank the search results. You can use this reranker by passing `OpenAI()` to the `rerank()` method.
|
||
> **Note:** Supported query types – Hybrid, Vector, and FTS.
|
||
|
||
> **Warning:** This reranker is experimental. OpenAI does not have a dedicated reranking model, so it uses a chat model under the hood.
|
||
|
||
Replace `your-api-key` with your provider API key. In application code, load
|
||
credentials from environment variables or a secrets manager.
|
||
|
||
<CodeGroup>
|
||
<CodeBlock filename="Python" language="Python" icon="python">
|
||
{PyRerankingOpenaiUsage}
|
||
</CodeBlock>
|
||
</CodeGroup>
|
||
|
||
## Accepted Arguments {#accepted-arguments}
|
||
| Argument | Type | Default | Description |
|
||
| --- | --- | --- | --- |
|
||
| `model_name` | `str` | `"gpt-4-turbo-preview"` | 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. |
|
||
| `api_key` | `str` | `None` | The API key to use. If None, will use the OPENAI_API_KEY environment variable.
|
||
|
||
|
||
## Supported Scores for each 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 {#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 {#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 {#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`). |
|