Skip to main content
在 GitHub 上打开

MongoDB Atlas

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

安装和设置

请参阅详细的配置说明

我们需要安装langchain-mongodbpython 软件包。

pip install langchain-mongodb

矢量存储

请参阅使用示例

from langchain_mongodb import MongoDBAtlasVectorSearch

Retriever

全文搜索检索器

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

from langchain_mongodb.retrievers import MongoDBAtlasFullTextSearchRetriever

混合搜索检索器

Hybrid Search Retriever合并矢量搜索和全文搜索权重 他们通过Reciprocal Rank Fusion (RRF) 算法。

from langchain_mongodb.retrievers import MongoDBAtlasHybridSearchRetriever

模型缓存

MongoDBCache

在 MongoDB 中存储简单缓存的抽象。这不使用 Semantic Caching,也不需要在生成之前对集合建立索引。

要导入此缓存:

from langchain_mongodb.cache import MongoDBCache
API 参考:MongoDBCache

要将此缓存用于 LLM,请执行以下作:

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 参考:set_llm_cache

MongoDBAtlasSemanticCache

语义缓存允许用户根据用户输入与以前缓存的结果之间的语义相似性检索缓存的提示。在后台,它将 MongoDBAtlas 混合为缓存和矢量存储。 MongoDBAtlasSemanticCache 继承自MongoDBAtlasVectorSearch并且需要定义 Atlas Vector Search Index 才能工作。请查看有关如何设置索引的使用示例

要导入此缓存:

from langchain_mongodb.cache import MongoDBAtlasSemanticCache

要将此缓存用于 LLM,请执行以下作:

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 参考:set_llm_cache

``