Docs 菜单
Docs 主页
/ /

开始使用 LlamaIndex 集成

您可以将MongoDB Vector Search 与 LlamaIndex 集成,在您的 LLM应用程序中实现检索增强生成 (RAG)。 本教程演示如何开始使用MongoDB Vector Search 和 LlamaIndex 对数据执行语义搜索并构建RAG实施。具体来说,您执行以下操作:

  1. 设置环境。

  2. 在MongoDB中存储自定义数据。

  3. 对数据创建MongoDB Vector Search索引。

  4. 运行以下向量搜索查询:

    • 语义搜索。

    • 带元数据预过滤的语义搜索。

  5. 使用 MongoDB Vector Search 来回答有关数据的问题,从而实施RAG

使用本教程的可运行版本以作为 Python 笔记本。

LlamaIndex 是一个开源框架,旨在简化将自定义数据源连接到LLM的方式。 它提供了多种工具(例如数据连接器、索引和查询引擎)来帮助您为RAG应用程序加载和准备向量嵌入。

通过将MongoDB Vector Search 与 LlamaIndex 集成,您可以将MongoDB用作向量数据库,并使用MongoDB Vector Search 从数据中检索语义相似的文档来实现RAG。要学习;了解有关 RAG 的更多信息,请参阅 使用MongoDB检索增强生成 (RAG)。

如要完成本教程,您必须具备以下条件:

  • 以下MongoDB 集群类型之一:

  • OpenAI API密钥。您必须拥有一个具有可用于API请求的积分的 OpenAI 帐户。要学习;了解有关注册 OpenAI 帐户的更多信息,请参阅 OpenAI API网站。

  • Voyage AI API密钥。要创建帐户和API密钥,请参阅 Voyage AI网站。

  • 运行交互式Python笔记本(例如 Colab)的环境。

为此教程设置环境。 通过保存具有 .ipynb 扩展名的文件来创建交互式Python笔记本。 此 Notebook 允许您单独运行Python代码片段,并且您将使用它来运行本教程中的代码。

要设立笔记本环境,请执行以下操作:

1

运行以下命令:

pip install --quiet --upgrade llama-index llama-index-vector-stores-mongodb llama-index-llms-openai llama-index-embeddings-voyageai pymongo

然后,运行以下代码以导入所需的包:

import os, pymongo, pprint
from pymongo.operations import SearchIndexModel
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex, StorageContext
from llama_index.core.settings import Settings
from llama_index.core.retrievers import VectorIndexRetriever
from llama_index.core.vector_stores import MetadataFilter, MetadataFilters, ExactMatchFilter, FilterOperator
from llama_index.core.query_engine import RetrieverQueryEngine
from llama_index.embeddings.voyageai import VoyageEmbedding
from llama_index.llms.openai import OpenAI
from llama_index.vector_stores.mongodb import MongoDBAtlasVectorSearch
2

运行以下代码,将占位符替换为以下值:

  • 您的 OpenAI API 密钥。

  • 您的 Voyage AI API密钥。

  • 您的MongoDB集群的SRV连接字符串。

os.environ["OPENAI_API_KEY"] = "<openai-api-key>"
os.environ["VOYAGEAI_API_KEY"] = "<voyageai-api-key>"
MONGODB_URI = "<connection-string>"

注意

<connection-string> 替换为您的 Atlas 集群或本地部署的连接字符串。

连接字符串应使用以下格式:

mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net

要学习;了解更多信息,请参阅通过驱动程序连接到集群。

连接字符串应使用以下格式:

mongodb://localhost:<port-number>/?directConnection=true

要学习;了解更多信息,请参阅连接字符串。

3

运行以下代码以配置特定于 LlamaIndex 的设置。 这些设置指定以下内容:

  • voyage-3-large 作为应用程序用于从数据生成向量嵌入的嵌入模型。

  • OpenAI 作为应用程序使用的法学硕士,用于回答有关数据的问题。

  • 数据段大小和重叠,用于自定义 LlamaIndex 如何对数据进行存储分区。

from llama_index.embeddings.voyageai import VoyageEmbedding
embed_model= VoyageEmbedding(
voyage_api_key = os.environ["VOYAGEAI_API_KEY"],
model_name = "voyage-3-large",
)
Settings.llm = OpenAI()
Settings.embed_model = embed_model
Settings.chunk_size = 100
Settings.chunk_overlap = 10

然后,将自定义数据加载到MongoDB中,并将MongoDB 集群实例化为向量数据库(也称为向量存储)。将以下代码片段复制并粘贴到笔记本中。

1

在本教程中,您将使用一份可公开访问的 PDF文档作为向量存储的数据源,该文档包含最近的MongoDB收入报告。本文档介绍了 MongoDB 2025 财年第四季度和全年的财务业绩。

要加载样本数据,请运行以下代码片段。 它执行以下操作:

  • 创建一个名为data的新目录。

  • 从指定 URL 检索 PDF 并将其作为文件保存在目录中。

  • 使用 SimpleDirectoryReader 数据Connector 从文件中提取原始文本和元数据。它还将数据格式化为文档。

# Load the sample data
from urllib.request import urlretrieve
urlretrieve("https://investors.mongodb.com/node/13176/pdf", "mongodb-earnings-report.pdf")
sample_data = SimpleDirectoryReader(input_files=["mongodb-earnings-report.pdf"]).load_data()
# Print the first document
sample_data[0]
Document(id_='62b7cace-30c0-4687-9d87-e178547ae357', embedding=None,
metadata={'page_label': '1', 'file_name': 'mongodb-earnings-report.pdf',
'file_path': 'data/mongodb-earnings-report.pdf', 'file_type':
'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28',
'last_modified_date': '2025-05-28'},
excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size',
'creation_date', 'last_modified_date', 'last_accessed_date'],
excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size',
'creation_date', 'last_modified_date', 'last_accessed_date'],
relationships={}, metadata_template='{key}: {value}', metadata_separator='\n',
text_resource=MediaResource(embeddings=None, data=None, text='MongoDB, Inc.
Announces Fourth Quarter and Full Year Fiscal 2025 Financial Results\nMarch 5,
2025\nFourth Quarter Fiscal 2025 Total Revenue of $548.4 million, up 20%
Year-over-Year\nFull Year Fiscal 2025 Total Revenue of $2.01 billion, up 19%
Year-over-Year\nContinued Strong Customer Growth with Over 54,500 Customers as
of January 31, 2025\nMongoDB Atlas Revenue up 24% Year-over-Year; 71% of Total
Q4 Revenue\nNEW YORK , March 5, 2025 /PRNewswire/ -- MongoDB, Inc. (NASDAQ:
MDB) today announced its financial results for the fourth quarter and
fiscal\nyear ended January 31, 2025.\n\xa0\n \xa0\n"MongoDB delivered a
strong end to fiscal 2025 with 24% Atlas revenue growth and significant margin
expansion. Atlas consumption in the quarter\nwas better than expected and we
continue to see good performance in new workload wins due to the flexibility,
scalability and performance of the\nMongoDB platform. In fiscal year 2026 we
expect to see stable consumption growth in Atlas, our main growth driver,"
said Dev Ittycheria, President\nand Chief Executive Officer of MongoDB
.\n"Looking ahead, we remain incredibly excited about our long-term growth
opportunity. MongoDB removes the constraints of legacy databases,\nenabling
businesses to innovate at AI speed with our flexible document model and
seamless scalability. Following the Voyage AI acquisition, we\ncombine
real-time data, sophisticated embedding and retrieval models and semantic
search directly in the database, simplifying the development of\ntrustworthy
AI-powered apps."\nFourth Quarter Fiscal 2025 Financial Highlights\nRevenue:
Total revenue was $548.4 million for the fourth quarter of fiscal 2025, an
increase of 20% year-over-year.\nSubscription revenue was $531.0 million, an
increase of 19% year-over-year, and services revenue was $17.4 million,
an\nincrease of 34% year-over-year.\nGross Profit: Gross profit was $399.4
million for the fourth quarter of fiscal 2025, representing a 73% gross
margin\ncompared to 75% in the year-ago period. Non-GAAP gross profit was
$411.7 million, representing a 75% non-GAAP gross\nmargin, compared to a
non-GAAP gross margin of 77% in the year-ago period.\nLoss from Operations:
Loss from operations was $18.6 million for the fourth quarter of fiscal 2025,
compared to a loss\nfrom operations of $71.0 million in the year-ago period.
Non-GAAP income from operations was $112.5 million, compared\nto non-GAAP
income from operations of $69.2 million in the year-ago period.\nNet Income
(Loss): Net income was $15.8 million, or $0.20 per share, based on 77.6
million weighted-average shares\noutstanding, for the fourth quarter of fiscal
2025. This compares to a net loss of $55.5 million, or $0.77 per share, in
the\nyear-ago period. Non-GAAP net income was $108.4 million, or $1.28 per
share, based on 84.6 million fully diluted\nweighted-average shares
outstanding. This compares to a non-GAAP net income of $71.1 million, or $0.86
per share, in\nthe year-ago period.\nCash Flow: As of January 31, 2025,
MongoDB had $2.3 billion in cash, cash equivalents, short-term investments
and\nrestricted cash. During the three months ended January 31, 2025, MongoDB
generated $50.5 million of cash from\noperations, compared to $54.6 million of
cash from operations in the year-ago period. MongoDB used $26.0 million of
cash\nin capital expenditures and used $1.6 million of cash in principal
payments of finance leases, leading to free cash flow of\n$22.9 million,
compared to free cash flow of $50.5 million in the year-ago period.\nFull Year
Fiscal 2025 Financial Highlights\nRevenue: Total revenue was $2.01 billion for
the full year fiscal 2025, an increase of 19% year-over-year.
Subscription\nrevenue was $1.94 billion, an increase of 19% year-over-year,
and services revenue was $62.6 million, an increase of
12%\nyear-over-year.\nGross Profit: Gross profit was $1.47 billion for the
full year fiscal 2025, representing a 73% gross margin compared to',
path=None, url=None, mimetype=None), image_resource=None, audio_resource=None,
video_resource=None, text_template='{metadata_str}\n\n{content}')
2

运行以下代码,使用 MongoDBAtlasVectorSearch 方法创建向量存储,该方法指定以下内容:

  • 与MongoDB 集群的连接。

  • llamaindex_db.test 用于存储文档的MongoDB 数据库和集合。

  • vector_index 作为用于查询向量存储的索引。

然后,将向量存储保存到存储上下文,这是一个 LlamaIndex容器对象,用于准备存储数据。

# Connect to your MongoDB cluster
mongo_client = pymongo.MongoClient(MONGODB_URI)
# Instantiate the vector store
vector_store = MongoDBAtlasVectorSearch(
mongo_client,
db_name = "llamaindex_db",
collection_name = "test",
vector_index_name = "vector_index"
)
vector_store_context = StorageContext.from_defaults(vector_store=vector_store)
3

加载数据并将Atlas实例化为向量存储后,从数据生成向量嵌入并将其存储在Atlas中。为此,您必须构建向量存储索引。此类索引是 LlamaIndex 数据结构,可拆分、嵌入数据,然后将数据存储在向量存储中。

以下代码使用 VectorStoreIndex.from_documents 方法对示例数据构建向量存储索引。它将示例数据转换为向量嵌入,并根据向量存储的存储上下文指定,将这些嵌入作为文档存储在MongoDB 集群的 llamaindex_db.test集合中。

注意

此方法使用您在设立环境时配置的嵌入模型和数据块设置。

vector_store_index = VectorStoreIndex.from_documents(
sample_data, storage_context=vector_store_context, show_progress=True
)

提示

运行示例代码后,如果您使用的是Atlas ,则可以导航到Atlas 用户界面中的 llamaindex_db.test命名空间来验证向量嵌入。

要在向量存储上启用向量搜索查询,请在 llamaindex_db.test集合上创建MongoDB Vector Search索引。

在您的笔记本中,运行以下代码以创建 vectorSearch 类型的索引,而该索引会对以下字段编制索引:

  • embedding 字段作为向量类型。embedding字段包含使用 VoyageAI 的 voyage-3-large 嵌入模型创建的嵌入。索引定义指定了 1024 个向量维度,并使用 cosine 来衡量相似性。

  • metadata.page_label 字段作为筛选器类型,用于按 PDF 中的页码对数据进行预筛选。

# Specify the collection for which to create the index
collection = mongo_client["llamaindex_db"]["test"]
# Create your index model, then create the search index
search_index_model = SearchIndexModel(
definition={
"fields": [
{
"type": "vector",
"path": "embedding",
"numDimensions": 1024,
"similarity": "cosine"
},
{
"type": "filter",
"path": "metadata.page_label"
}
]
},
name="vector_index",
type="vectorSearch"
)
collection.create_search_index(model=search_index_model)

构建索引大约需要一分钟时间。在建立索引时,索引处于初始同步状态。 构建完成后,您可以开始查询集合中的数据。

如要完成本教程,您必须具备以下条件:

  • 以下MongoDB 集群类型之一:

  • OpenAI API密钥。您必须拥有一个具有可用于API请求的积分的 OpenAI 帐户。要学习;了解有关注册 OpenAI 帐户的更多信息,请参阅 OpenAI API网站。

  • 运行交互式Python笔记本(例如 Colab)的环境。

为此教程设置环境。 通过保存扩展名为 .ipynb 的文件来创建交互式Python笔记本。 此 Notebook 允许您单独运行Python代码片段,并且您将使用它来运行本教程中的代码。

要设立笔记本环境,请执行以下操作:

1

运行以下命令:

pip install --quiet --upgrade llama-index llama-index-vector-stores-mongodb llama-index-embeddings-openai pymongo

然后,运行以下代码以导入所需的包:

import os, pymongo, pprint
from pymongo.operations import SearchIndexModel
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex, StorageContext
from llama_index.core.settings import Settings
from llama_index.core.retrievers import VectorIndexRetriever
from llama_index.core.vector_stores import MetadataFilter, MetadataFilters, ExactMatchFilter, FilterOperator
from llama_index.core.query_engine import RetrieverQueryEngine
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
from llama_index.vector_stores.mongodb import MongoDBAtlasVectorSearch
2

运行以下代码,将占位符替换为以下值:

  • 您的 OpenAI API 密钥。

  • MongoDB集群的连接字符串。

os.environ["OPENAI_API_KEY"] = "<api-key>"
MONGODB_URI = "<connection-string>"

注意

<connection-string> 替换为您的 Atlas 集群或本地部署的连接字符串。

连接字符串应使用以下格式:

mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net

要学习;了解更多信息,请参阅通过驱动程序连接到集群。

连接字符串应使用以下格式:

mongodb://localhost:<port-number>/?directConnection=true

要学习;了解更多信息,请参阅连接字符串。

3

运行以下代码以配置特定于 LlamaIndex 的设置。 这些设置指定以下内容:

  • OpenAI 作为应用程序使用的法学硕士,用于回答有关数据的问题。

  • text-embedding-ada-002 作为应用程序用于从数据生成向量嵌入的嵌入模型。

  • 数据段大小和重叠,用于自定义 LlamaIndex 如何对数据进行存储分区。

Settings.llm = OpenAI()
Settings.embed_model = OpenAIEmbedding(model="text-embedding-ada-002")
Settings.chunk_size = 100
Settings.chunk_overlap = 10

然后,将自定义数据加载到MongoDB中,并将MongoDB 集群实例化为向量数据库(也称为向量存储)。将以下代码片段复制并粘贴到笔记本中。

1

在本教程中,您将使用一份可公开访问的 PDF文档作为向量存储的数据源,该文档包含最近的MongoDB收入报告。本文档介绍了 MongoDB 2025 财年第四季度和全年的财务业绩。

要加载样本数据,请运行以下代码片段。 它执行以下操作:

  • 创建一个名为data的新目录。

  • 从指定 URL 检索 PDF 并将其作为文件保存在目录中。

  • 使用 SimpleDirectoryReader 数据Connector 从文件中提取原始文本和元数据。它还将数据格式化为文档。

# Load the sample data
from urllib.request import urlretrieve
urlretrieve("https://investors.mongodb.com/node/13176/pdf", "mongodb-earnings-report.pdf")
sample_data = SimpleDirectoryReader(input_files=["./data/mongodb-earnings-report.pdf"]).load_data()
# Print the first document
sample_data[0]
Document(id_='62b7cace-30c0-4687-9d87-e178547ae357', embedding=None,
metadata={'page_label': '1', 'file_name': 'mongodb-earnings-report.pdf',
'file_path': 'data/mongodb-earnings-report.pdf', 'file_type':
'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28',
'last_modified_date': '2025-05-28'},
excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size',
'creation_date', 'last_modified_date', 'last_accessed_date'],
excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size',
'creation_date', 'last_modified_date', 'last_accessed_date'],
relationships={}, metadata_template='{key}: {value}', metadata_separator='\n',
text_resource=MediaResource(embeddings=None, data=None, text='MongoDB, Inc.
Announces Fourth Quarter and Full Year Fiscal 2025 Financial Results\nMarch 5,
2025\nFourth Quarter Fiscal 2025 Total Revenue of $548.4 million, up 20%
Year-over-Year\nFull Year Fiscal 2025 Total Revenue of $2.01 billion, up 19%
Year-over-Year\nContinued Strong Customer Growth with Over 54,500 Customers as
of January 31, 2025\nMongoDB Atlas Revenue up 24% Year-over-Year; 71% of Total
Q4 Revenue\nNEW YORK , March 5, 2025 /PRNewswire/ -- MongoDB, Inc. (NASDAQ:
MDB) today announced its financial results for the fourth quarter and
fiscal\nyear ended January 31, 2025.\n\xa0\n \xa0\n"MongoDB delivered a
strong end to fiscal 2025 with 24% Atlas revenue growth and significant margin
expansion. Atlas consumption in the quarter\nwas better than expected and we
continue to see good performance in new workload wins due to the flexibility,
scalability and performance of the\nMongoDB platform. In fiscal year 2026 we
expect to see stable consumption growth in Atlas, our main growth driver,"
said Dev Ittycheria, President\nand Chief Executive Officer of MongoDB
.\n"Looking ahead, we remain incredibly excited about our long-term growth
opportunity. MongoDB removes the constraints of legacy databases,\nenabling
businesses to innovate at AI speed with our flexible document model and
seamless scalability. Following the Voyage AI acquisition, we\ncombine
real-time data, sophisticated embedding and retrieval models and semantic
search directly in the database, simplifying the development of\ntrustworthy
AI-powered apps."\nFourth Quarter Fiscal 2025 Financial Highlights\nRevenue:
Total revenue was $548.4 million for the fourth quarter of fiscal 2025, an
increase of 20% year-over-year.\nSubscription revenue was $531.0 million, an
increase of 19% year-over-year, and services revenue was $17.4 million,
an\nincrease of 34% year-over-year.\nGross Profit: Gross profit was $399.4
million for the fourth quarter of fiscal 2025, representing a 73% gross
margin\ncompared to 75% in the year-ago period. Non-GAAP gross profit was
$411.7 million, representing a 75% non-GAAP gross\nmargin, compared to a
non-GAAP gross margin of 77% in the year-ago period.\nLoss from Operations:
Loss from operations was $18.6 million for the fourth quarter of fiscal 2025,
compared to a loss\nfrom operations of $71.0 million in the year-ago period.
Non-GAAP income from operations was $112.5 million, compared\nto non-GAAP
income from operations of $69.2 million in the year-ago period.\nNet Income
(Loss): Net income was $15.8 million, or $0.20 per share, based on 77.6
million weighted-average shares\noutstanding, for the fourth quarter of fiscal
2025. This compares to a net loss of $55.5 million, or $0.77 per share, in
the\nyear-ago period. Non-GAAP net income was $108.4 million, or $1.28 per
share, based on 84.6 million fully diluted\nweighted-average shares
outstanding. This compares to a non-GAAP net income of $71.1 million, or $0.86
per share, in\nthe year-ago period.\nCash Flow: As of January 31, 2025,
MongoDB had $2.3 billion in cash, cash equivalents, short-term investments
and\nrestricted cash. During the three months ended January 31, 2025, MongoDB
generated $50.5 million of cash from\noperations, compared to $54.6 million of
cash from operations in the year-ago period. MongoDB used $26.0 million of
cash\nin capital expenditures and used $1.6 million of cash in principal
payments of finance leases, leading to free cash flow of\n$22.9 million,
compared to free cash flow of $50.5 million in the year-ago period.\nFull Year
Fiscal 2025 Financial Highlights\nRevenue: Total revenue was $2.01 billion for
the full year fiscal 2025, an increase of 19% year-over-year.
Subscription\nrevenue was $1.94 billion, an increase of 19% year-over-year,
and services revenue was $62.6 million, an increase of
12%\nyear-over-year.\nGross Profit: Gross profit was $1.47 billion for the
full year fiscal 2025, representing a 73% gross margin compared to',
path=None, url=None, mimetype=None), image_resource=None, audio_resource=None,
video_resource=None, text_template='{metadata_str}\n\n{content}')
2

运行以下代码,使用 MongoDBAtlasVectorSearch 方法创建向量存储,该方法指定以下内容:

  • 与MongoDB 集群的连接。

  • llamaindex_db.test 用于存储文档的MongoDB 数据库和集合。

  • vector_index 作为用于查询向量存储的索引。

然后,将向量存储保存到存储上下文,这是一个 LlamaIndex容器对象,用于准备存储数据。

# Connect to your MongoDB cluster
mongo_client = pymongo.MongoClient(MONGODB_URI)
# Instantiate the vector store
vector_store = MongoDBAtlasVectorSearch(
mongo_client,
db_name = "llamaindex_db",
collection_name = "test",
vector_index_name = "vector_index"
)
vector_store_context = StorageContext.from_defaults(vector_store=vector_store)
3

加载数据并将MongoDB实例化为向量存储后,从数据生成向量嵌入并将其存储在MongoDB中。为此,您必须构建向量存储索引。此类索引是 LlamaIndex 数据结构,可拆分、嵌入数据,然后将数据存储在向量存储中。

以下代码使用 VectorStoreIndex.from_documents 方法对示例数据构建向量存储索引。它将示例数据转换为向量嵌入,并根据向量存储的存储上下文指定,将这些嵌入作为文档存储在MongoDB 集群的 llamaindex_db.test集合中。

注意

此方法使用您在设立环境时配置的嵌入模型和数据块设置。

vector_store_index = VectorStoreIndex.from_documents(
sample_data, storage_context=vector_store_context, show_progress=True
)

提示

运行示例代码后,如果您使用的是Atlas ,则可以导航到Atlas 用户界面中的 llamaindex_db.test命名空间来验证向量嵌入。

要在向量存储上启用向量搜索查询,请在 llamaindex_db.test集合上创建MongoDB Vector Search索引。

在您的笔记本中,运行以下代码以创建 vectorSearch 类型的索引,而该索引会对以下字段编制索引:

  • embedding 字段作为向量类型。 embedding字段包含使用 OpenAI 的text-embedding-ada-002嵌入模型创建的嵌入。 索引定义指定了1536向量维度,并使用cosine来衡量相似性。

  • metadata.page_label 字段作为筛选器类型,用于按 PDF 中的页码对数据进行预筛选。

# Specify the collection for which to create the index
collection = mongo_client["llamaindex_db"]["test"]
# Create your index model, then create the search index
search_index_model = SearchIndexModel(
definition={
"fields": [
{
"type": "vector",
"path": "embedding",
"numDimensions": 1536,
"similarity": "cosine"
},
{
"type": "filter",
"path": "metadata.page_label"
}
]
},
name="vector_index",
type="vectorSearch"
)
collection.create_search_index(model=search_index_model)

构建索引大约需要一分钟时间。在建立索引时,索引处于初始同步状态。 构建完成后,您可以开始查询集合中的数据。

MongoDB构建索引后,返回笔记本并对数据运行向量搜索查询。以下示例演示了可以对矢量化数据运行的不同查询。

此示例对字符串MongoDB Atlas security执行基本语义搜索,并返回按相关性分数排名的文档列表。 它还指定了以下内容:

  • MongoDB Vector Search 作为检索器来执行语义搜索。

  • similarity_top_k 参数仅返回三个最相关的文档。

retriever = vector_store_index.as_retriever(similarity_top_k=3)
nodes = retriever.retrieve("MongoDB acquisition")
for node in nodes:
print(node)
Node ID: 479446ef-8a32-410d-a5e0-8650bd10d78d
Text: MongoDB completed the redemption of 2026 Convertible Notes,
eliminating all debt from the balance sheet. Additionally, in
conjunction with the acquisition of Voyage, MongoDB is announcing a
stock buyback program of $200 million, to offset the dilutive impact
of the acquisition consideration.
Score: 0.914
Node ID: 453137d9-8902-4fae-8d81-5f5d9b0836eb
Text: "Looking ahead, we remain incredibly excited about our long-term
growth opportunity. MongoDB removes the constraints of legacy
databases, enabling businesses to innovate at AI speed with our
flexible document model and seamless scalability. Following the Voyage
AI acquisition, we combine real-time data, sophisticated embedding and
retrieval mod...
Score: 0.914
Node ID: f3c35db6-43e5-4da7-a297-d9b009b9d300
Text: Lombard Odier, a Swiss private bank, partnered with MongoDB to
migrate and modernize its legacy banking technology systems on MongoDB
with generative AI. The initiative enabled the bank to migrate code
50-60 times quicker and move applications from a legacy relational
database to MongoDB 20 times faster than previous migrations.
Score: 0.912

您可以使用 MQL 匹配表达式来预过滤您的数据,该表达式将索引字段与集合中的另一个值进行比较。您必须将要过滤的任何元数据字段作为 filter 类型进行索引。要了解详情,请参阅如何为向量搜索建立字段索引。

注意

在为本教程创建索引时,您已指定 metadata.page_label字段作为过滤。

此示例对字符串 MongoDB Atlas security 执行语义搜索,并返回按相关性分数排序的文档列表。它还指定了以下内容:

  • MongoDB Vector Search 作为检索器来执行语义搜索。

  • similarity_top_k 参数仅返回三个最相关的文档。

  • metadata.page_label字段上的过滤,以便MongoDB Vector Search 仅搜索出现在第二页上的文档。

# Specify metadata filters
metadata_filters = MetadataFilters(
filters=[ExactMatchFilter(key="metadata.page_label", value="2")]
)
retriever = vector_store_index.as_retriever(similarity_top_k=3, filters=metadata_filters)
nodes = retriever.retrieve("MongoDB acquisition")
for node in nodes:
print(node)
Node ID: 479446ef-8a32-410d-a5e0-8650bd10d78d
Text: MongoDB completed the redemption of 2026 Convertible Notes,
eliminating all debt from the balance sheet. Additionally, in
conjunction with the acquisition of Voyage, MongoDB is announcing a
stock buyback program of $200 million, to offset the dilutive impact
of the acquisition consideration.
Score: 0.914
Node ID: f3c35db6-43e5-4da7-a297-d9b009b9d300
Text: Lombard Odier, a Swiss private bank, partnered with MongoDB to
migrate and modernize its legacy banking technology systems on MongoDB
with generative AI. The initiative enabled the bank to migrate code
50-60 times quicker and move applications from a legacy relational
database to MongoDB 20 times faster than previous migrations.
Score: 0.912
Node ID: 82a2a0c0-80b9-4a9e-a848-529b4ff8f301
Text: Fourth Quarter Fiscal 2025 and Recent Business Highlights
MongoDB acquired Voyage AI, a pioneer in state-of-the-art embedding
and reranking models that power next-generation AI applications.
Integrating Voyage AI's technology with MongoDB will enable
organizations to easily build trustworthy, AI-powered applications by
offering highly accurate...
Score: 0.911

本部分演示如何使用MongoDB Vector Search 和 LlamaIndex 在应用程序中实现RAG。现在您已了解如何运行向量搜索查询来检索语义相似的文档,运行以下代码以使用MongoDB Vector Search 来检索文档,并使用 LlamaIndex查询引擎来回答基于这些文档的问题。

此示例执行以下操作:

  • 将 MongoDB Vector Search 实例化为向量索引检索器,这是向量存储的一种特定类型的检索器。它包含 similarity_top_k 参数,以便MongoDB Vector Search 仅检索 5 个最相关的文档。

  • 实例化RetrieverQueryEngine查询引擎以回答有关数据的问题。 出现提示时,查询引擎执行以下操作:

    • 使用MongoDB Vector Search 作为检索器,根据提示查询语义相似的文档。

    • 调用您在设置环境时指定的 LLM ,用于根据检索到的文档生成情境感知响应。

  • 向 LLM 提示有关 Atlas 安全建议的示例查询。

  • 返回 LLM 的响应和作为上下文使用的文档。产生的响应可能会有所不同。

# Instantiate MongoDB Vector Search as a retriever
vector_store_retriever = VectorIndexRetriever(index=vector_store_index, similarity_top_k=5)
# Pass the retriever into the query engine
query_engine = RetrieverQueryEngine(retriever=vector_store_retriever)
# Prompt the LLM
response = query_engine.query("What was MongoDB's latest acquisition?")
print(response)
print("\nSource documents: ")
pprint.pprint(response.source_nodes)
MongoDB's latest acquisition was Voyage AI, a pioneer in embedding and reranking models for next-generation AI applications.
Source documents:
[NodeWithScore(node=TextNode(id_='82a2a0c0-80b9-4a9e-a848-529b4ff8f301', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='8cfe6680-8dec-486e-92c5-89ac1733b6c8', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='b6c412af868c29d67a6b030f266cd0e680f4a578a34c209c1818ff9a366c9d44'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='479446ef-8a32-410d-a5e0-8650bd10d78d', node_type='1', metadata={}, hash='b805543bf0ef0efc25492098daa9bd9c037043fb7228fb0c3270de235e668341')}, metadata_template='{key}: {value}', metadata_separator='\n', text="Fourth Quarter Fiscal 2025 and Recent Business Highlights\nMongoDB acquired Voyage AI, a pioneer in state-of-the-art embedding and reranking models that power next-generation\nAI applications. Integrating Voyage AI's technology with MongoDB will enable organizations to easily build trustworthy,\nAI-powered applications by offering highly accurate and relevant information retrieval deeply integrated with operational\ndata.", mimetype='text/plain', start_char_idx=1678, end_char_idx=2101, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9279670119285583),
NodeWithScore(node=TextNode(id_='453137d9-8902-4fae-8d81-5f5d9b0836eb', embedding=None, metadata={'page_label': '1', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='62b7cace-30c0-4687-9d87-e178547ae357', node_type='4', metadata={'page_label': '1', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='cb1dbd172c17e53682296ccc966ebdbb5605acb4fbf3872286e3a202c1d3650d'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='b6ae7c13-5bec-47f5-887f-835fc7bae374', node_type='1', metadata={'page_label': '1', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='a4835102686cdf03d1106946237d50031d00a0861eea892e38b928dd5e44e295'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='3d4034d3-bac5-4985-8926-9213f8a87318', node_type='1', metadata={}, hash='f103b351f2bda28ec3d2f1bb4f40d93ac1698ea5f7630a5297688a4caa419389')}, metadata_template='{key}: {value}', metadata_separator='\n', text='"Looking ahead, we remain incredibly excited about our long-term growth opportunity. MongoDB removes the constraints of legacy databases,\nenabling businesses to innovate at AI speed with our flexible document model and seamless scalability. Following the Voyage AI acquisition, we\ncombine real-time data, sophisticated embedding and retrieval models and semantic search directly in the database, simplifying the development of\ntrustworthy AI-powered apps."', mimetype='text/plain', start_char_idx=1062, end_char_idx=1519, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.921961784362793),
NodeWithScore(node=TextNode(id_='85dd431c-2d4c-4336-ab39-e87a97b30c59', embedding=None, metadata={'page_label': '4', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='311532cc-f526-4fc3-adb6-49e76afdd580', node_type='4', metadata={'page_label': '4', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='37f0ad7fcb7f204226ea7c6c475360e2db55bb77447f1742a164efb9c1da5dc0'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='6175bcb6-9e2a-4196-85f7-0585bcbbdd3b', node_type='1', metadata={}, hash='0e92e55a50f8b6dbfe7bcaedb0ccc42345a185048efcd440e3ee1935875e7cbf')}, metadata_template='{key}: {value}', metadata_separator='\n', text="Headquartered in New York, MongoDB's mission is to empower innovators to create, transform, and disrupt industries with software and data.\nMongoDB's unified, intelligent data platform was built to power the next generation of applications, and MongoDB is the most widely available, globally\ndistributed database on the market.", mimetype='text/plain', start_char_idx=0, end_char_idx=327, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9217028021812439),
NodeWithScore(node=TextNode(id_='f3c35db6-43e5-4da7-a297-d9b009b9d300', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='3008736c-29f0-4b41-ac0f-efdb469319b9', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='cd3647350e6d7fcd89e2303fe1995b8f91b633c5f33e14b3b4c18a16738ea86f'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='c9bef874-77ee-40bc-a1fe-ca42d1477cb3', node_type='1', metadata={}, hash='c7d7af8a1b43b587a9c47b27f57e7cb8bc35bd90390a078db21e3f5253ee7cc1')}, metadata_template='{key}: {value}', metadata_separator='\n', text='Lombard Odier, a Swiss private bank, partnered with MongoDB to migrate and modernize its legacy banking technology\nsystems on MongoDB with generative AI. The initiative enabled the bank to migrate code 50-60 times quicker and move\napplications from a legacy relational database to MongoDB 20 times faster than previous migrations.', mimetype='text/plain', start_char_idx=2618, end_char_idx=2951, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9197831153869629),
NodeWithScore(node=TextNode(id_='479446ef-8a32-410d-a5e0-8650bd10d78d', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='82a2a0c0-80b9-4a9e-a848-529b4ff8f301', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='688872b911c388c239669970f562d4014aaec4753903e75f4bdfcf1eb1daf5ab'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='3008736c-29f0-4b41-ac0f-efdb469319b9', node_type='1', metadata={}, hash='a854a9bf103e429ce78b45603df9e2341e5d0692aa95e544e6c82616be29b28e')}, metadata_template='{key}: {value}', metadata_separator='\n', text='MongoDB completed the redemption of 2026 Convertible Notes, eliminating all debt from the balance sheet. Additionally, in\nconjunction with the acquisition of Voyage, MongoDB is announcing a stock buyback program of $200 million, to offset the\ndilutive impact of the acquisition consideration.', mimetype='text/plain', start_char_idx=2102, end_char_idx=2396, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9183852672576904)]

此示例执行以下操作:

  • metadata.page_label字段上定义元数据过滤,以便MongoDB Vector Search 仅搜索出现在第二页上的文档。

  • 将 MongoDB Vector Search 实例化为向量索引检索器,这是向量存储的一种特定类型的检索器。它包括您定义的元数据筛选器和 similarity_top_k 参数,以便MongoDB Vector Search 仅检索第二页中相关度最高的 5 个文档。

  • 实例化RetrieverQueryEngine查询引擎以回答有关数据的问题。 出现提示时,查询引擎执行以下操作:

    • 使用MongoDB Vector Search 作为检索器,根据提示查询语义相似的文档。

    • 调用您在设置环境时指定的 LLM ,用于根据检索到的文档生成情境感知响应。

  • 向 LLM 提示有关 Atlas 安全建议的示例查询。

  • 返回 LLM 的响应和作为上下文使用的文档。产生的响应可能会有所不同。

# Specify metadata filters
metadata_filters = MetadataFilters(
filters=[ExactMatchFilter(key="metadata.page_label", value="2")]
)
# Instantiate MongoDB Vector Search as a retriever
vector_store_retriever = VectorIndexRetriever(index=vector_store_index, filters=metadata_filters, similarity_top_k=5)
# Pass the retriever into the query engine
query_engine = RetrieverQueryEngine(retriever=vector_store_retriever)
# Prompt the LLM
response = query_engine.query("What was MongoDB's latest acquisition?")
print(response)
print("\nSource documents: ")
pprint.pprint(response.source_nodes)
MongoDB's latest acquisition was Voyage AI, a pioneer in embedding and reranking models that power next-generation AI applications.
Source documents:
[NodeWithScore(node=TextNode(id_='82a2a0c0-80b9-4a9e-a848-529b4ff8f301', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='8cfe6680-8dec-486e-92c5-89ac1733b6c8', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='b6c412af868c29d67a6b030f266cd0e680f4a578a34c209c1818ff9a366c9d44'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='479446ef-8a32-410d-a5e0-8650bd10d78d', node_type='1', metadata={}, hash='b805543bf0ef0efc25492098daa9bd9c037043fb7228fb0c3270de235e668341')}, metadata_template='{key}: {value}', metadata_separator='\n', text="Fourth Quarter Fiscal 2025 and Recent Business Highlights\nMongoDB acquired Voyage AI, a pioneer in state-of-the-art embedding and reranking models that power next-generation\nAI applications. Integrating Voyage AI's technology with MongoDB will enable organizations to easily build trustworthy,\nAI-powered applications by offering highly accurate and relevant information retrieval deeply integrated with operational\ndata.", mimetype='text/plain', start_char_idx=1678, end_char_idx=2101, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9280173778533936),
NodeWithScore(node=TextNode(id_='f3c35db6-43e5-4da7-a297-d9b009b9d300', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='3008736c-29f0-4b41-ac0f-efdb469319b9', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='cd3647350e6d7fcd89e2303fe1995b8f91b633c5f33e14b3b4c18a16738ea86f'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='c9bef874-77ee-40bc-a1fe-ca42d1477cb3', node_type='1', metadata={}, hash='c7d7af8a1b43b587a9c47b27f57e7cb8bc35bd90390a078db21e3f5253ee7cc1')}, metadata_template='{key}: {value}', metadata_separator='\n', text='Lombard Odier, a Swiss private bank, partnered with MongoDB to migrate and modernize its legacy banking technology\nsystems on MongoDB with generative AI. The initiative enabled the bank to migrate code 50-60 times quicker and move\napplications from a legacy relational database to MongoDB 20 times faster than previous migrations.', mimetype='text/plain', start_char_idx=2618, end_char_idx=2951, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9198455214500427),
NodeWithScore(node=TextNode(id_='479446ef-8a32-410d-a5e0-8650bd10d78d', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='82a2a0c0-80b9-4a9e-a848-529b4ff8f301', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='688872b911c388c239669970f562d4014aaec4753903e75f4bdfcf1eb1daf5ab'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='3008736c-29f0-4b41-ac0f-efdb469319b9', node_type='1', metadata={}, hash='a854a9bf103e429ce78b45603df9e2341e5d0692aa95e544e6c82616be29b28e')}, metadata_template='{key}: {value}', metadata_separator='\n', text='MongoDB completed the redemption of 2026 Convertible Notes, eliminating all debt from the balance sheet. Additionally, in\nconjunction with the acquisition of Voyage, MongoDB is announcing a stock buyback program of $200 million, to offset the\ndilutive impact of the acquisition consideration.', mimetype='text/plain', start_char_idx=2102, end_char_idx=2396, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.918432891368866),
NodeWithScore(node=TextNode(id_='3008736c-29f0-4b41-ac0f-efdb469319b9', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='479446ef-8a32-410d-a5e0-8650bd10d78d', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='833c2af73d617c1fef7d04111e010bfe06eeeb36c71225c0fb72987cd164526b'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='f3c35db6-43e5-4da7-a297-d9b009b9d300', node_type='1', metadata={}, hash='c39c6258ff9fe34b650dd2782ae20e1ed57ed20465176cbf455ee9857e57dba0')}, metadata_template='{key}: {value}', metadata_separator='\n', text='For the third consecutive year, MongoDB was named a Leader in the 2024 Gartner® Magic Quadrant™ for Cloud\nDatabase Management Systems. Gartner evaluated 20 vendors based on Ability to Execute and Completeness of Vision.', mimetype='text/plain', start_char_idx=2397, end_char_idx=2617, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.917201817035675),
NodeWithScore(node=TextNode(id_='d50a3746-84ac-4928-a252-4eda3515f9fc', embedding=None, metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={<NodeRelationship.SOURCE: '1'>: RelatedNodeInfo(node_id='2171a7d3-482c-4f83-beee-8c37e0ebc747', node_type='4', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='ef623ef7400aa6e120f821b455b2ddce99b94c57365e7552b676abaa3eb23640'), <NodeRelationship.PREVIOUS: '2'>: RelatedNodeInfo(node_id='25e4f1c9-41ba-4344-b775-842a0a15c207', node_type='1', metadata={'page_label': '2', 'file_name': 'mongodb-earnings-report.pdf', 'file_path': 'data/mongodb-earnings-report.pdf', 'file_type': 'application/pdf', 'file_size': 150863, 'creation_date': '2025-05-28', 'last_modified_date': '2025-05-28'}, hash='28af4302a69924722e2ccd2015b8d64fa83790b4f0d4759898ede48e40668fa1'), <NodeRelationship.NEXT: '3'>: RelatedNodeInfo(node_id='13da6584-75b4-4eb8-a071-8297087ce12c', node_type='1', metadata={}, hash='e316923acbe01dede55287258f9649bb9865ef2357f2316e190b97aef84f22ec')}, metadata_template='{key}: {value}', metadata_separator='\n', text="as amended, including statements concerning MongoDB's financial guidance\nfor the first fiscal quarter and full year fiscal 2026 and underlying assumptions, our expectations regarding Atlas consumption growth and the benefits\nof the Voyage AI acquisition.", mimetype='text/plain', start_char_idx=5174, end_char_idx=5428, metadata_seperator='\n', text_template='{metadata_str}\n\n{content}'), score=0.9084539413452148)]

要探索 LlamaIndex 适用于 RAG 应用程序的完整工具库(包括数据连接器、索引和查询引擎),请参阅 LlamaHub。

要扩展本教程中的应用程序以进行来回对话,请参阅聊天引擎。

MongoDB 还提供以下开发者资源:

后退

LangChain4j

在此页面上