Skip to content

Commit 645bab4

Browse files
committed
rename k to limit
1 parent d985f22 commit 645bab4

File tree

4 files changed

+55
-55
lines changed

4 files changed

+55
-55
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ await vec.search([1.0, 9.0])
8484
You can specify the number of records to return.
8585

8686
``` python
87-
await vec.search([1.0, 9.0], k=1)
87+
await vec.search([1.0, 9.0], limit=1)
8888
```
8989

9090
[<Record id=UUID('1bd6a985-a837-4742-a007-d8a785e7089f') metadata={'action': 'jump', 'animal': 'fox'} contents='jumped over the' embedding=array([ 1. , 10.8], dtype=float32) distance=0.00016793422934946456>]
9191

9292
You can also specify a filter on the metadata as a simple dictionary
9393

9494
``` python
95-
await vec.search([1.0, 9.0], k=1, filter={"action": "jump"})
95+
await vec.search([1.0, 9.0], limit=1, filter={"action": "jump"})
9696
```
9797

9898
[<Record id=UUID('1bd6a985-a837-4742-a007-d8a785e7089f') metadata={'action': 'jump', 'animal': 'fox'} contents='jumped over the' embedding=array([ 1. , 10.8], dtype=float32) distance=0.00016793422934946456>]
@@ -101,7 +101,7 @@ You can also specify a list of filter dictionaries, where an item is
101101
returned if it matches any dict
102102

103103
``` python
104-
await vec.search([1.0, 9.0], k=2, filter=[{"action": "jump"}, {"animal": "fox"}])
104+
await vec.search([1.0, 9.0], limit=2, filter=[{"action": "jump"}, {"animal": "fox"}])
105105
```
106106

107107
[<Record id=UUID('1bd6a985-a837-4742-a007-d8a785e7089f') metadata={'action': 'jump', 'animal': 'fox'} contents='jumped over the' embedding=array([ 1. , 10.8], dtype=float32) distance=0.00016793422934946456>,
@@ -110,7 +110,7 @@ await vec.search([1.0, 9.0], k=2, filter=[{"action": "jump"}, {"animal": "fox"}]
110110
You can access the fields as follows
111111

112112
``` python
113-
records = await vec.search([1.0, 9.0], k=1, filter={"action": "jump"})
113+
records = await vec.search([1.0, 9.0], limit=1, filter={"action": "jump"})
114114
records[0][client.SEARCH_RESULT_ID_IDX]
115115
```
116116

nbs/00_vector.ipynb

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@
247247
"\n",
248248
" return (where, params) \n",
249249
"\n",
250-
" def search_query(self, query_embedding: Optional[List[float]], k: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None) -> Tuple[str, List]:\n",
250+
" def search_query(self, query_embedding: Optional[List[float]], limit: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None) -> Tuple[str, List]:\n",
251251
" \"\"\"\n",
252252
" Generates a similarity query.\n",
253253
"\n",
@@ -278,8 +278,8 @@
278278
" WHERE \n",
279279
" {where}\n",
280280
" {order_by_clause}\n",
281-
" LIMIT {k}\n",
282-
" '''.format(distance=distance, order_by_clause=order_by_clause, where=where, table_name=self._quote_ident(self.table_name), k=k)\n",
281+
" LIMIT {limit}\n",
282+
" '''.format(distance=distance, order_by_clause=order_by_clause, where=where, table_name=self._quote_ident(self.table_name), limit=limit)\n",
283283
" return (query, params)"
284284
]
285285
},
@@ -510,15 +510,15 @@
510510
"\n",
511511
" async def search(self, \n",
512512
" query_embedding: Optional[List[float]] = None, # vector to search for\n",
513-
" k: int=10, # The number of nearest neighbors to retrieve. Default is 10.\n",
513+
" limit: int=10, # The number of nearest neighbors to retrieve. Default is 10.\n",
514514
" filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None): # A filter for metadata. Default is None.\n",
515515
" \"\"\"\n",
516516
" Retrieves similar records using a similarity query.\n",
517517
"\n",
518518
" Returns:\n",
519519
" List: List of similar records.\n",
520520
" \"\"\"\n",
521-
" (query, params) = self.builder.search_query(query_embedding, k, filter)\n",
521+
" (query, params) = self.builder.search_query(query_embedding, limit, filter)\n",
522522
" async with await self.connect() as pool:\n",
523523
" return await pool.fetch(query, *params)"
524524
]
@@ -627,7 +627,7 @@
627627
"\n",
628628
"### Async.search\n",
629629
"\n",
630-
"> Async.search (query_embedding:Optional[List[float]]=None, k:int=10,\n",
630+
"> Async.search (query_embedding:Optional[List[float]]=None, limit:int=10,\n",
631631
"> filter:Union[Dict[str,str],List[Dict[str,str]],NoneType]=No\n",
632632
"> ne)\n",
633633
"\n",
@@ -643,7 +643,7 @@
643643
"\n",
644644
"### Async.search\n",
645645
"\n",
646-
"> Async.search (query_embedding:Optional[List[float]]=None, k:int=10,\n",
646+
"> Async.search (query_embedding:Optional[List[float]]=None, limit:int=10,\n",
647647
"> filter:Union[Dict[str,str],List[Dict[str,str]],NoneType]=No\n",
648648
"> ne)\n",
649649
"\n",
@@ -718,28 +718,28 @@
718718
"\n",
719719
"rec = await vec.search([1.0, 2.0])\n",
720720
"assert len(rec) == 10\n",
721-
"rec = await vec.search([1.0, 2.0], k=4)\n",
721+
"rec = await vec.search([1.0, 2.0], limit=4)\n",
722722
"assert len(rec) == 4\n",
723-
"rec = await vec.search(k=4)\n",
723+
"rec = await vec.search(limit=4)\n",
724724
"assert len(rec) == 4\n",
725-
"rec = await vec.search([1.0, 2.0], k=4, filter={\"key2\":\"val2\"})\n",
725+
"rec = await vec.search([1.0, 2.0], limit=4, filter={\"key2\":\"val2\"})\n",
726726
"assert len(rec) == 1\n",
727-
"rec = await vec.search([1.0, 2.0], k=4, filter={\"key2\":\"does not exist\"})\n",
727+
"rec = await vec.search([1.0, 2.0], limit=4, filter={\"key2\":\"does not exist\"})\n",
728728
"assert len(rec) == 0\n",
729-
"rec = await vec.search([1.0, 2.0], k=4, filter={\"key_1\":\"val_1\"})\n",
729+
"rec = await vec.search([1.0, 2.0], limit=4, filter={\"key_1\":\"val_1\"})\n",
730730
"assert len(rec) == 1\n",
731731
"rec = await vec.search([1.0, 2.0], filter={\"key_1\":\"val_1\", \"key_2\":\"val_2\"})\n",
732732
"assert len(rec) == 1\n",
733-
"rec = await vec.search([1.0, 2.0], k=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
733+
"rec = await vec.search([1.0, 2.0], limit=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
734734
"assert len(rec) == 0\n",
735-
"rec = await vec.search(k=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
735+
"rec = await vec.search(limit=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
736736
"assert len(rec) == 0\n",
737-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
737+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
738738
"assert len(rec) == 2\n",
739-
"rec = await vec.search(k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
739+
"rec = await vec.search(limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
740740
"assert len(rec) == 2\n",
741741
"\n",
742-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}, {\"no such key\": \"no such val\"}])\n",
742+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}, {\"no such key\": \"no such val\"}])\n",
743743
"assert len(rec) == 2\n",
744744
"\n",
745745
"assert isinstance(rec[0][SEARCH_RESULT_METADATA_IDX], dict)\n",
@@ -764,18 +764,18 @@
764764
"except BaseException as e:\n",
765765
" pass\n",
766766
"\n",
767-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
767+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
768768
"assert len(rec) == 2\n",
769769
"await vec.delete_by_ids([rec[0][SEARCH_RESULT_ID_IDX]])\n",
770-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
770+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
771771
"assert len(rec) == 1\n",
772772
"await vec.delete_by_metadata([{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
773-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
773+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
774774
"assert len(rec) == 0\n",
775-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key2\":\"val\"}])\n",
775+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key2\":\"val\"}])\n",
776776
"assert len(rec) == 4\n",
777777
"await vec.delete_by_metadata([{\"key2\":\"val\"}])\n",
778-
"rec = await vec.search([1.0, 2.0], k=4, filter=[{\"key2\":\"val\"}])\n",
778+
"rec = await vec.search([1.0, 2.0], limit=4, filter=[{\"key2\":\"val\"}])\n",
779779
"assert len(rec) == 0\n",
780780
"\n",
781781
"assert not await vec.table_is_empty()\n",
@@ -1020,7 +1020,7 @@
10201020
" with conn.cursor() as cur:\n",
10211021
" cur.execute(query)\n",
10221022
"\n",
1023-
" def search(self, query_embedding: Optional[List[float]]=None, k: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None):\n",
1023+
" def search(self, query_embedding: Optional[List[float]]=None, limit: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None):\n",
10241024
" \"\"\"\n",
10251025
" Retrieves similar records using a similarity query.\n",
10261026
"\n",
@@ -1035,7 +1035,7 @@
10351035
" if query_embedding is not None:\n",
10361036
" query_embedding = np.array(query_embedding)\n",
10371037
" \n",
1038-
" (query, params) = self.builder.search_query(query_embedding, k, filter)\n",
1038+
" (query, params) = self.builder.search_query(query_embedding, limit, filter)\n",
10391039
" query, params = self._translate_to_pyformat(query, params)\n",
10401040
" with self.connect() as conn:\n",
10411041
" with conn.cursor() as cur:\n",
@@ -1153,7 +1153,7 @@
11531153
"\n",
11541154
"### Sync.search\n",
11551155
"\n",
1156-
"> Sync.search (query_embedding:Optional[List[float]]=None, k:int=10,\n",
1156+
"> Sync.search (query_embedding:Optional[List[float]]=None, limit:int=10,\n",
11571157
"> filter:Union[Dict[str,str],List[Dict[str,str]],NoneType]=Non\n",
11581158
"> e)\n",
11591159
"\n",
@@ -1174,7 +1174,7 @@
11741174
"\n",
11751175
"### Sync.search\n",
11761176
"\n",
1177-
"> Sync.search (query_embedding:Optional[List[float]]=None, k:int=10,\n",
1177+
"> Sync.search (query_embedding:Optional[List[float]]=None, limit:int=10,\n",
11781178
"> filter:Union[Dict[str,str],List[Dict[str,str]],NoneType]=Non\n",
11791179
"> e)\n",
11801180
"\n",
@@ -1257,27 +1257,27 @@
12571257
"assert len(rec) == 10\n",
12581258
"rec = vec.search(np.array([1.0, 2.0]))\n",
12591259
"assert len(rec) == 10\n",
1260-
"rec = vec.search([1.0, 2.0], k=4)\n",
1260+
"rec = vec.search([1.0, 2.0], limit=4)\n",
12611261
"assert len(rec) == 4\n",
1262-
"rec = vec.search(k=4)\n",
1262+
"rec = vec.search(limit=4)\n",
12631263
"assert len(rec) == 4\n",
1264-
"rec = vec.search([1.0, 2.0], k=4, filter={\"key2\":\"val2\"})\n",
1264+
"rec = vec.search([1.0, 2.0], limit=4, filter={\"key2\":\"val2\"})\n",
12651265
"assert len(rec) == 1\n",
1266-
"rec = vec.search([1.0, 2.0], k=4, filter={\"key2\":\"does not exist\"})\n",
1266+
"rec = vec.search([1.0, 2.0], limit=4, filter={\"key2\":\"does not exist\"})\n",
12671267
"assert len(rec) == 0\n",
1268-
"rec = vec.search(k=4, filter={\"key2\":\"does not exist\"})\n",
1268+
"rec = vec.search(limit=4, filter={\"key2\":\"does not exist\"})\n",
12691269
"assert len(rec) == 0\n",
1270-
"rec = vec.search([1.0, 2.0], k=4, filter={\"key_1\":\"val_1\"})\n",
1270+
"rec = vec.search([1.0, 2.0], limit=4, filter={\"key_1\":\"val_1\"})\n",
12711271
"assert len(rec) == 1\n",
12721272
"rec = vec.search([1.0, 2.0], filter={\"key_1\":\"val_1\", \"key_2\":\"val_2\"})\n",
12731273
"assert len(rec) == 1\n",
1274-
"rec = vec.search([1.0, 2.0], k=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
1274+
"rec = vec.search([1.0, 2.0], limit=4, filter={\"key_1\":\"val_1\", \"key_2\":\"val_3\"})\n",
12751275
"assert len(rec) == 0\n",
12761276
"\n",
1277-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
1277+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
12781278
"assert len(rec) == 2\n",
12791279
"\n",
1280-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}, {\"no such key\": \"no such val\"}])\n",
1280+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}, {\"no such key\": \"no such val\"}])\n",
12811281
"assert len(rec) == 2\n",
12821282
"\n",
12831283
"try:\n",
@@ -1306,18 +1306,18 @@
13061306
"assert isinstance(rec[0][SEARCH_RESULT_METADATA_IDX], dict)\n",
13071307
"assert rec[0][SEARCH_RESULT_DISTANCE_IDX] == 0.0009438353921149556\n",
13081308
"\n",
1309-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
1309+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
13101310
"len(rec) == 2\n",
13111311
"vec.delete_by_ids([rec[0][SEARCH_RESULT_ID_IDX]])\n",
1312-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
1312+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
13131313
"assert len(rec) == 1\n",
13141314
"vec.delete_by_metadata([{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
1315-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
1315+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key_1\":\"val_1\"}, {\"key2\":\"val2\"}])\n",
13161316
"assert len(rec) == 0\n",
1317-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key2\":\"val\"}])\n",
1317+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key2\":\"val\"}])\n",
13181318
"assert len(rec) == 4\n",
13191319
"vec.delete_by_metadata([{\"key2\":\"val\"}])\n",
1320-
"rec = vec.search([1.0, 2.0], k=4, filter=[{\"key2\":\"val\"}])\n",
1320+
"rec = vec.search([1.0, 2.0], limit=4, filter=[{\"key2\":\"val\"}])\n",
13211321
"len(rec) == 0\n",
13221322
"\n",
13231323
"assert not vec.table_is_empty()\n",

nbs/index.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
}
236236
],
237237
"source": [
238-
"await vec.search([1.0, 9.0], k=1)"
238+
"await vec.search([1.0, 9.0], limit=1)"
239239
]
240240
},
241241
{
@@ -263,7 +263,7 @@
263263
}
264264
],
265265
"source": [
266-
"await vec.search([1.0, 9.0], k=1, filter={\"action\": \"jump\"})"
266+
"await vec.search([1.0, 9.0], limit=1, filter={\"action\": \"jump\"})"
267267
]
268268
},
269269
{
@@ -292,7 +292,7 @@
292292
}
293293
],
294294
"source": [
295-
"await vec.search([1.0, 9.0], k=2, filter=[{\"action\": \"jump\"}, {\"animal\": \"fox\"}])"
295+
"await vec.search([1.0, 9.0], limit=2, filter=[{\"action\": \"jump\"}, {\"animal\": \"fox\"}])"
296296
]
297297
},
298298
{
@@ -320,7 +320,7 @@
320320
}
321321
],
322322
"source": [
323-
"records = await vec.search([1.0, 9.0], k=1, filter={\"action\": \"jump\"})\n",
323+
"records = await vec.search([1.0, 9.0], limit=1, filter={\"action\": \"jump\"})\n",
324324
"records[0][client.SEARCH_RESULT_ID_IDX]"
325325
]
326326
},

timescale_vector/client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def _where_clause_for_filter(self, params: List, filter: Optional[Union[Dict[str
172172

173173
return (where, params)
174174

175-
def search_query(self, query_embedding: Optional[List[float]], k: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None) -> Tuple[str, List]:
175+
def search_query(self, query_embedding: Optional[List[float]], limit: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None) -> Tuple[str, List]:
176176
"""
177177
Generates a similarity query.
178178
@@ -203,8 +203,8 @@ def search_query(self, query_embedding: Optional[List[float]], k: int=10, filter
203203
WHERE
204204
{where}
205205
{order_by_clause}
206-
LIMIT {k}
207-
'''.format(distance=distance, order_by_clause=order_by_clause, where=where, table_name=self._quote_ident(self.table_name), k=k)
206+
LIMIT {limit}
207+
'''.format(distance=distance, order_by_clause=order_by_clause, where=where, table_name=self._quote_ident(self.table_name), limit=limit)
208208
return (query, params)
209209

210210
# %% ../nbs/00_vector.ipynb 11
@@ -375,15 +375,15 @@ async def create_ivfflat_index(self, num_records=None):
375375

376376
async def search(self,
377377
query_embedding: Optional[List[float]] = None, # vector to search for
378-
k: int=10, # The number of nearest neighbors to retrieve. Default is 10.
378+
limit: int=10, # The number of nearest neighbors to retrieve. Default is 10.
379379
filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None): # A filter for metadata. Default is None.
380380
"""
381381
Retrieves similar records using a similarity query.
382382
383383
Returns:
384384
List: List of similar records.
385385
"""
386-
(query, params) = self.builder.search_query(query_embedding, k, filter)
386+
(query, params) = self.builder.search_query(query_embedding, limit, filter)
387387
async with await self.connect() as pool:
388388
return await pool.fetch(query, *params)
389389

@@ -601,7 +601,7 @@ def create_ivfflat_index(self, num_records=None):
601601
with conn.cursor() as cur:
602602
cur.execute(query)
603603

604-
def search(self, query_embedding: Optional[List[float]]=None, k: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None):
604+
def search(self, query_embedding: Optional[List[float]]=None, limit: int=10, filter: Optional[Union[Dict[str, str], List[Dict[str, str]]]] = None):
605605
"""
606606
Retrieves similar records using a similarity query.
607607
@@ -616,7 +616,7 @@ def search(self, query_embedding: Optional[List[float]]=None, k: int=10, filter:
616616
if query_embedding is not None:
617617
query_embedding = np.array(query_embedding)
618618

619-
(query, params) = self.builder.search_query(query_embedding, k, filter)
619+
(query, params) = self.builder.search_query(query_embedding, limit, filter)
620620
query, params = self._translate_to_pyformat(query, params)
621621
with self.connect() as conn:
622622
with conn.cursor() as cur:

0 commit comments

Comments
 (0)