From 9fb26a2a718bc18a5ce48f04cf6b66bc4751b734 Mon Sep 17 00:00:00 2001 From: Erick Friis Date: Thu, 14 Dec 2023 13:27:30 -0800 Subject: [PATCH] community[patch]: fix pgvector sqlalchemy (#14726) Fixes #14699 --- .../langchain_community/vectorstores/pgvector.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/community/langchain_community/vectorstores/pgvector.py b/libs/community/langchain_community/vectorstores/pgvector.py index eb20095930c..d5c2294b103 100644 --- a/libs/community/langchain_community/vectorstores/pgvector.py +++ b/libs/community/langchain_community/vectorstores/pgvector.py @@ -60,7 +60,14 @@ class BaseModel(Base): uuid = sqlalchemy.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) +_classes: Any = None + + def _get_embedding_collection_store() -> Any: + global _classes + if _classes is not None: + return _classes + from pgvector.sqlalchemy import Vector class CollectionStore(BaseModel): @@ -126,7 +133,9 @@ def _get_embedding_collection_store() -> Any: # custom_id : any user defined id custom_id = sqlalchemy.Column(sqlalchemy.String, nullable=True) - return EmbeddingStore, CollectionStore + _classes = (EmbeddingStore, CollectionStore) + + return _classes def _results_to_docs(docs_and_scores: Any) -> List[Document]: