Skip to content

Commit e242160

Browse files
authored
Fix the wrong search result of the pgvector (#514)
Signed-off-by: SimFG <[email protected]>
1 parent 8f7d36a commit e242160

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

gptcache/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""gptcache version"""
2-
__version__ = "0.1.38"
2+
__version__ = "0.1.39"
33

44
from gptcache.config import Config
55
from gptcache.core import Cache

gptcache/manager/vector_data/pgvector.py

+1
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def search(self, data: np.ndarray, top_k: int = -1):
149149
).order_by(
150150
similarity
151151
).limit(top_k).all()
152+
search_result = [(r[0].id, r[1]) for r in search_result]
152153

153154
return search_result
154155

tests/unit_tests/manager/test_pgvector.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
class TestPgvector(unittest.TestCase):
1111
def test_normal(self):
1212
size = 1000
13-
dim = 512
13+
dim = 10
1414
top_k = 10
1515

1616
url = os.getenv("POSTGRES_URL", "postgresql://postgres:postgres@localhost:5432/postgres")
@@ -31,10 +31,12 @@ def test_normal(self):
3131
self.assertEqual(len(db.search(data[0])), top_k)
3232
db.mul_add([VectorData(id=size, data=data[0])])
3333
ret = db.search(data[0])
34-
self.assertIn(ret[0][1], [0, size])
35-
self.assertIn(ret[1][1], [0, size])
34+
print(ret)
35+
self.assertIn(ret[0][0], [0, size])
36+
self.assertIn(ret[1][0], [0, size])
3637
db.delete([0, 1, 2, 3, 4, 5, size])
3738
ret = db.search(data[0])
38-
self.assertNotIn(ret[0][1], [0, size])
39+
print(ret)
40+
self.assertNotIn(ret[0][0], [0, size])
3941
db.rebuild()
4042
db.close()

0 commit comments

Comments
 (0)