|
|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
from typing import Optional, cast
|
|
|
|
|
|
|
|
|
|
import requests
|
|
|
|
|
import weaviate
|
|
|
|
|
from langchain.embeddings.base import Embeddings
|
|
|
|
|
from langchain.schema import Document, BaseRetriever
|
|
|
|
|
@ -34,12 +35,15 @@ class WeaviateVectorIndex(BaseVectorIndex):
|
|
|
|
|
|
|
|
|
|
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(
|
|
|
|
|
# `batch_size` takes an `int` value to enable auto-batching
|
|
|
|
|
|