嵌入向量
文本嵌入是文本的数值表示,可用于衡量语义相似度。本指南介绍了嵌入向量、其应用场景,以及如何使用嵌入模型进行搜索、推荐和异常检测等任务。
在实施嵌入向量之前
在选择嵌入向量提供商时,根据您的需求和偏好可以考虑以下几个因素:
- 数据集大小和领域特异性:模型训练数据集的大小及其与您要嵌入的领域的相关性。更大或更具领域特异性的数据通常会产生更好的领域内嵌入效果
- 推理性能:嵌入查找速度和端到端延迟。这对于大规模生产部署来说是一个特别重要的考虑因素
- 定制化:在私有数据上继续训练的选项,或针对特定领域的模型专门化。这可以提高在独特词汇表上的性能
如何通过 Anthropic 获取嵌入向量
Anthropic 并不提供自己的嵌入模型。Voyage AI 是一个提供多种选项和功能的嵌入向量提供商,涵盖了上述所有考虑因素。
Voyage AI 提供最先进的嵌入模型,并为金融和医疗保健等特定行业领域提供定制模型,或为个别客户提供定制微调模型。
本指南的其余部分是关于 Voyage AI 的,但我们建议您评估各种嵌入向量供应商,以找到最适合您特定用例的供应商。
可用模型
Voyage 推荐使用以下文本嵌入模型:
模型 | 上下文长度 | 嵌入维度 | 描述 |
---|---|---|---|
voyage-3-large | 32,000 | 1024 (默认), 256, 512, 2048 | 最佳通用和多语言检索质量。 |
voyage-3 | 32,000 | 1024 | 针对通用和多语言检索质量优化。详见博客文章。 |
voyage-3-lite | 32,000 | 512 | 针对延迟和成本优化。详见博客文章。 |
voyage-code-3 | 32,000 | 1024 (默认), 256, 512, 2048 | 针对代码检索优化。详见博客文章。 |
voyage-finance-2 | 32,000 | 1024 | 针对金融检索和 RAG 优化。详见博客文章。 |
voyage-law-2 | 16,000 | 1024 | 针对法律和长上下文检索和 RAG 优化。同时提升了所有领域的性能。详见博客文章。 |
此外,推荐使用以下多模态嵌入模型:
模型 | 上下文长度 | 嵌入维度 | 描述 |
---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | 丰富的多模态嵌入模型,可以向量化交错的文本和内容丰富的图像,如 PDF 截图、幻灯片、表格、图表等。详见博客文章。 |
需要帮助决定使用哪个文本嵌入模型?查看常见问题。
Voyage AI 入门
要访问 Voyage 嵌入:
- 在 Voyage AI 的网站上注册
- 获取 API 密钥
- 为方便起见,将 API 密钥设置为环境变量:
您可以通过使用官方 voyageai
Python 包或 HTTP 请求来获取嵌入向量,如下所述。
Voyage Python 包
可以使用以下命令安装 voyageai
包:
然后,您可以创建一个客户端对象并开始使用它来嵌入您的文本:
result.embeddings
将是一个包含两个嵌入向量的列表,每个向量包含 1024 个浮点数。运行上述代码后,两个嵌入将显示在屏幕上:
在创建嵌入时,您还可以为 embed()
函数指定其他一些参数。您可以在此处阅读更多规范
Voyage HTTP API
您也可以通过请求 Voyage HTTP API 获取嵌入。例如,您可以在终端中通过 curl
命令发送 HTTP 请求:
您将收到一个包含嵌入和令牌使用情况的 JSON 对象响应:
您可以在 Voyage 文档中阅读更多关于嵌入端点的信息
AWS Marketplace
Voyage 嵌入也可在 AWS Marketplace 上获得。在 AWS 上访问 Voyage 的说明可在此处获得。
快速入门示例
现在我们知道了如何获取嵌入,让我们看一个简短的示例。
假设我们有一个包含六个文档的小型语料库用于检索
我们首先使用 Voyage 将每个文档转换为嵌入向量
嵌入将允许我们在向量空间中进行语义搜索/检索。给定一个示例查询,
我们将其转换为嵌入,并进行最近邻搜索,根据嵌入空间中的距离找到最相关的文档。
注意,我们分别使用 input_type="document"
和 input_type="query"
来嵌入文档和查询。更多规范可以在这里找到。
输出将是第 5 个文档,这确实是与查询最相关的:
如果您正在寻找关于如何使用嵌入进行 RAG 的详细指南,包括向量数据库,请查看我们的 RAG cookbook。
常见问题
定价
访问 Voyage 的定价页面获取最新的定价详情。
Was this page helpful?