|
@@ -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
|