From de66f8f9fbb11f0f19b743346a0badc602477f1e Mon Sep 17 00:00:00 2001 From: Bar Nuri Date: Mon, 17 Nov 2025 14:04:56 +0200 Subject: [PATCH 1/3] vector_index_options --- libs/langchain-mongodb/langchain_mongodb/vectorstores.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/langchain-mongodb/langchain_mongodb/vectorstores.py b/libs/langchain-mongodb/langchain_mongodb/vectorstores.py index a1adf7e5..ac58b80b 100644 --- a/libs/langchain-mongodb/langchain_mongodb/vectorstores.py +++ b/libs/langchain-mongodb/langchain_mongodb/vectorstores.py @@ -212,6 +212,7 @@ def __init__( dimensions: int = -1, auto_create_index: bool | None = None, auto_index_timeout: int = 15, + vector_index_options: dict | None = None, **kwargs: Any, ): """ @@ -256,6 +257,7 @@ def __init__( path=embedding_key, similarity=relevance_score_fn, wait_until_complete=auto_index_timeout, + vector_index_options=vector_index_options, ) @property @@ -841,6 +843,7 @@ def create_vector_search_index( filters: Optional[List[str]] = None, update: bool = False, wait_until_complete: Optional[float] = None, + vector_index_options: dict | None = None, **kwargs: Any, ) -> None: """Creates a MongoDB Atlas vectorSearch index for the VectorStore @@ -879,6 +882,7 @@ def create_vector_search_index( path=self._embedding_key, similarity=self._relevance_score_fn, filters=filters or [], + vector_index_options=vector_index_options, wait_until_complete=wait_until_complete, **kwargs, ) # type: ignore [operator] From 1bc7fb1a60d2deb35469671d9d1a23999012c99a Mon Sep 17 00:00:00 2001 From: Bar Nuri Date: Mon, 17 Nov 2025 14:05:52 +0200 Subject: [PATCH 2/3] Update index.py --- libs/langchain-mongodb/langchain_mongodb/index.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/langchain-mongodb/langchain_mongodb/index.py b/libs/langchain-mongodb/langchain_mongodb/index.py index fd53956c..8184a31c 100644 --- a/libs/langchain-mongodb/langchain_mongodb/index.py +++ b/libs/langchain-mongodb/langchain_mongodb/index.py @@ -15,15 +15,18 @@ def _vector_search_index_definition( path: str, similarity: str, filters: Optional[List[str]] = None, + vector_index_options: dict | None = None, **kwargs: Any, ) -> Dict[str, Any]: # https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-type/ + vector_index_options = vector_index_options or {} fields = [ { "numDimensions": dimensions, "path": path, "similarity": similarity, "type": "vector", + **vector_index_options, }, ] if filters: From 105f15d2e946b2a41e3492c0549315d7cf2ac9bd Mon Sep 17 00:00:00 2001 From: Bar Nuri Date: Mon, 17 Nov 2025 14:07:25 +0200 Subject: [PATCH 3/3] Update index.py --- libs/langchain-mongodb/langchain_mongodb/index.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/langchain-mongodb/langchain_mongodb/index.py b/libs/langchain-mongodb/langchain_mongodb/index.py index 8184a31c..72564db6 100644 --- a/libs/langchain-mongodb/langchain_mongodb/index.py +++ b/libs/langchain-mongodb/langchain_mongodb/index.py @@ -44,6 +44,7 @@ def create_vector_search_index( path: str, similarity: str, filters: Optional[List[str]] = None, + vector_index_options: dict | None = None, *, wait_until_complete: Optional[float] = None, **kwargs: Any, @@ -75,6 +76,7 @@ def create_vector_search_index( path=path, similarity=similarity, filters=filters, + vector_index_options=vector_index_options, **kwargs, ), name=index_name, @@ -125,6 +127,7 @@ def update_vector_search_index( path: str, similarity: str, filters: Optional[List[str]] = None, + vector_index_options: dict | None = None, *, wait_until_complete: Optional[float] = None, **kwargs: Any, @@ -154,6 +157,7 @@ def update_vector_search_index( path=path, similarity=similarity, filters=filters, + vector_index_options=vector_index_options, **kwargs, ), )