mirror of
https://github.com/hwchase17/langchain
synced 2024-11-11 19:11:02 +00:00
c0fcf76e93
## Description Created a helper method to make vector search indexes via client-side pymongo. **Recent Update** -- Removed error suppressing/overwriting layer in favor of letting the original exception provide information. ## ToDo's - [x] Make _wait_untils for integration test delete index functionalities. - [x] Add documentation for its use. Highlight it's experimental - [x] Post Integration Test Results in a screenshot - [x] Get review from MongoDB internal team (@shaneharvey, @blink1073 , @NoahStapp , @caseyclements) - [x] **Add tests and docs**: If you're adding a new integration, please include 1. Added new integration tests. Not eligible for unit testing since the operation is Atlas Cloud specific. 2. an example notebook showing its use. It lives in `docs/docs/integrations` directory. ![image](https://github.com/langchain-ai/langchain/assets/2887713/a3fc8ee1-e04c-4976-accc-fea0eeae028a) - [x] **Lint and test**: Run `make format`, `make lint` and `make test` from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/
40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# langchain-mongodb
|
|
|
|
# Installation
|
|
```
|
|
pip install -U langchain-mongodb
|
|
```
|
|
|
|
# Usage
|
|
- See [integrations doc](../../../docs/docs/integrations/providers/mongodb_atlas.ipynb) for more in-depth usage instructions.
|
|
- See [Getting Started with the LangChain Integration](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.
|
|
|
|
## Using MongoDBAtlasVectorSearch
|
|
```python
|
|
from langchain_mongodb import MongoDBAtlasVectorSearch
|
|
|
|
# Pull MongoDB Atlas URI from environment variables
|
|
MONGODB_ATLAS_CLUSTER_URI = os.environ.get("MONGODB_ATLAS_CLUSTER_URI")
|
|
|
|
DB_NAME = "langchain_db"
|
|
COLLECTION_NAME = "test"
|
|
ATLAS_VECTOR_SEARCH_INDEX_NAME = "index_name"
|
|
MONGODB_COLLECTION = client[DB_NAME][COLLECITON_NAME]
|
|
|
|
# Create the vector search via `from_connection_string`
|
|
vector_search = MongoDBAtlasVectorSearch.from_connection_string(
|
|
MONGODB_ATLAS_CLUSTER_URI,
|
|
DB_NAME + "." + COLLECTION_NAME,
|
|
OpenAIEmbeddings(disallowed_special=()),
|
|
index_name=ATLAS_VECTOR_SEARCH_INDEX_NAME,
|
|
)
|
|
|
|
# Initialize MongoDB python client
|
|
client = MongoClient(MONGODB_ATLAS_CLUSTER_URI)
|
|
# Create the vector search via instantiation
|
|
vector_search_2 = MongoDBAtlasVectorSearch(
|
|
collection=MONGODB_COLLECTION,
|
|
embeddings=OpenAIEmbeddings(disallowed_special=()),
|
|
index_name=ATLAS_VECTOR_SEARCH_INDEX_NAME,
|
|
)
|
|
``` |