嵌入指南

Gemini API 中的嵌入服务可为字词、短语和句子生成先进的嵌入。生成的嵌入随后可用于 NLP 任务,例如语义搜索、文本分类和聚类等等。本页面介绍了什么是嵌入,并重点介绍了嵌入服务的一些关键用例,以帮助您入门。

什么是嵌入?

文本嵌入是一种自然语言处理 (NLP) 技术,可将文本转换为数值向量。嵌入可捕获语义含义和上下文,从而使具有相似含义的文本具有更近的嵌入。例如,对于语句“I take my dog to the vet”(我带狗去兽医)和“I take my cat to the vet”(我带猫去兽医)的嵌入,向量空间中的嵌入会彼此接近,因为它们都描述相似的上下文。

这一点很重要,因为它可以解锁许多算法,这些算法可以对矢量执行运算,但不能直接对文本进行操作。

您可以使用这些嵌入或向量来比较不同的文本并了解它们之间的关系。例如,如果文本“cat”和“dog”的嵌入靠近,您可以推断这些字词的含义和/或上下文相似。此功能可用于实现下一部分中所述的各种用例。

用例

文本嵌入为各种 NLP 应用场景提供支持。例如:

  • 信息检索:目标是在给定一段输入文本的情况下检索语义相似的文本。信息检索系统(如语义搜索、解答问题或摘要)可支持各种应用。如需查看示例,请参阅文档搜索笔记本
  • 分类:您可以使用嵌入来训练模型,以便对文档进行分类。例如,如果要将用户评论分类为负面或正面,可以使用嵌入服务获取每条评论的向量表示,以训练分类器。如需了解详情,请参阅 Gemini 分类器示例
  • 聚类:比较文本向量可以显示它们的相似度或不同程度。此功能可用于训练将类似文本或文档分为一组的聚类模型以及检测数据中的异常
  • 矢量数据库:您可以将生成的嵌入存储在矢量数据库中,以提高 NLP 应用的准确性和效率。请参阅此页面,了解如何使用矢量数据库将文本提示转换为数字矢量

Elastic 嵌入

Gemini 文本嵌入模型(从 text-embedding-004 开始)提供低于 768 的弹性嵌入大小。您可以使用弹性嵌入生成较小的输出维度,并且有可能节省计算和存储费用,且性能损失微乎其微。

后续步骤