raise MilvusException( pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:19530, illegal connection params or server unavailable)>
Closed this issue · 5 comments
G-walk commented
作者您好,我在运行cli.py
,并进行build
后发生如下错误,不知道该怎么解决:
(rag) milvus模式已选择
1.使用`build data/history_24/baihuasanguozhi.txt`来进行知识库构建。
2.已有索引可以使用`ask`进行提问, `-d`参数以debug模式进入。
3.删除已有索引可以使用`remove baihuasanguozhi.txt`。
(rag) build data/history_24/baihuabeiqishi.txt
Failed to create new connection using: 39375c90061c41bbbf6f84445f59016c
Traceback (most recent call last):
File "C:\MainStorage\Documents\history_rag-master\cli.py", line 120, in <module>
cli.run()
File "C:\MainStorage\Documents\history_rag-master\cli.py", line 53, in run
self.parse_input(command_text)
File "C:\MainStorage\Documents\history_rag-master\cli.py", line 65, in parse_input
self.build_index(path=commands[1], overwrite=False)
File "C:\MainStorage\Documents\history_rag-master\cli.py", line 92, in build_index
self._executor.build_index(path, overwrite)
File "C:\MainStorage\Documents\history_rag-master\executor.py", line 161, in build_index
vector_store = MilvusVectorStore(
^^^^^^^^^^^^^^^^^^
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\vector_stores\milvus\base.py", line 238, in __init__
self._milvusclient = MilvusClient(
^^^^^^^^^^^^^
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\milvus_client\milvus_client.py", line 53, in __init__
self._using = self._create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\milvus_client\milvus_client.py", line 639, in _create_connection
raise ex from ex
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\milvus_client\milvus_client.py", line 636, in _create_connection
connections.connect(using, user, password, db_name, token, uri=uri, **kwargs)
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\orm\connections.py", line 422, in connect
connect_milvus(**kwargs, user=user, password=password, token=token, db_name=db_name)
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\orm\connections.py", line 373, in connect_milvus
gh._wait_for_channel_ready(timeout=timeout)
File "C:\Users\jzh10\AppData\Local\Programs\Python\Python311\Lib\site-packages\pymilvus\client\grpc_handler.py", line 147, in _wait_for_channel_ready
raise MilvusException(
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:19530, illegal connection params or server unavailable)>
我运行docker ps
后发现Milvus服务应该是正常运行的:
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
22f1333ea424 milvusdb/milvus:v2.3.3 "/tini -- milvus run…" 2 hours ago Up 21 minutes (healthy) 0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp milvus-standalone
fd6c4b496655 quay.io/coreos/etcd:v3.5.5 "etcd -advertise-cli…" 2 hours ago Up 21 minutes (healthy) 2379-2380/tcp milvus-etcd
d1cf9deb640c minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" 2 hours ago Up 21 minutes (healthy) 0.0.0.0:9000-9001->9000-9001/tcp milvus-minio
wxywb commented
https://milvus.io/docs/v2.3.x/example_code.md
你能试一下这个吗,看一下直接连接milvus有没有问题?
G-walk commented
试了链接里的代码,直连似乎没什么问题:
python .\hello_milvus.py
=== start connecting to Milvus ===
Does collection hello_milvus exist in Milvus: False
=== Create collection `hello_milvus` ===
=== Start inserting entities ===
Number of entities in Milvus: 3001
=== Start Creating index IVF_FLAT ===
=== Start loading ===
=== Start searching based on vector similarity ===
hit: id: 2998, distance: 0.0, entity: {'random': 0.9728033590489911}, random field: 0.9728033590489911
hit: id: 999, distance: 0.09934990108013153, entity: {'random': 0.9519034206569449}, random field: 0.9519034206569449
hit: id: 1310, distance: 0.10135538130998611, entity: {'random': 0.26669865443188623}, random field: 0.26669865443188623
hit: id: 2999, distance: 0.0, entity: {'random': 0.02316334456872482}, random field: 0.02316334456872482
hit: id: 2502, distance: 0.13083189725875854, entity: {'random': 0.9289998713260136}, random field: 0.9289998713260136
hit: id: 2669, distance: 0.1590736359357834, entity: {'random': 0.6080847854541138}, random field: 0.6080847854541138
search latency = 0.2353s
=== Start querying with `random > 0.5` ===
query result:
-{'random': 0.6378742006852851, 'embeddings': [np.float32(0.8367804), np.float32(0.20963514), np.float32(0.6766955), np.float32(0.39746654), np.float32(0.8180806), np.float32(0.1201905), np.float32(0.9467144), np.float32(0.6947491)], 'pk': '0'}
search latency = 0.4097s
query pagination(limit=4):
[{'pk': '0', 'random': 0.6378742006852851}, {'pk': '100', 'random': 0.5763523024650556}, {'pk': '1000', 'random': 0.9425935891639464}, {'pk': '1001', 'random': 0.7893211256191387}]
query pagination(offset=1, limit=3):
[{'random': 0.5763523024650556, 'pk': '100'}, {'random': 0.9425935891639464, 'pk': '1000'}, {'random': 0.7893211256191387, 'pk': '1001'}]
=== Start hybrid searching with `random > 0.5` ===
hit: id: 2998, distance: 0.0, entity: {'random': 0.9728033590489911}, random field: 0.9728033590489911
hit: id: 999, distance: 0.09934990108013153, entity: {'random': 0.9519034206569449}, random field: 0.9519034206569449
hit: id: 1553, distance: 0.12913644313812256, entity: {'random': 0.7723335927084438}, random field: 0.7723335927084438
hit: id: 2502, distance: 0.13083189725875854, entity: {'random': 0.9289998713260136}, random field: 0.9289998713260136
hit: id: 2669, distance: 0.1590736359357834, entity: {'random': 0.6080847854541138}, random field: 0.6080847854541138
hit: id: 2628, distance: 0.1914074718952179, entity: {'random': 0.940077754658375}, random field: 0.940077754658375
search latency = 0.4089s
=== Start deleting with expr `pk in ["0" , "1"]` ===
query before delete by expr=`pk in ["0" , "1"]` -> result:
-{'random': 0.6378742006852851, 'embeddings': [np.float32(0.8367804), np.float32(0.20963514), np.float32(0.6766955), np.float32(0.39746654), np.float32(0.8180806), np.float32(0.1201905), np.float32(0.9467144), np.float32(0.6947491)], 'pk': '0'}
-{'random': 0.43925103574669633, 'embeddings': [np.float32(0.27875876), np.float32(0.95355743), np.float32(0.976228), np.float32(0.54545516), np.float32(0.16776836), np.float32(0.82360446), np.float32(0.65080017), np.float32(0.21096307)], 'pk': '1'}
query after delete by expr=`pk in ["0" , "1"]` -> result: []
=== Drop collection `hello_milvus` ===
G-walk commented
哦我找到问题在哪了,我使用的是windows powershell运行的cli.py
,因为途中有步骤需要连hugging face所以我给powershell设置了代理$env:HTTP_PROXY="xxxx"
,设置完代理后能连接上hugging face但是就连不上本地的milvus了。我之后试试用别的方式设置代理,看看能不能绕过这个问题。
感谢作者,不是你提供的直连方案我也找不出这个问题
wxywb commented
试试 export HF_ENDPOINT=https://hf-mirror.com
G-walk commented
这个可以,或者直接让代理绕过本地地址也行:
# os.environ['http_proxy'] = "<proxy>"
# os.environ['https_proxy'] = "<proxy>"
# os.environ['no_proxy'] = 'localhost,127.0.0.1'
另外访问太多hugging face好像会被ban ip……我直接把bge-base-zh-v1.5
和bge-reranker-large
下载到本地用了。
然后如果模型不用chatgpt换成国内的模型(比如qwen)的话就可以彻底告别代理了。
程序运行得很顺利,comment closed