langchain/libs/partners/mongodb
Philippe PRADOS 26cee2e878
partners[patch]: MongoDB vectorstore to return and accept string IDs (#23818)
The mongdb have some errors.
- `add_texts() -> List` returns a list of `ObjectId`, and not a list of
string
- `delete()` with `id` never remove chunks.

---------

Co-authored-by: Eugene Yurtsev <eugene@langchain.dev>
2024-07-03 14:14:08 -04:00
..
langchain_mongodb partners[patch]: MongoDB vectorstore to return and accept string IDs (#23818) 2024-07-03 14:14:08 -04:00
scripts
tests infra: update mypy 1.10, ruff 0.5 (#23721) 2024-07-03 10:33:27 -07:00
.gitignore
LICENSE
Makefile infra: update mypy 1.10, ruff 0.5 (#23721) 2024-07-03 10:33:27 -07:00
poetry.lock infra: update mypy 1.10, ruff 0.5 (#23721) 2024-07-03 10:33:27 -07:00
pyproject.toml infra: update mypy 1.10, ruff 0.5 (#23721) 2024-07-03 10:33:27 -07:00
README.md LangChain-MongoDB: [Experimental] Driver-side index creation helper (#19359) 2024-06-26 15:07:28 -04:00

langchain-mongodb

Installation

pip install -U langchain-mongodb

Usage

Using MongoDBAtlasVectorSearch

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,
)