Exposing limit parameter (#73)

This commit is contained in:
gsilvestrin
2023-05-11 09:12:06 -07:00
committed by GitHub
parent 5bb5b0a685
commit 648f8123ca
4 changed files with 22 additions and 6 deletions

View File

@@ -1,13 +1,12 @@
{
"name": "vectordb",
"version": "0.0.1",
"version": "0.0.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "vectordb",
"version": "0.0.1",
"hasInstallScript": true,
"version": "0.0.6",
"license": "Apache-2.0",
"dependencies": {
"@apache-arrow/ts": "^12.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "vectordb",
"version": "0.0.5",
"version": "0.0.6",
"description": " Serverless, low-latency vector database for AI applications",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -78,7 +78,7 @@ export class Table {
* Create a search query to find the nearest neighbors of the given query vector.
* @param queryVector The query vector.
*/
search(queryVector: number[]): Query {
search (queryVector: number[]): Query {
return new Query(this._tbl, queryVector)
}
}
@@ -89,7 +89,7 @@ export class Table {
export class Query {
private readonly _tbl: any
private readonly _query_vector: number[]
private readonly _limit: number
private _limit: number
private readonly _refine_factor?: number
private readonly _nprobes: number
private readonly _columns?: string[]
@@ -106,6 +106,14 @@ export class Query {
this._where = undefined
}
set limit (value: number) {
this._limit = value
}
get limit (): number {
return this._limit
}
/**
* Execute the query and return the results as an Array of Objects
*/

View File

@@ -66,6 +66,15 @@ describe('LanceDB client', function () {
assert.approximately(results[0].vector[0], 3.1, 0.1)
assert.approximately(results[0].vector[1], 4.1, 0.1)
})
it('limits # of results', async function () {
const table = await tablePromise
const builder = table.search([0.1, 0.3])
builder.limit = 1
const results = await builder.execute() as MyResult[]
assert.equal(results.length, 1)
})
})
})
})