文本嵌入是文本的数值表示,可用于衡量语义相似度。本指南介绍了嵌入向量、其应用场景,以及如何使用嵌入模型进行搜索、推荐和异常检测等任务。
模型 | 上下文长度 | 嵌入维度 | 描述 |
---|---|---|---|
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 截图、幻灯片、表格、图表等。详见博客文章。 |
voyageai
Python 包或 HTTP 请求来获取嵌入向量,如下所述。
voyageai
包:
result.embeddings
将是一个包含两个嵌入向量的列表,每个向量包含 1024 个浮点数。运行上述代码后,两个嵌入将显示在屏幕上:
embed()
函数指定其他一些参数。您可以在此处阅读更多规范
curl
命令发送 HTTP 请求:
input_type="document"
和 input_type="query"
来嵌入文档和查询。更多规范可以在这里找到。
输出将是第 5 个文档,这确实是与查询最相关的:
为什么 Voyage 嵌入具有卓越的质量?
有哪些嵌入模型可用,我应该使用哪个?
voyage-3-large
: 最佳质量voyage-3-lite
: 最低延迟和成本voyage-3
: 平衡的性能,具有卓越的检索质量和具有竞争力的价格input_type
参数指定查询或文档类型。特定领域模型:voyage-law-2
voyage-code-3
voyage-finance-2
我应该使用哪种相似度函数?
我应该如何使用 input_type 参数?
input_type
指定为 “query” 或 “document”。这种优化通过专门的提示前缀改善检索质量:对于查询:input_type
或将其设置为 None
。voyage-large-2-instruct
的分类、聚类或其他 MTEB 任务,请按照我们 GitHub 仓库中的说明操作。有哪些量化选项可用?
output_dtype
):类型 | 描述 | 大小减少 |
---|---|---|
float | 32位单精度浮点数(默认) | 无 |
int8 /uint8 | 8位整数(-128 到 127 / 0 到 255) | 4倍 |
binary /ubinary | 位打包的单比特值 | 32倍 |
binary
使用偏移二进制方法。如何截断套娃嵌入?