Comments (9)
What did you mean different result
? Are you using /query
endpoint to find the most relevant item?
from annlite.
yes. I'm using /query to find the most relevant item, But I get different topk relevant results everytime I reload my database with the same query
from annlite.
I believe this could be reasonable given the non-deterministic nature of the underlying HNSW algorithm.
from annlite.
Can u provide a small example showing the specific problem?
from annlite.
Yes. I think the HNSW is the reason, But I haven't proved it yet. I'll post some example tomorrow, thanks for the reply
from annlite.
So basically my annlite query endpoint gives top10 relevant documents index like [1, 2, 3 ,4 ,5 ,6, 7, 8, 9, 10] .After I stop the flow and reboot it, It gives top10 relevant documents index like [1, 2, 3, 4, 12, 6, 7, 8, 9,10] and I didn't change any config. Perhaps It has something to do with my bootup. Log says I'm building annlite index from scratch every time I run my code. I do saw a snapshot_path to load previous state index, but I don't know how to set it.
from annlite.
HNSW will be rebuilt every time if you didn't dump the index, so the result might be slight different. Could you try dump the indexer and then load and search?
from annlite.
Yes I'll try, thx. Still I have one more question. Assuming that Query-A has top3 most relevant documents [1,2,3] and Query-B has top3 most relevant documents [5,6,7], I run Query-A with correct result [1,2,3] and Query-B with wrong result [5,8,7] and after reload annlite without dumped indexer I get Query-A with wrong result [1, 4, 3] Query-B with correct result [5, 6, 7]. They both change. So I haven't found a way to make them both right. Is this also a HNSW feature?
from annlite.
NVM, I check the documents and solved it . closing it now
from annlite.
Related Issues (20)
- Support for 16 bit quantization HOT 2
- Support Lucene backend via PyLucene HOT 1
- fix: links to documentation are broken HOT 2
- RuntimeError: wrong dimensionality of the vectors HOT 5
- RuntimeError: cannot return results
- add dump/backup endpoints
- Support for Mac with Apple Silicon HOT 1
- Can annlite be accelerated? HOT 4
- AttributeError: 'builtins.WriteOptions' object has no attribute 'set_sync' HOT 2
- annlite wrong filter name bug HOT 1
- Delete in executor does not works HOT 11
- Update does not work in annlite executor HOT 31
- Link missing in README.md HOT 2
- (bug)ID mismatch between hnsw and sqlite HOT 1
- ImportError in tests directory HOT 2
- 支持gpu? HOT 1
- AttributeError: 'builtins.WriteOptions' object has no attribute 'set_sync' HOT 1
- docarray extend is very slow HOT 6
- snapshot's index_hash has wrong value when deleting only HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from annlite.