diff --git a/cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py b/cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py index ca105782f..9e09e962d 100644 --- a/cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py +++ b/cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py @@ -102,7 +102,7 @@ class SQLAlchemyAdapter: "postgresql+asyncpg", username=vector_config.vector_db_username, password=vector_config.vector_db_password, - host=vector_config.vector_db_url, + host=vector_config.vector_db_host, port=int(vector_config.vector_db_port), database=maintenance_db_name, ) diff --git a/cognee/infrastructure/databases/vector/config.py b/cognee/infrastructure/databases/vector/config.py index 8661401c4..738ee7adb 100644 --- a/cognee/infrastructure/databases/vector/config.py +++ b/cognee/infrastructure/databases/vector/config.py @@ -31,6 +31,7 @@ class VectorConfig(BaseSettings): vector_dataset_database_handler: str = "lancedb" vector_db_username: str = "" vector_db_password: str = "" + vector_db_host: str = "" model_config = SettingsConfigDict(env_file=".env", extra="allow") @@ -69,6 +70,7 @@ class VectorConfig(BaseSettings): "vector_dataset_database_handler": self.vector_dataset_database_handler, "vector_db_username": self.vector_db_username, "vector_db_password": self.vector_db_password, + "vector_db_host": self.vector_db_host, } diff --git a/cognee/infrastructure/databases/vector/create_vector_engine.py b/cognee/infrastructure/databases/vector/create_vector_engine.py index 5a7ac64f2..8982fa06d 100644 --- a/cognee/infrastructure/databases/vector/create_vector_engine.py +++ b/cognee/infrastructure/databases/vector/create_vector_engine.py @@ -16,6 +16,7 @@ def create_vector_engine( vector_dataset_database_handler: str = "", vector_db_username: str = "", vector_db_password: str = "", + vector_db_host: str = "", ): """ Wrapper function to call create vector engine with caching. @@ -28,6 +29,9 @@ def create_vector_engine( vector_db_port, vector_db_key, vector_dataset_database_handler, + vector_db_username, + vector_db_password, + vector_db_host, ) @@ -36,9 +40,12 @@ def _create_vector_engine( vector_db_provider: str, vector_db_url: str, vector_db_name: str, - vector_db_port: str = "", - vector_db_key: str = "", - vector_dataset_database_handler: str = "", + vector_db_port: str, + vector_db_key: str, + vector_dataset_database_handler: str, + vector_db_username: str, + vector_db_password: str, + vector_db_host: str, ): """ Create a vector database engine based on the specified provider. @@ -84,19 +91,19 @@ def _create_vector_engine( if backend_access_control_enabled(): connection_string: str = ( f"postgresql+asyncpg://{vector_db_username}:{vector_db_password}" - f"@{vector_db_url}:{vector_db_port}/{vector_db_name}" + f"@{vector_db_host}:{vector_db_port}/{vector_db_name}" ) else: if ( vector_db_port and vector_db_username and vector_db_password - and vector_db_url + and vector_db_host and vector_db_name ): connection_string: str = ( f"postgresql+asyncpg://{vector_db_username}:{vector_db_password}" - f"@{vector_db_url}:{vector_db_port}/{vector_db_name}" + f"@{vector_db_host}:{vector_db_port}/{vector_db_name}" ) else: from cognee.infrastructure.databases.relational import get_relational_config diff --git a/cognee/infrastructure/databases/vector/pgvector/PGVectorDatasetDatabaseHandler.py b/cognee/infrastructure/databases/vector/pgvector/PGVectorDatasetDatabaseHandler.py index 975a4bdc5..682c5635c 100644 --- a/cognee/infrastructure/databases/vector/pgvector/PGVectorDatasetDatabaseHandler.py +++ b/cognee/infrastructure/databases/vector/pgvector/PGVectorDatasetDatabaseHandler.py @@ -32,6 +32,7 @@ class PGVectorDatasetDatabaseHandler(DatasetDatabaseHandlerInterface): "port": vector_config.vector_db_port, "username": vector_config.vector_db_username, "password": vector_config.vector_db_password, + "host": vector_config.vector_db_host, }, "vector_dataset_database_handler": "pgvector_local", } @@ -51,6 +52,7 @@ class PGVectorDatasetDatabaseHandler(DatasetDatabaseHandlerInterface): "vector_db_password": new_vector_config["vector_database_connection_info"][ "password" ], + "vector_db_host": new_vector_config["vector_database_connection_info"]["host"], "vector_dataset_database_handler": "pgvector", } ) diff --git a/cognee/infrastructure/databases/vector/pgvector/create_db_and_tables.py b/cognee/infrastructure/databases/vector/pgvector/create_db_and_tables.py index e1d46984e..a1538f98a 100644 --- a/cognee/infrastructure/databases/vector/pgvector/create_db_and_tables.py +++ b/cognee/infrastructure/databases/vector/pgvector/create_db_and_tables.py @@ -29,7 +29,7 @@ async def create_pg_database(vector_config): pg_relational_engine = create_relational_engine( db_path="", - db_host=vector_config["vector_db_url"], + db_host=vector_config["vector_db_host"], db_name=vector_config["vector_db_name"], db_port=vector_config["vector_db_port"], db_username=vector_config["vector_db_username"],