DaoManhDuc2004
Deploy DATN face AI server
b5d3a91
# built-in dependencies
from typing import TypedDict, Type, Dict
# project dependencies
from deepface.modules.database.types import Database
from deepface.modules.database.postgres import PostgresClient
from deepface.modules.database.pgvector import PGVectorClient
from deepface.modules.database.mongo import MongoDbClient as MongoClient
from deepface.modules.database.weaviate import WeaviateClient
from deepface.modules.database.neo4j import Neo4jClient
from deepface.modules.database.pinecone import PineconeClient
class DatabaseSpec(TypedDict):
is_vector_db: bool
connection_string: str
client: Type["Database"]
database_inventory: Dict[str, DatabaseSpec] = {
"postgres": {
"is_vector_db": False,
"connection_string": "DEEPFACE_POSTGRES_URI",
"client": PostgresClient,
},
"mongo": {
"is_vector_db": False,
"connection_string": "DEEPFACE_MONGO_URI",
"client": MongoClient,
},
"weaviate": {
"is_vector_db": True,
"connection_string": "DEEPFACE_WEAVIATE_URI",
"client": WeaviateClient,
},
"neo4j": {
"is_vector_db": True,
"connection_string": "DEEPFACE_NEO4J_URI",
"client": Neo4jClient,
},
"pgvector": {
"is_vector_db": True,
"connection_string": "DEEPFACE_POSTGRES_URI",
"client": PGVectorClient,
},
"pinecone": {
"is_vector_db": True,
"connection_string": "DEEPFACE_PINECONE_API_KEY",
"client": PineconeClient,
},
}