Repository: erikbern/ann-benchmarks
Issue: How to run Ann-benchmarking for Milvus
Root cause: Documentation Deficiency

Hi Team,

After executing the python install.py, when I am executing the  " python3 run.py --dataset glove-100-angular --algorithm milvus " then getting below error:

downloading https://ann-benchmarks.com/glove-100-angular.hdf5 -> data/glove-100-angular.hdf5...
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1294, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1340, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1289, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1048, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 986, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1466, in connect
    self.sock = self._context.wrap_socket(self.sock,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 517, in wrap_socket
    return self.sslsocket_class._create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1108, in _create
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1383, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)

Can you please suggest on this ?

Regards,
Chetan Shah

Hi , Can anyone please suggest how to fix the error

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)

This works for me, both on Python 3.10 and Python 3.11. Can you access the file through a browser: https://ann-benchmarks.com/glove-100-angular.hdf5?

@maumueller  I am able to fix the error for certificate.

Now getting exception for milvus algo: so how can we fix this.

python3 run.py --dataset glove-25-angular --algorithm 'milvus'          
[Milvus] ******...
[Milvus] ******...milvus
2025-03-18 18:21:40,350 - annb - INFO - running only milvus
Traceback (most recent call last):
  File "/Users/chetan.shah01/ann-benchmarks/run.py", line 7, in <module>
    main()
  File "/Users/chetan.shah01/ann-benchmarks/ann_benchmarks/main.py", line 346, in main
    raise Exception("Nothing to run")
Exception: Nothing to run


@maumueller When I am executing it without mentioned any algo. then it is executing for weaviate algo., and getting Batch connection error.

2025-03-18 18:35:36,458 - annb.bc0af383ed9e - INFO - [ERROR] Batch ConnectionError Exception occurred! Retrying in 2s. [1/3]
2025-03-18 18:35:38,467 - annb.bc0af383ed9e - INFO - Embedded weaviate wasn't listening on port 6666, so starting embedded weaviate again



Did the install script report on successful installation? For example, what does `python install.py --algorithm milvus` report?

@maumueller It gives below output:


Install Status:
{'milvus': 'success'}


@maumueller locally I have installed Milvus-standalone using docker-compose so how to Ann-benchmark for milvus ?