Enhance search results with ColBERT’s contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.
This reranker uses ColBERT model to rerank the search results. You can use this reranker by passing ColbertReranker() to the rerank() method.
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 ColbertReranker
embedder = get_registry().get("sentence-transformers").create()
db = lancedb.connect("~/.lancedb")
class Schema(LanceModel):
text: str = embedder.SourceField()
vector: Vector(embedder.ndims()) = embedder.VectorField()
data = [
{"text": "hello world"},
{"text": "goodbye world"},
]
tbl = db.create_table("test", schema=Schema, mode="overwrite")
tbl.add(data)
reranker = ColbertReranker()
# 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 = (
tbl.search("hello", query_type="hybrid").rerank(reranker=reranker).to_list()
)
The name of the column to use as input to the cross encoder model.
device
str
None
The device to use for the cross encoder model. If None, will use “cuda” if available, otherwise “cpu”.
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.
Results have FTS(score) along with Hybrid Search score(_relevance_score).
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LanceDB","colors":{"primary":"#FF6B35","light":"#FF8A5C","dark":"#E55A2B"},"logo":{"light":"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/dark-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=d0592e59a29df2477080a857e13e341f","dark":"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/light-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=519956514d5529517daa4cb1f3d35392","href":"https://lancedb.com"},"favicon":"https://mintcdn.com/lancedb-bcbb4faf/0sS6vrpmM3KSVyss/static/favicon.ico?fit=max\u0026auto=format\u0026n=0sS6vrpmM3KSVyss\u0026q=85\u0026s=84b9ea3dfc312b7a4dfc99219e229b33","appearance":{"strict":false},"background":{"color":{"light":"#FAF5F0","dark":"#000000"}},"navbar":{"links":[{"href":"https://www.lancedb.com/contact","label":"Support"}]},"footer":{"socials":{"github":"https://github.com/lancedb","linkedin":"https://www.linkedin.com/company/lancedb","x":"https://x.com/lancedb","discord":"https://discord.gg/AUEWnJ7Txb"},"links":[{"items":[{"label":"Cookie settings","href":"#cookie-settings"}]}]},"fonts":{"family":"Inter"},"styling":{"codeblocks":{"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}},"latex":true},"integrations":{"ga4":{"measurementId":"G-1TMC2PR69E"}},"banner":{"content":"[Why Multimodal Data Needs a Better Lakehouse? — Download the Research Study](https://lancedb.com/download/)","dismissible":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lancedb-bcbb4faf","hasAudioNarration":false,"actualSubdomain":"lancedb-bcbb4faf","customDomains":["docs.lancedb.com"],"gitSource":{"type":"github","owner":"lancedb","repo":"docs","deployBranch":"deploy-freeze","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad1ba1060c5abd76761bca2","collectionId":"f5c9f0e7-4822-4807-b59f-14a5f6599ae7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad1ba1060c5abd76761bca2"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad1ba1060c5abd76761bca2","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":112},{"language":"default","tag":"Documentation","count":97},{"language":"default","tag":"Integrations","count":76},{"language":"default","tag":"REST API","count":55},{"language":"default","tag":"Table","count":44},{"language":"default","tag":"Guides","count":41},{"language":"default","tag":"Feature Engineering (Geneva)","count":34},{"language":"default","tag":"Datasets","count":32},{"language":"default","tag":"Tutorials","count":16},{"language":"default","tag":"Embedding Providers","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"static/styles/style.css","content":":root{--banner-left:#e4d8f8;--banner-right:#e55a2b}@font-face{font-family:\"LanceDB KaTeX AMS\";src:url(https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\");font-display:swap;font-style:normal;font-weight:400}.katex .mathbb,.katex .textbb{font-family:\"LanceDB KaTeX AMS\",\"KaTeX_AMS\",serif!important}#banner,:where(.banner, [data-banner], [class*=\"Banner_banner\"]){background:linear-gradient(90deg,var(--banner-left) 0%,var(--banner-right) 100%)!important;color:#1b0f09!important;border:0!important}#banner a,:where(.banner, [data-banner], [class*=\"Banner_banner\"]) a{color:#1b0f09!important;font-size:.9rem;font-weight:500;text-decoration-color:rgba(27,15,9,.35)}#banner button,:where(.banner, [data-banner], [class*=\"Banner_banner\"]) button{color:#1b0f09!important}"}],"page":{"pagePath":"integrations/reranking/colbert","slug":"/integrations/reranking/colbert","pageMetadata":{"title":"ColBERT Reranker","sidebarTitle":"ColBERT","description":"Enhance search results with ColBERT's contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.","href":"/integrations/reranking/colbert"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Enhance search results with ColBERT’s contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const PyRerankingColbertUsage=`import lancedb\nfrom lancedb.embeddings import get_registry\nfrom lancedb.pydantic import LanceModel, Vector\nfrom lancedb.rerankers import ColbertReranker\n\nembedder = get_registry().get(\"sentence-transformers\").create()\ndb = lancedb.connect(\"~/.lancedb\")\n\nclass Schema(LanceModel):\n text: str = embedder.SourceField()\n vector: Vector(embedder.ndims()) = embedder.VectorField()\n\ndata = [\n {\"text\": \"hello world\"},\n {\"text\": \"goodbye world\"},\n]\ntbl = db.create_table(\"test\", schema=Schema, mode=\"overwrite\")\ntbl.add(data)\nreranker = ColbertReranker()\n\n# Run vector search with a reranker\nresult = tbl.search(\"hello\").rerank(reranker=reranker).to_list()\n\n# Run FTS search with a reranker\nresult = tbl.search(\"hello\", query_type=\"fts\").rerank(reranker=reranker).to_list()\n\n# Run hybrid search with a reranker\ntbl.create_fts_index(\"text\", replace=True)\nresult = (\n tbl.search(\"hello\", query_type=\"hybrid\").rerank(reranker=reranker).to_list()\n)\n`;function _createMdxContent(props){const _components={blockquote:`blockquote`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`colbert-reranker`,children:`ColBERT Reranker`}),`\n`,_jsxs(_components.p,{children:[`This reranker uses ColBERT model to rerank the search results. You can use this reranker by passing `,_jsx(_components.code,{children:`ColbertReranker()`}),` to the `,_jsx(_components.code,{children:`rerank()`}),` method.`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Note:`}),` Supported query types – Hybrid, Vector, and FTS.`]}),`\n`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,language:`Python`,icon:`python`,children:PyRerankingColbertUsage})}),`\n`,_jsx(Heading,{level:`2`,id:`accepted-arguments`,children:`Accepted Arguments`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Argument`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`model_name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`str`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"colbert-ir/colbertv2.0\"`})}),_jsx(_components.td,{children:`The name of the reranker model to use.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`column`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`str`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"text\"`})}),_jsx(_components.td,{children:`The name of the column to use as input to the cross encoder model.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`device`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`str`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`None`})}),_jsx(_components.td,{children:`The device to use for the cross encoder model. If None, will use “cuda” if available, otherwise “cpu”.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`return_score`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`str`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"relevance\"`})}),_jsx(_components.td,{children:\"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.\"})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-scores-for-each-query-type`,children:`Supported Scores for each query type`}),`\n`,_jsx(_components.p,{children:`You can specify the type of scores you want the reranker to return. The following are the supported scores for each query type:`}),`\n`,_jsx(Heading,{level:`3`,id:`hybrid-search`,children:`Hybrid Search`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`return_score`})}),_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`relevance`})}),_jsx(_components.td,{children:`✅ Supported`}),_jsxs(_components.td,{children:[`Results only have the `,_jsx(_components.code,{children:`_relevance_score`}),` column.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all`})}),_jsx(_components.td,{children:`❌ Not Supported`}),_jsxs(_components.td,{children:[`Results have vector(`,_jsx(_components.code,{children:`_distance`}),`) and FTS(`,_jsx(_components.code,{children:`score`}),`) along with Hybrid Search score(`,_jsx(_components.code,{children:`_relevance_score`}),`).`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`vector-search`,children:`Vector Search`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`return_score`})}),_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`relevance`})}),_jsx(_components.td,{children:`✅ Supported`}),_jsxs(_components.td,{children:[`Results only have the `,_jsx(_components.code,{children:`_relevance_score`}),` column.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all`})}),_jsx(_components.td,{children:`✅ Supported`}),_jsxs(_components.td,{children:[`Results have vector(`,_jsx(_components.code,{children:`_distance`}),`) along with Hybrid Search score(`,_jsx(_components.code,{children:`_relevance_score`}),`).`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`fts-search`,children:`FTS Search`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`return_score`})}),_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`relevance`})}),_jsx(_components.td,{children:`✅ Supported`}),_jsxs(_components.td,{children:[`Results only have the `,_jsx(_components.code,{children:`_relevance_score`}),` column.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all`})}),_jsx(_components.td,{children:`✅ Supported`}),_jsxs(_components.td,{children:[`Results have FTS(`,_jsx(_components.code,{children:`score`}),`) along with Hybrid Search score(`,_jsx(_components.code,{children:`_relevance_score`}),`).`]})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{PyRerankingColbertUsage,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"ColBERT Reranker","sidebarTitle":"ColBERT","description":"Enhance search results with ColBERT's contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.","href":"/integrations/reranking/colbert"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[158,1123,"undefined;function _"],[2230,2268,"_jsx(_components.p,{children:`import lancedb\nfrom lancedb.embeddings import get_registry\nfrom lancedb.pydantic import LanceModel, Vector\nfrom lancedb.rerankers import ColbertReranker\n\nembedder = get_registry().get(\"sentence-transformers\").create()\ndb = lancedb.connect(\"~/.lancedb\")\n\nclass Schema(LanceModel):\ntext: str = embedder.SourceField()\nvector: Vector(embedder.ndims()) = embedder.VectorField()\n\ndata = [\n{\"text\": \"hello world\"},\n{\"text\": \"goodbye world\"},\n]\ntbl = db.create_table(\"test\", schema=Schema, mode=\"overwrite\")\ntbl.add(data)\nreranker = ColbertReranker()\n\n# Run vector search with a reranker\nresult = tbl.search(\"hello\").rerank(reranker=reranker).to_list()\n\n# Run FTS search with a reranker\nresult = tbl.search(\"hello\", query_type=\"fts\").rerank(reranker=reranker).to_list()\n\n# Run hybrid search with a reranker\ntbl.create_fts_index(\"text\", replace=True)\nresult = (\ntbl.search(\"hello\", query_type=\"hybrid\").rerank(reranker=reranker).to_list()\n)\n`})})}),`\n`,_jsx(H"]]},"mdxExtracts":{"tableOfContents":[{"title":"ColBERT Reranker","slug":"colbert-reranker","depth":1,"children":[]},{"title":"Accepted Arguments","slug":"accepted-arguments","depth":2,"children":[]},{"title":"Supported Scores for each query type","slug":"supported-scores-for-each-query-type","depth":2,"children":[{"title":"Hybrid Search","slug":"hybrid-search","depth":3,"children":[]},{"title":"Vector Search","slug":"vector-search","depth":3,"children":[]},{"title":"FTS Search","slug":"fts-search","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lancedb-bcbb4faf/71b64c20a8f631b3/static/scripts/cookie-consent.js"],"subdomain":"lancedb-bcbb4faf","siteName":"LanceDB","title":"ColBERT Reranker - LanceDB","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-29T03:00:44.634Z","originalFileLocation":"integrations/reranking/colbert.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Enhance search results with ColBERT\u0026#x27;s contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LanceDB\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"ColBERT Reranker - LanceDB\">\u003cmeta data-mint-head property=\"og:description\" content=\"Enhance search results with ColBERT\u0026#x27;s contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LanceDB\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lancedb.com/integrations/reranking/colbert\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lancedb-bcbb4faf.mintlify.app/_mintlify/api/og/v2?division=Rerankers\u0026amp;title=ColBERT+Reranker\u0026amp;description=Enhance+search+results+with+ColBERT%27s+contextual+reranking+in+LanceDB.+Features+efficient+model+deployment%2C+device+optimization%2C+and+flexible+scoring+options+fo\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=6fca80c7e4c7bb4f91c5da2bc061cdf1aeffe53f614aed58bdc80542d6035b51\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"ColBERT Reranker - LanceDB\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Enhance search results with ColBERT\u0026#x27;s contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lancedb-bcbb4faf.mintlify.app/_mintlify/api/og/v2?division=Rerankers\u0026amp;title=ColBERT+Reranker\u0026amp;description=Enhance+search+results+with+ColBERT%27s+contextual+reranking+in+LanceDB.+Features+efficient+model+deployment%2C+device+optimization%2C+and+flexible+scoring+options+fo\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=6fca80c7e4c7bb4f91c5da2bc061cdf1aeffe53f614aed58bdc80542d6035b51\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LanceDB\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF6B35\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lancedb.com/integrations/reranking/colbert\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/reranking/colbert.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lancedb.com/#organization\",\"name\":\"LanceDB\",\"url\":\"https://docs.lancedb.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/dark-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=d0592e59a29df2477080a857e13e341f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lancedb.com#website\",\"name\":\"LanceDB\",\"url\":\"https://docs.lancedb.com\",\"publisher\":{\"@id\":\"https://docs.lancedb.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lancedb.com/integrations/reranking/colbert#webpage\",\"url\":\"https://docs.lancedb.com/integrations/reranking/colbert\",\"name\":\"ColBERT Reranker\",\"description\":\"Enhance search results with ColBERT's contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\",\"dateModified\":\"2026-01-29T03:00:44.634Z\",\"isPartOf\":{\"@id\":\"https://docs.lancedb.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lancedb.com/integrations/reranking/colbert#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lancedb.com/integrations/reranking/colbert#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.lancedb.com/integrations/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rerankers\",\"item\":\"https://docs.lancedb.com/integrations/reranking/answerdotai\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ColBERT Reranker\",\"item\":\"https://docs.lancedb.com/integrations/reranking/colbert\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.lancedb.com/integrations/reranking/colbert#article\",\"headline\":\"ColBERT Reranker\",\"name\":\"ColBERT Reranker\",\"description\":\"Enhance search results with ColBERT's contextual reranking in LanceDB. Features efficient model deployment, device optimization, and flexible scoring options for vector, FTS, and hybrid search.\",\"url\":\"https://docs.lancedb.com/integrations/reranking/colbert\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lancedb.com/integrations/reranking/colbert#webpage\"},\"dateModified\":\"2026-01-29T03:00:44.634Z\",\"publisher\":{\"@id\":\"https://docs.lancedb.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lancedb.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LanceDB\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LanceDB","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/quickstart"}]},{"tab":"Integrations","groups":[{"group":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","href":"/integrations"},{"group":"Embedding Providers","pages":[{"title":"Hugging Face","sidebarTitle":"Hugging Face","href":"/integrations/embedding/huggingface"},{"title":"AWS Bedrock","sidebarTitle":"AWS","href":"/integrations/embedding/aws"},{"title":"Cohere","sidebarTitle":"Cohere","href":"/integrations/embedding/cohere"},{"title":"ColPali","sidebarTitle":"ColPali","href":"/integrations/embedding/colpali"},{"title":"Gemini","sidebarTitle":"Gemini","href":"/integrations/embedding/gemini"},{"title":"IBM watsonx","sidebarTitle":"IBM WatsonX","href":"/integrations/embedding/ibm"},{"title":"ImageBind","sidebarTitle":"ImageBind","href":"/integrations/embedding/imagebind"},{"title":"Instructor","sidebarTitle":"Instructor","href":"/integrations/embedding/instructor"},{"title":"Jina","sidebarTitle":"Jina","href":"/integrations/embedding/jina"},{"title":"Ollama","sidebarTitle":"Ollama","href":"/integrations/embedding/ollama"},{"title":"OpenAI","sidebarTitle":"OpenAI","href":"/integrations/embedding/openai"},{"title":"OpenCLIP","sidebarTitle":"OpenCLIP","href":"/integrations/embedding/openclip"},{"title":"Sentence Transformers","sidebarTitle":"Sentence Transformers","href":"/integrations/embedding/sentence-transformers"},{"title":"VoyageAI","sidebarTitle":"VoyageAI","href":"/integrations/embedding/voyageai"},{"title":"Superlinked","sidebarTitle":"Superlinked","href":"/integrations/embedding/superlinked"}]},{"group":"Rerankers","pages":[{"title":"Answer.AI Rerankers","sidebarTitle":"Answer.AI","href":"/integrations/reranking/answerdotai"},{"title":"Cohere Reranker","sidebarTitle":"Cohere","description":"Integrate Cohere's powerful reranking API with LanceDB for enhanced search results. Supports English and multilingual models with configurable scoring options for vector, FTS, and hybrid search.","href":"/integrations/reranking/cohere"},{"title":"ColBERT Reranker","sidebarTitle":"ColBERT","href":"/integrations/reranking/colbert"},{"title":"Jina Reranker","sidebarTitle":"Jina AI","description":"Integrate Jina's multilingual reranking API with LanceDB for improved search results. Features model selection, API key management, and flexible scoring options for all search types.","href":"/integrations/reranking/jina"},{"title":"OpenAI Reranker (Experimental)","sidebarTitle":"OpenAI","href":"/integrations/reranking/openai"},{"title":"VoyageAI Reranker","sidebarTitle":"Voyage AI","href":"/integrations/reranking/voyageai"},{"title":"Watsonx Reranker","sidebarTitle":"IBM watsonx.ai","href":"/integrations/reranking/watsonx"}]},{"group":"Data Platforms \u0026 Frameworks","expanded":true,"pages":[{"title":"Pydantic","sidebarTitle":"Pydantic","href":"/integrations/data/pydantic"},{"title":"DuckDB","sidebarTitle":"DuckDB","href":"/integrations/data/duckdb"},{"title":"Pandas and PyArrow","sidebarTitle":"Pandas \u0026 PyArrow","href":"/integrations/data/pandas_and_pyarrow"},{"title":"Polars","sidebarTitle":"Polars \u0026 Arrow","href":"/integrations/data/polars_arrow"},{"title":"dlt","sidebarTitle":"DLT","href":"/integrations/data/dlt"},{"title":"Voxel51","sidebarTitle":"Voxel51","href":"/integrations/data/voxel51"}]},{"group":"AI Platforms \u0026 Frameworks","expanded":true,"pages":[{"title":"Agno","sidebarTitle":"Agno","href":"/integrations/ai/agno"},{"title":"Hermes Agent","sidebarTitle":"Hermes Agent","href":"/integrations/ai/hermes-agent"},{"title":"Hugging Face Hub","sidebarTitle":"Hugging Face","href":"/integrations/ai/huggingface"},{"title":"LangChain","sidebarTitle":"LangChain","href":"/integrations/ai/langchain"},{"title":"LlamaIndex","sidebarTitle":"LlamaIndex","href":"/integrations/ai/llamaIndex"},{"title":"GenKit","sidebarTitle":"GenKit","href":"/integrations/ai/genkit"},{"title":"Kiln AI","sidebarTitle":"Kiln","href":"/integrations/ai/kiln"},{"title":"PromptTools","sidebarTitle":"PromptTools","href":"/integrations/ai/prompttools"},{"title":"Meta Llama Synthetic Data Kit","sidebarTitle":"Synthetic Data Kit","href":"/integrations/ai/synthetic-data-kit"}]}]}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorials"}]},{"tab":"Demos","pages":[{"title":"Demos","href":"/demos"}]},{"tab":"Datasets","pages":[{"title":"Datasets","href":"/datasets"}]},{"tab":"Use Cases","pages":[{"title":"Use Cases","href":"/integrations/lerobotdataset"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference"}]}]},"title":"ColBERT Reranker - LanceDB","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CJDb0dYK.js","dist-Cv_O2fky.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BGBGWFTt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}