Skip to content

Commit 6676dfc

Browse files
committed
Fix linting
1 parent fb232aa commit 6676dfc

File tree

5 files changed

+4
-102
lines changed

5 files changed

+4
-102
lines changed

libs/langchain-mongodb-retrievers/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ pip install -U langchain-mongodb-retriever
1313
## Using MongoDBAtlasVectorSearch
1414
```python
1515
import os
16-
from langchain_mongodb import MongoDBAtlasVectorSearch
16+
from langchain_mongodb_retrievers import MongoDBAtlasVectorSearch
1717
from langchain_openai import OpenAIEmbeddings
1818

1919
# Pull MongoDB Atlas URI from environment variables

libs/langchain-mongodb/tests/integration_tests/test_mmr.py renamed to libs/langchain-mongodb-retrievers/tests/integration_tests/test_mmr.py

File renamed without changes.

libs/langchain-mongodb-retrievers/tests/integration_tests/test_retriever_selfquerying.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from typing import Generator, Sequence, Union
55

66
import pytest
7-
from langchain.chains.query_constructor.schema import AttributeInfo
8-
from langchain.retrievers.self_query.base import SelfQueryRetriever
7+
from langchain_classic.chains.query_constructor.schema import AttributeInfo
8+
from langchain_classic.retrievers.self_query.base import SelfQueryRetriever
99
from langchain_core.documents import Document
1010
from langchain_mongodb import index
1111
from langchain_openai import AzureChatOpenAI, ChatOpenAI

libs/langchain-mongodb/README.md

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,3 @@ pip install -U langchain-mongodb
99

1010
# Usage
1111
- [Integrate Atlas Vector Search with LangChain](https://www.mongodb.com/docs/atlas/atlas-vector-search/ai-integrations/langchain/#get-started-with-the-langchain-integration) for a walkthrough on using your first LangChain implementation with MongoDB Atlas.
12-
13-
## Using MongoDBAtlasVectorSearch
14-
```python
15-
import os
16-
from langchain_mongodb import MongoDBAtlasVectorSearch
17-
from langchain_openai import OpenAIEmbeddings
18-
19-
# Pull MongoDB Atlas URI from environment variables
20-
MONGODB_ATLAS_CONNECTION_STRING = os.environ["MONGODB_CONNECTION_STRING"]
21-
DB_NAME = "langchain_db"
22-
COLLECTION_NAME = "test"
23-
VECTOR_SEARCH_INDEX_NAME = "index_name"
24-
25-
MODEL_NAME = "text-embedding-3-large"
26-
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
27-
28-
29-
vectorstore = MongoDBAtlasVectorSearch.from_connection_string(
30-
connection_string=MONGODB_ATLAS_CONNECTION_STRING,
31-
namespace=DB_NAME + "." + COLLECTION_NAME,
32-
embedding=OpenAIEmbeddings(model=MODEL_NAME),
33-
index_name=VECTOR_SEARCH_INDEX_NAME,
34-
)
35-
36-
retrieved_docs = vectorstore.similarity_search(
37-
"How do I deploy MongoDBAtlasVectorSearch in our production environment?")
38-
```

libs/langchain-mongodb/tests/utils.py

Lines changed: 1 addition & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
import os
44
from copy import deepcopy
5-
from time import monotonic, sleep
6-
from typing import Any, Dict, Generator, Iterable, List, Mapping, Optional, Union, cast
5+
from typing import Any, Dict, List, Mapping, Optional, cast
76

87
from bson import ObjectId
98
from langchain_core.callbacks.manager import (
@@ -27,9 +26,7 @@
2726
from pymongo.operations import SearchIndexModel
2827
from pymongo.results import BulkWriteResult, DeleteResult, InsertManyResult
2928

30-
from langchain_mongodb import MongoDBAtlasVectorSearch
3129
from langchain_mongodb.agent_toolkit.database import MongoDBDatabase
32-
from langchain_mongodb.cache import MongoDBAtlasSemanticCache
3330

3431
TIMEOUT = 120
3532
INTERVAL = 0.5
@@ -55,53 +52,6 @@ def create_llm() -> BaseChatModel:
5552
return ChatOllama(model="llama3:8b", cache=False, seed=12345)
5653

5754

58-
class PatchedMongoDBAtlasVectorSearch(MongoDBAtlasVectorSearch):
59-
def bulk_embed_and_insert_texts(
60-
self,
61-
texts: Union[List[str], Iterable[str]],
62-
metadatas: Union[List[dict], Generator[dict, Any, Any]],
63-
ids: Optional[List[str]] = None,
64-
) -> List:
65-
"""Patched insert_texts that waits for data to be indexed before returning"""
66-
ids_inserted = super().bulk_embed_and_insert_texts(texts, metadatas, ids)
67-
n_docs = self.collection.count_documents({})
68-
start = monotonic()
69-
while monotonic() - start <= TIMEOUT:
70-
if (
71-
len(self.similarity_search("sandwich", k=n_docs, oversampling_factor=1))
72-
== n_docs
73-
):
74-
return ids_inserted
75-
else:
76-
sleep(INTERVAL)
77-
raise TimeoutError(f"Failed to embed, insert, and index texts in {TIMEOUT}s.")
78-
79-
def _similarity_search_with_score(self, query_vector, **kwargs):
80-
# Remove the _ids for testing purposes.
81-
docs = super()._similarity_search_with_score(query_vector, **kwargs)
82-
for doc, _ in docs:
83-
del doc.metadata["_id"]
84-
return docs
85-
86-
def delete(self, ids: Optional[List[str]] = None, **kwargs: Any) -> Optional[bool]:
87-
ret = super().delete(ids, **kwargs)
88-
n_docs = self.collection.count_documents({})
89-
start = monotonic()
90-
while monotonic() - start <= TIMEOUT:
91-
if (
92-
len(
93-
self.similarity_search(
94-
"sandwich", k=max(n_docs, 1), oversampling_factor=1
95-
)
96-
)
97-
== n_docs
98-
):
99-
return ret
100-
else:
101-
sleep(INTERVAL)
102-
raise TimeoutError(f"Failed to embed, insert, and index texts in {TIMEOUT}s.")
103-
104-
10555
class ConsistentFakeEmbeddings(Embeddings):
10656
"""Fake embeddings functionality for testing."""
10757

@@ -327,27 +277,6 @@ def update_one( # type: ignore
327277
elif upsert:
328278
self._data.append({**find_query, **set_options})
329279

330-
def _execute_cache_aggregation_query(self, *args, **kwargs) -> List[Dict[str, Any]]: # type: ignore
331-
"""Helper function only to be used for MongoDBAtlasSemanticCache Testing
332-
333-
Returns:
334-
List[Dict[str, Any]]: Aggregation query result
335-
"""
336-
pipeline: List[Dict[str, Any]] = args[0]
337-
params = pipeline[0]["$vectorSearch"]
338-
embedding = params["queryVector"]
339-
# Assumes MongoDBAtlasSemanticCache.LLM == "llm_string"
340-
llm_string = params["filter"][MongoDBAtlasSemanticCache.LLM]["$eq"]
341-
342-
acc = []
343-
for document in self._data:
344-
if (
345-
document.get("embedding") == embedding
346-
and document.get(MongoDBAtlasSemanticCache.LLM) == llm_string
347-
):
348-
acc.append(document)
349-
return acc
350-
351280
def bulk_write(self, requests, **kwargs):
352281
upserted = []
353282
for ind, request in enumerate(requests):

0 commit comments

Comments
 (0)