From 71567829f5a7c5ea0eaa4057d4f44557ca353bd2 Mon Sep 17 00:00:00 2001 From: Adam Aghili Date: Mon, 25 May 2026 14:35:47 -0400 Subject: [PATCH] fix: use langchain-mongodb use langchain-mongodb instead of depricated langchain_community.vectorstores for MongoDBAtlasVectorSearch import --- src/backend/base/pyproject.toml | 3 ++- src/backend/base/uv.lock | 25 +++++++++++++++--- src/lfx/pyproject.toml | 1 + .../lfx/components/mongodb/mongodb_atlas.py | 2 +- uv.lock | 26 ++++++++++++++++--- 5 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/backend/base/pyproject.toml b/src/backend/base/pyproject.toml index 03f2d79a17..98c5f41fb3 100644 --- a/src/backend/base/pyproject.toml +++ b/src/backend/base/pyproject.toml @@ -103,6 +103,7 @@ dependencies = [ "pyasn1>=0.6.3,<0.7.0", "langgraph-checkpoint>4.0.0,<5.0.0", "transformers>=5.6.0,<6.0.0", + "langchain-mongodb>=0.11.0", ] [dependency-groups] @@ -208,7 +209,7 @@ chroma = [ upstash = ["upstash-vector==0.6.0"] pinecone = ["langchain-pinecone~=0.2.13; python_version < '3.14'"] milvus = ["langchain-milvus~=0.3.2"] -mongodb-vectors = ["langchain-mongodb==0.7.0"] +mongodb-vectors = ["langchain-mongodb>=0.7.0"] astradb = ["langchain-astradb~=1.0.0"] # Individual LLM providers diff --git a/src/backend/base/uv.lock b/src/backend/base/uv.lock index 79bc313550..6b915a71b6 100644 --- a/src/backend/base/uv.lock +++ b/src/backend/base/uv.lock @@ -6464,20 +6464,22 @@ wheels = [ [[package]] name = "langchain-mongodb" -version = "0.7.0" +version = "0.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "langchain" }, + { name = "langchain-classic" }, { name = "langchain-core" }, { name = "langchain-text-splitters" }, { name = "lark" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "pymongo" }, + { name = "pymongo-search-utils" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f2/30/89ea882d3b13642049afdef94782185cf030a0f430e3785c5b8445c808d1/langchain_mongodb-0.7.0.tar.gz", hash = "sha256:f89479b8902239f29c3664dedbc35ef802d86662a6a847213c145fdd46747fb6", size = 280207, upload-time = "2025-08-19T21:12:53.447Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/0e/03027bbf0ae3ee71d00e32f5c64395cbee05393e6e5dc56e2d88320db542/langchain_mongodb-0.11.0.tar.gz", hash = "sha256:db483f12e8a4fdbbcfb0594881962fd1f0afcb38a3d42ee0d5fe8a2be20e1e86", size = 356447, upload-time = "2026-01-15T17:00:37.102Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/84/d7edcdc71b7089cef1abcce65042443a2dc3a43627bc08eadf529b334026/langchain_mongodb-0.7.0-py3-none-any.whl", hash = "sha256:c9122e56302ed6072c704500372a967f20560d9c9f372ce876c05229e9664c29", size = 60319, upload-time = "2025-08-19T21:12:52.524Z" }, + { url = "https://files.pythonhosted.org/packages/1e/a1/a4ef0c7027166540a4aced056b1fd7194e4519932d2a846fd2cfd9f057cb/langchain_mongodb-0.11.0-py3-none-any.whl", hash = "sha256:7e1f43684c907d1f1fee4dbc480dd4909b3ebf03b5d3dad105ed9f4a4280d49f", size = 62037, upload-time = "2026-01-15T17:00:36.258Z" }, ] [[package]] @@ -6674,6 +6676,7 @@ dependencies = [ { name = "langchain-core" }, { name = "langchain-experimental" }, { name = "langchain-ibm", marker = "python_full_version < '3.14'" }, + { name = "langchain-mongodb" }, { name = "langchainhub" }, { name = "langgraph-checkpoint" }, { name = "lfx" }, @@ -7431,7 +7434,8 @@ requires-dist = [ { name = "langchain-mcp-adapters", marker = "extra == 'langchain-mcp-adapters'", specifier = ">=0.1.14,<0.2.0" }, { name = "langchain-milvus", marker = "extra == 'milvus'", specifier = "~=0.3.2" }, { name = "langchain-mistralai", marker = "extra == 'mistral'", specifier = "~=1.1.1" }, - { name = "langchain-mongodb", marker = "extra == 'mongodb-vectors'", specifier = "==0.7.0" }, + { name = "langchain-mongodb", specifier = ">=0.11.0" }, + { name = "langchain-mongodb", marker = "extra == 'mongodb-vectors'", specifier = ">=0.7.0" }, { name = "langchain-nvidia-ai-endpoints", marker = "extra == 'nvidia'", specifier = "~=1.0.0" }, { name = "langchain-ollama", marker = "extra == 'ollama'", specifier = "~=0.3.10" }, { name = "langchain-openai", marker = "extra == 'openai'", specifier = ">=1.1.6" }, @@ -7955,6 +7959,7 @@ dev = [ integration = [ { name = "beautifulsoup4", specifier = ">=4.12.0" }, { name = "langchain-community", specifier = ">=0.4.1,<1.0.0" }, + { name = "langchain-mongodb", specifier = ">=0.11.0" }, { name = "langchain-openai", specifier = ">=1.1.12,<2.0.0" }, { name = "lxml", specifier = ">=5.0.0" }, ] @@ -12534,6 +12539,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/cb/d9780b66939c4fc1f024bcc7be23a2abcfe06a9745ca8fa76dc73395482e/pymongo-4.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9543d8f84c2e5608565c08ac679774811e6730770d8a645439b073422a4276fb", size = 1058526, upload-time = "2026-04-20T16:39:27.924Z" }, ] +[[package]] +name = "pymongo-search-utils" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pymongo" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/aa/3eb266ffc74ec52bbf6dd92d311ab4fc3225c2ac8f1a2e6abe98f7288867/pymongo_search_utils-0.3.0.tar.gz", hash = "sha256:56148987ce9ff191eb1cd0f56c01d3dae497a3cb6d7b7db75ec894a9afcbe418", size = 13728, upload-time = "2026-02-03T22:18:24.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/55/ed/87d3ed0e45b9230bacb9edcb913d515e6756bc2df3384e5f192662c38ce8/pymongo_search_utils-0.3.0-py3-none-any.whl", hash = "sha256:9b9ef8dfbd57da530ce7c2bde10aec8f462605080a9ed4e9a41679170c8742bf", size = 19467, upload-time = "2026-02-03T22:18:23.398Z" }, +] + [[package]] name = "pyparsing" version = "3.3.2" diff --git a/src/lfx/pyproject.toml b/src/lfx/pyproject.toml index 56ba4142a7..998b1dfa29 100644 --- a/src/lfx/pyproject.toml +++ b/src/lfx/pyproject.toml @@ -97,6 +97,7 @@ integration = [ # Dependencies for running Simple Agent and other integration tests "langchain-openai>=1.1.12,<2.0.0", "langchain-community>=0.4.1,<1.0.0", + "langchain-mongodb>=0.11.0", "beautifulsoup4>=4.12.0", "lxml>=5.0.0", ] diff --git a/src/lfx/src/lfx/components/mongodb/mongodb_atlas.py b/src/lfx/src/lfx/components/mongodb/mongodb_atlas.py index 5cab5c114c..17fb9a2aae 100644 --- a/src/lfx/src/lfx/components/mongodb/mongodb_atlas.py +++ b/src/lfx/src/lfx/components/mongodb/mongodb_atlas.py @@ -2,7 +2,7 @@ import tempfile import time import certifi -from langchain_community.vectorstores import MongoDBAtlasVectorSearch +from langchain_mongodb import MongoDBAtlasVectorSearch from pymongo.collection import Collection from pymongo.operations import SearchIndexModel diff --git a/uv.lock b/uv.lock index 122a888487..ed25c85c55 100644 --- a/uv.lock +++ b/uv.lock @@ -6816,20 +6816,22 @@ wheels = [ [[package]] name = "langchain-mongodb" -version = "0.7.0" +version = "0.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "langchain" }, + { name = "langchain-classic" }, { name = "langchain-core" }, { name = "langchain-text-splitters" }, { name = "lark" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "pymongo" }, + { name = "pymongo-search-utils" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f2/30/89ea882d3b13642049afdef94782185cf030a0f430e3785c5b8445c808d1/langchain_mongodb-0.7.0.tar.gz", hash = "sha256:f89479b8902239f29c3664dedbc35ef802d86662a6a847213c145fdd46747fb6", size = 280207, upload-time = "2025-08-19T21:12:53.447Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/0e/03027bbf0ae3ee71d00e32f5c64395cbee05393e6e5dc56e2d88320db542/langchain_mongodb-0.11.0.tar.gz", hash = "sha256:db483f12e8a4fdbbcfb0594881962fd1f0afcb38a3d42ee0d5fe8a2be20e1e86", size = 356447, upload-time = "2026-01-15T17:00:37.102Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/84/d7edcdc71b7089cef1abcce65042443a2dc3a43627bc08eadf529b334026/langchain_mongodb-0.7.0-py3-none-any.whl", hash = "sha256:c9122e56302ed6072c704500372a967f20560d9c9f372ce876c05229e9664c29", size = 60319, upload-time = "2025-08-19T21:12:52.524Z" }, + { url = "https://files.pythonhosted.org/packages/1e/a1/a4ef0c7027166540a4aced056b1fd7194e4519932d2a846fd2cfd9f057cb/langchain_mongodb-0.11.0-py3-none-any.whl", hash = "sha256:7e1f43684c907d1f1fee4dbc480dd4909b3ebf03b5d3dad105ed9f4a4280d49f", size = 62037, upload-time = "2026-01-15T17:00:36.258Z" }, ] [[package]] @@ -7176,6 +7178,7 @@ dependencies = [ { name = "langchain-core" }, { name = "langchain-experimental" }, { name = "langchain-ibm", marker = "python_full_version < '3.14'" }, + { name = "langchain-mongodb" }, { name = "langchainhub" }, { name = "langgraph-checkpoint" }, { name = "lfx" }, @@ -7933,7 +7936,8 @@ requires-dist = [ { name = "langchain-mcp-adapters", marker = "extra == 'langchain-mcp-adapters'", specifier = ">=0.1.14,<0.2.0" }, { name = "langchain-milvus", marker = "extra == 'milvus'", specifier = "~=0.3.2" }, { name = "langchain-mistralai", marker = "extra == 'mistral'", specifier = "~=1.1.1" }, - { name = "langchain-mongodb", marker = "extra == 'mongodb-vectors'", specifier = "==0.7.0" }, + { name = "langchain-mongodb", specifier = ">=0.11.0" }, + { name = "langchain-mongodb", marker = "extra == 'mongodb-vectors'", specifier = ">=0.7.0" }, { name = "langchain-nvidia-ai-endpoints", marker = "extra == 'nvidia'", specifier = "~=1.0.0" }, { name = "langchain-ollama", marker = "extra == 'ollama'", specifier = "~=0.3.10" }, { name = "langchain-openai", marker = "extra == 'openai'", specifier = ">=1.1.6" }, @@ -8444,6 +8448,7 @@ dev = [ integration = [ { name = "beautifulsoup4" }, { name = "langchain-community" }, + { name = "langchain-mongodb" }, { name = "langchain-openai" }, { name = "lxml" }, ] @@ -8508,6 +8513,7 @@ dev = [ integration = [ { name = "beautifulsoup4", specifier = ">=4.12.0" }, { name = "langchain-community", specifier = ">=0.4.1,<1.0.0" }, + { name = "langchain-mongodb", specifier = ">=0.11.0" }, { name = "langchain-openai", specifier = ">=1.1.12,<2.0.0" }, { name = "lxml", specifier = ">=5.0.0" }, ] @@ -13135,6 +13141,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/cb/d9780b66939c4fc1f024bcc7be23a2abcfe06a9745ca8fa76dc73395482e/pymongo-4.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9543d8f84c2e5608565c08ac679774811e6730770d8a645439b073422a4276fb", size = 1058526, upload-time = "2026-04-20T16:39:27.924Z" }, ] +[[package]] +name = "pymongo-search-utils" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pymongo" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/aa/3eb266ffc74ec52bbf6dd92d311ab4fc3225c2ac8f1a2e6abe98f7288867/pymongo_search_utils-0.3.0.tar.gz", hash = "sha256:56148987ce9ff191eb1cd0f56c01d3dae497a3cb6d7b7db75ec894a9afcbe418", size = 13728, upload-time = "2026-02-03T22:18:24.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/55/ed/87d3ed0e45b9230bacb9edcb913d515e6756bc2df3384e5f192662c38ce8/pymongo_search_utils-0.3.0-py3-none-any.whl", hash = "sha256:9b9ef8dfbd57da530ce7c2bde10aec8f462605080a9ed4e9a41679170c8742bf", size = 19467, upload-time = "2026-02-03T22:18:23.398Z" }, +] + [[package]] name = "pyobjc-core" version = "12.1"