Docs 菜单
Docs 主页
/

使用 Voyage AI嵌入进行语义搜索

本指南介绍如何使用 Voyage AI模型执行语义搜索。本页包含基本和高级语义搜索使用案例的示例,包括带重新排名的搜索,以及多语言、多模式、上下文化数据数据块和大型语料库检索。

语义搜索工作流程示意图

本节提供使用不同 Voyage AI模型的各种语义搜索用例的代码示例。对于每个示例,您都执行相同的基本步骤:

  1. 嵌入文档:将数据转换为能够捕捉其含义的向量嵌入。这些数据可以是文本、图像、文档段或大型文本语料库。

  2. 嵌入查询:将搜索查询转换为与文档相同的向量表示形式。

  3. 查找相似文档:将查询向量与文档向量进行比较,以确定语义上最相似的结果。

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

1

在开始之前,请创建项目目录、安装库并设立模型API密钥。

  1. 在终端中运行以下命令,为本教程创建新目录并安装所需的库:

    mkdir voyage-semantic-search
    cd voyage-semantic-search
    pip install --upgrade voyageai numpy datasets
  2. 如果您还没有,请按照步骤 创建模型API密钥,然后在终端中运行以下命令,将其作为环境变量导出:

    export VOYAGE_API_KEY="your-model-api-key"
2

展开每个部分以获取每种类型的语义搜索的代码示例。

下表汇总了此页面上的示例:

例子
使用的模型
了解结果

基本语义搜索

voyage-4-large

Apple 电话会议文档排名第一,明显高于不相关文档,体现了准确的语义匹配。

使用 Reranker 进行语义搜索

voyage-4-largererank-2.5

重新排名通过分析完整的查询-文档关系来提高搜索准确性。虽然单独嵌入相似度可以将正确的文档以中等分数排名第一,但重排序器显着提高了其相关性分数,从而更好地将其与不相关的结果区分开来。

多语言语义搜索

voyage-4-large

Voyage 模型可跨不同语言有效执行语义搜索。该示例演示了英语、西班牙语和中文的三个独立搜索,每次搜索都正确识别各自语言中与科技公司收益最相关的文档。

多模态语义搜索

voyage-multimodal-3.5

该模型支持交错的文本、图像和视频,以及仅图像和仅视频搜索。在这两种情况下,宠物图像(猫和狗)的排名明显高于不相关的香蕉图像,证明了视觉内容检索的准确性。与仅图像输入相比,带有描述性文本的交错输入产生的相似度分数稍高。

上下文化数据段嵌入

voyage-context-3

15%收入增长数据块排名第一,因为它链接到 Leafy Inc.文档。来自 Greenery Corp. 的相似 7% 增长数据块得分较低,这表明该模型如何准确地考虑文档上下文以区分其他方面相似的数据段。

使用大型语料库进行语义搜索

voyage-4-large

关于用户内容的参考标准文档在 154 个文档中排名第一,尽管语义复杂,但仍能有效地进行扩展检索。

语义搜索是一种根据数据的语义或根本的含义返回结果的搜索方法。与查找文本匹配的传统全文搜索不同,语义搜索会在多维空间中查找与搜索查询接近的向量。向量与您的查询越接近,它们在含义上就越相似。

例子

传统文本搜索仅返回精确匹配项,当用户使用与数据中不同的词语搜索时,结果会受到限制。示例,如果您的数据包含有关计算机鼠标和动物鼠标的文档,当您打算查找有关计算机鼠标的信息时搜索“鼠标”会导致不正确的匹配。

然而,即使没有词汇重叠,语义搜索也可以捕获单词或短语之间的根本的关系。在指示您正在寻找计算机产品时搜索“鼠标”会得到更相关的结果。这是因为语义搜索会将搜索查询的语义与数据进行比较,以仅返回最相关的结果,而不考虑确切的搜索词。

演示语义相似性的图表

将向量存储在内存中并实现自己的搜索管道适用于原型设计和实验,而将向量数据库和企业搜索解决方案用于生产应用程序,以便从更大的语料库中执行高效检索。

MongoDB原生支持向量存储和检索,因此成为将向量嵌入与其他数据一起存储和搜索的便捷选择。要完成有关使用MongoDB Vector Search 执行语义搜索的教程,请参阅如何对Atlas集群中的数据执行语义搜索。

将语义搜索与法学硕士相结合,实现RAG应用程序。

来年

RAG

在此页面上