VoyageAI
VoyageAI EmbeddingFunction 是 seekdb 为支持多样化 AI 生态而设计的嵌入适配器之一。seekdb 作为一款 AI 原生混合搜索数据库,其核心优势在于统一支持向量、全文、结构化与半结构化数据的存储与检索。通过此类嵌入函数,开发者可以便捷地调用外部优秀的嵌入服务(如 VoyageAI),为 seekdb 注入强大的语义理解能力,从而构建更精准的 RAG 系统、智能体记忆库等应用。
使用 VoyageAI 服务需要遵循 VoyageAI 的收费规则,可能产生相应费用。请在继续前,访问其官网或查阅相关文档,确认并接受其收费标准。如不同意,请勿继续操作。
依赖与鉴权
-
已安装 pyseekdb 库。
-
有效的 VoyageAI API 密钥,用于身份验证。
示例:创建 VoyageAI Embedding Function
在代码中导入并初始化 VoyageAIEmbeddingFunction。通常,配置参数可以通过环境变量管理,以实现生产环境的灵活部署。
-
基础用法
用环境变量中的
VOYAGE_API_KEY来指定模型,voyage-4-large模型是 Voyage AI 的旗舰通用模型,支持长上下文和高精度检索。from pyseekdb.utils.embedding_functions import VoyageaiEmbeddingFunction
ef = VoyageaiEmbeddingFunction(
model_name="voyage-4-large" # 指定嵌入模型
) -
高级用法
对于 RAG 场景,通过指定
input_type选择检索场景,分为“文档”和“查询”两种向量化策略。from pyseekdb.utils.embedding_functions import VoyageaiEmbeddingFunction
ef = VoyageaiEmbeddingFunction(
model_name="voyage-4-large",
input_type="document" # 可选 "document" 或 "query"。为集合中的文档设置时通常用 "document"
) -
自定义配置
使用
voyage-4-large等模 型时,可以将生成的向量维度从 1024 降至 512,在保持精度的同时显著减少存储开销并加快搜索速度。from pyseekdb.utils.embedding_functions import VoyageaiEmbeddingFunction
ef = VoyageaiEmbeddingFunction(
model_name="voyage-4-large",
output_dimension=512 # 减少维度以优化存储和计算效率
)
参数说明:
-
model_name:VoyageAI 模型名称,例如voyage-3-large、voyage-4-large。 -
api_key_env:API Key 所在的环境变量名,默认是VOYAGE_API_KEY。 -
input_type:输入类型提示,用于优化检索效果。常见取值:-
documents:用于文档入库(documents)。 -
metadatas:用于查询(query texts)。
-