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