Skip to main content
Open on GitHub

MongoDB Atlas

MongoDB Atlas 是一个完全托管的云数据库,可在 AWS、Azure 和 GCP 中使用。它现在支持在 MongoDB 文档数据上进行原生向量搜索。

安装与设置

查看详细配置说明

我们需要安装langchain-mongodb python包。

pip install langchain-mongodb

向量存储

查看一个使用示例

from langchain_mongodb import MongoDBAtlasVectorSearch

检索器

全文搜索检索器

Hybrid Search Retriever 使用 Lucene 的标准 (BM25) 分析器执行全文搜索。

from langchain_mongodb.retrievers import MongoDBAtlasFullTextSearchRetriever

混合搜索检索器

Hybrid Search Retriever 结合了向量搜索和全文搜索,通过Reciprocal Rank Fusion (RRF) 算法对它们进行加权。

from langchain_mongodb.retrievers import MongoDBAtlasHybridSearchRetriever

模型缓存

MongoDB缓存

一个用于在MongoDB中存储简单缓存的抽象。这不使用语义缓存,也不需要在生成之前在集合上创建索引。

要导入此缓存:

from langchain_mongodb.cache import MongoDBCache
API Reference:MongoDBCache

要将此缓存与您的LLMs一起使用:

from langchain_core.globals import set_llm_cache

# use any embedding provider...
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings

mongodb_atlas_uri = "<YOUR_CONNECTION_STRING>"
COLLECTION_NAME="<YOUR_CACHE_COLLECTION_NAME>"
DATABASE_NAME="<YOUR_DATABASE_NAME>"

set_llm_cache(MongoDBCache(
connection_string=mongodb_atlas_uri,
collection_name=COLLECTION_NAME,
database_name=DATABASE_NAME,
))
API Reference:set_llm_cache

MongoDBAtlas语义缓存

语义缓存允许用户根据用户输入与先前缓存结果之间的语义相似性检索缓存的提示。在底层,它结合了MongoDBAtlas作为缓存和向量存储。 MongoDBAtlasSemanticCache继承自MongoDBAtlasVectorSearch,并且需要一个定义的Atlas向量搜索索引才能工作。请查看使用示例以了解如何设置索引。

要导入此缓存:

from langchain_mongodb.cache import MongoDBAtlasSemanticCache

要将此缓存与您的LLMs一起使用:

from langchain_core.globals import set_llm_cache

# use any embedding provider...
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings

mongodb_atlas_uri = "<YOUR_CONNECTION_STRING>"
COLLECTION_NAME="<YOUR_CACHE_COLLECTION_NAME>"
DATABASE_NAME="<YOUR_DATABASE_NAME>"

set_llm_cache(MongoDBAtlasSemanticCache(
embedding=FakeEmbeddings(),
connection_string=mongodb_atlas_uri,
collection_name=COLLECTION_NAME,
database_name=DATABASE_NAME,
))
API Reference:set_llm_cache

``


这个页面有帮助吗?