Przeglądaj źródła

feat: optimize weaviate error msg (#441)

John Wang 1 rok temu
rodzic
commit
951afcaaed

+ 10 - 6
api/core/index/vector_index/weaviate_vector_index.py

@@ -1,5 +1,6 @@
 from typing import Optional, cast
 from typing import Optional, cast
 
 
+import requests
 import weaviate
 import weaviate
 from langchain.embeddings.base import Embeddings
 from langchain.embeddings.base import Embeddings
 from langchain.schema import Document, BaseRetriever
 from langchain.schema import Document, BaseRetriever
@@ -34,12 +35,15 @@ class WeaviateVectorIndex(BaseVectorIndex):
 
 
         weaviate.connect.connection.has_grpc = False
         weaviate.connect.connection.has_grpc = False
 
 
-        client = weaviate.Client(
-            url=config.endpoint,
-            auth_client_secret=auth_config,
-            timeout_config=(5, 60),
-            startup_period=None
-        )
+        try:
+            client = weaviate.Client(
+                url=config.endpoint,
+                auth_client_secret=auth_config,
+                timeout_config=(5, 60),
+                startup_period=None
+            )
+        except requests.exceptions.ConnectionError:
+            raise ConnectionError("Vector database connection error")
 
 
         client.batch.configure(
         client.batch.configure(
             # `batch_size` takes an `int` value to enable auto-batching
             # `batch_size` takes an `int` value to enable auto-batching