Hi Sergei, I first tried M=15 and EF=50 then M=30 and EF=100 and the latter appears to work better search results wise - I haven't measured/compared perf against itself or Chroma yet. Thanks again! On Thu, 30 Jan 2025 at 17:20, Sergei Golubchik <serg@mariadb.org> wrote:
Hi, Vishal,
Better to observe a bit. I'd expect different HNSW implementations to behave somewhat similarly, but not identically. That is, your values from Chroma could be a good starting point, but might need some tweaking.
MariaDB uses a modified version of HNSW that generally produces better recall than the original algorithm. This difference becomes larger as M inceases.
What M values do you use?
On Jan 30, Vishal Rao via discuss wrote:
Hello,
I'm replacing the use of Chroma with MariaDB as the vector store and the Chroma code sets the ef_search parameter to a value of 50.
My question is, to achieve "similar results" with the MariaDB vector store will setting ef_search to 50 here as well have the intended effect?
Or is there no relation between the actual values across implementations and I need to experiment/test to observe how MariaDB performs to arrive at an appropriate value for it?
Thank you.
Regards, Sergei Chief Architect, MariaDB Server and security@mariadb.org
-- "The World is a book, and those who do not travel read only a page." - St. Augustine.