From bd39b2ccdf4ec4999d12fb0104ab2dffb71d41d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=A8=E7=BC=A8?= Date: Tue, 21 May 2024 07:32:26 +0800 Subject: [PATCH] community: enable SupabaseVectorStore to support extended table fields (#21762) Thank you for contributing to LangChain! - [x] **PR title**: "community: enable SupabaseVectorStore to support extended table fields" - [x] **PR message**: - Added extension fields to the function _add_vectors so that users can add other custom fields when insert a record into the database. eg: ![image](https://github.com/langchain-ai/langchain/assets/10885578/e1d5ca20-936e-4cab-ba69-8fdd23b8ce8f) --------- Co-authored-by: Bagatur --- .../community/langchain_community/vectorstores/supabase.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/community/langchain_community/vectorstores/supabase.py b/libs/community/langchain_community/vectorstores/supabase.py index 70b45eee02c..4ff75b02f42 100644 --- a/libs/community/langchain_community/vectorstores/supabase.py +++ b/libs/community/langchain_community/vectorstores/supabase.py @@ -151,7 +151,9 @@ class SupabaseVectorStore(VectorStore): embeddings = embedding.embed_documents(texts) ids = [str(uuid.uuid4()) for _ in texts] docs = cls._texts_to_documents(texts, metadatas) - cls._add_vectors(client, table_name, embeddings, docs, ids, chunk_size) + cls._add_vectors( + client, table_name, embeddings, docs, ids, chunk_size, **kwargs + ) return cls( client=client, @@ -324,6 +326,7 @@ class SupabaseVectorStore(VectorStore): documents: List[Document], ids: List[str], chunk_size: int, + **kwargs: Any, ) -> List[str]: """Add vectors to Supabase table.""" @@ -333,10 +336,10 @@ class SupabaseVectorStore(VectorStore): "content": documents[idx].page_content, "embedding": embedding, "metadata": documents[idx].metadata, # type: ignore + **kwargs, } for idx, embedding in enumerate(vectors) ] - id_list: List[str] = [] for i in range(0, len(rows), chunk_size): chunk = rows[i : i + chunk_size]