Skip to main content
NebiusRetriever 支持使用来自 Nebius Token Factory 的嵌入向量进行高效的相似性搜索。它利用高质量的嵌入模型来实现文档的语义搜索。 此检索器针对需要对文档集合执行相似性搜索,但无需将向量持久化到向量数据库的场景进行了优化。它使用矩阵操作在内存中执行向量相似性搜索,因此对于中等规模的文档集合非常高效。

设置

安装

Nebius 集成可以通过 pip 安装:

凭证

Nebius 需要一个 API 密钥,可以作为初始化参数 api_key 传递,或设置为环境变量 NEBIUS_API_KEY。您可以通过在 Nebius Token Factory 上创建账户来获取 API 密钥。

实例化

NebiusRetriever 需要一个 NebiusEmbeddings 实例和一个文档列表。以下是初始化方法:

用法

检索相关文档

您可以使用检索器查找与查询相关的文档:

使用 get_relevant_documents

您也可以直接使用 get_relevant_documents 方法(尽管 invoke 是首选接口):

自定义结果数量

您可以在查询时通过传递 k 参数来调整结果数量:

异步支持

NebiusRetriever 支持异步操作:

处理空文档

在链中使用

NebiusRetriever 可以无缝地在 LangChain RAG 管道中工作。以下是使用 NebiusRetriever 创建简单 RAG 链的示例:

创建搜索工具

您可以使用 NebiusRetrievalTool 为代理创建工具:

工作原理

NebiusRetriever 的工作原理如下:
  1. 在初始化期间:
    • 它存储提供的文档
    • 它使用提供的 NebiusEmbeddings 为所有文档计算嵌入向量
    • 这些嵌入向量存储在内存中以便快速检索
  2. 在检索期间(invokeget_relevant_documents):
    • 它使用相同的嵌入模型对查询进行嵌入
    • 它计算查询嵌入向量与所有文档嵌入向量之间的相似度分数
    • 它返回按相似度排序的前 k 个文档
这种方法对于中等规模的文档集合非常高效,因为它避免了对单独向量数据库的需求,同时仍提供高质量的语义搜索。

API 参考

有关 Nebius Token Factory API 的更多详细信息,请访问 Nebius Token Factory 文档