From 0a93f540a4844b674d0f7845598d49de22badce2 Mon Sep 17 00:00:00 2001 From: Gatefixer <313497061+lancedb-gatefixer[bot]@users.noreply.github.com> Date: Sat, 8 Aug 2026 11:51:46 +0000 Subject: [PATCH] docs(nodejs): correct LangChain result handling --- docs/src/js/README.md | 30 ++++++++++++++++++++++++++++++ nodejs/README.md | 19 ++++++++++++++----- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/docs/src/js/README.md b/docs/src/js/README.md index 286a0de17..1a6030162 100644 --- a/docs/src/js/README.md +++ b/docs/src/js/README.md @@ -34,6 +34,36 @@ const results = await table.vectorSearch([0.1, 0.3]).limit(20).toArray(); console.log(results); ``` +### Use an Existing Table with LangChain + +When wrapping an existing table with `@langchain/community`, open the table +with LanceDB and pass the resulting table handle to LangChain. The LangChain +`uri` and `tableName` options are used when creating a table; they do not open +an existing table for search. + +```javascript +import { LanceDB as LangChainLanceDB } from "@langchain/community/vectorstores/lancedb"; +import * as lancedb from "@lancedb/lancedb"; + +const db = await lancedb.connect("data/sample-lancedb"); +const table = await db.openTable("my_table"); +const vectorStore = new LangChainLanceDB(embeddings, { + table, + textKey: "item", +}); + +const documents = await vectorStore.similaritySearch("foo", 5); +``` + +Affected versions of `@langchain/community` do not map LanceDB's `_distance` +column to the score returned by `similaritySearchVectorWithScore`. Query the +table directly when you need the numeric vector distance: + +```javascript +const results = await table.vectorSearch(queryVector).limit(5).toArray(); +console.log(results[0]._distance); +``` + The [quickstart](https://docs.lancedb.com/quickstart/) contains more complete examples. ## Development diff --git a/nodejs/README.md b/nodejs/README.md index 6c368cba8..dc3ccb52f 100644 --- a/nodejs/README.md +++ b/nodejs/README.md @@ -43,12 +43,21 @@ import * as lancedb from "@lancedb/lancedb"; const db = await lancedb.connect("data/sample-lancedb"); const table = await db.openTable("my_table"); -const vectorStore = new LangChainLanceDB(embeddings, { table }); +const vectorStore = new LangChainLanceDB(embeddings, { + table, + textKey: "item", +}); -const results = await vectorStore.similaritySearchVectorWithScore( - queryVector, - 5, -); +const documents = await vectorStore.similaritySearch("foo", 5); +``` + +Affected versions of `@langchain/community` do not map LanceDB's `_distance` +column to the score returned by `similaritySearchVectorWithScore`. Query the +table directly when you need the numeric vector distance: + +```javascript +const results = await table.vectorSearch(queryVector).limit(5).toArray(); +console.log(results[0]._distance); ``` The [quickstart](https://docs.lancedb.com/quickstart/) contains more complete examples.