Spaces:
Configuration error
Configuration error
| from qdrant_client import QdrantClient | |
| from qdrant_client.http.models import PointStruct, VectorParams, Distance | |
| import boto3 | |
| from neo4j import GraphDatabase | |
| from .config import * | |
| _qdrant = None | |
| _s3 = None | |
| _neo4j = None | |
| _s3_session = None | |
| # Define the embedding dimensionality. | |
| embedding_dim = 512 | |
| COLLECTION_NAME = "object_collection" | |
| def get_qdrant(): | |
| global _qdrant | |
| if _qdrant is None: | |
| _qdrant = QdrantClient(url=QDRANT_HOST, api_key=QDRANT_API) | |
| if not _qdrant.collection_exists(COLLECTION_NAME): | |
| _qdrant.create_collection( | |
| collection_name=COLLECTION_NAME, | |
| vectors_config=VectorParams(size=embedding_dim, distance=Distance.COSINE) | |
| ) | |
| else: | |
| _qdrant.get_collection(COLLECTION_NAME) | |
| return _qdrant | |
| def get_s3(): | |
| global _s3, _s3_session | |
| if _s3 is None: | |
| _s3_session = boto3.Session( | |
| aws_access_key_id=AWS_KEY, | |
| aws_secret_access_key=AWS_SECRET, | |
| region_name=AWS_REGION | |
| ) | |
| _s3 = _s3_session.client("s3") | |
| return _s3 | |
| def get_s3_session(): | |
| global _s3_session | |
| return _s3_session | |
| def get_neo4j(): | |
| global _neo4j | |
| if _neo4j is None: | |
| _neo4j = GraphDatabase.driver(NEO4J_URI, | |
| auth=(NEO4J_USER, NEO4J_PASS), | |
| max_connection_lifetime=30, # Forces reconnect after 30 seconds of lifetime | |
| connection_timeout=10, # Fails faster if connection is bad | |
| max_connection_pool_size=10) # Optional: Limit pool size) | |
| return _neo4j | |