跳到主要内容
版本:V1.1.0

VoyageAI

VoyageAI EmbeddingFunction 是 seekdb 为支持多样化 AI 生态而设计的嵌入适配器之一。seekdb 作为一款 AI 原生混合搜索数据库,其核心优势在于统一支持向量、全文、结构化与半结构化数据的存储与检索。通过此类嵌入函数,开发者可以便捷地调用外部优秀的嵌入服务(如 VoyageAI),为 seekdb 注入强大的语义理解能力,从而构建更精准的 RAG 系统、智能体记忆库等应用。

提示

使用 VoyageAI 服务需要遵循 VoyageAI 的收费规则,可能产生相应费用。请在继续前,访问其官网或查阅相关文档,确认并接受其收费标准。如不同意,请勿继续操作。

依赖与鉴权

示例:创建 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-largevoyage-4-large

  • api_key_env:API Key 所在的环境变量名,默认是 VOYAGE_API_KEY

  • input_type:输入类型提示,用于优化检索效果。常见取值:

    • documents:用于文档入库(documents)。

    • metadatas:用于查询(query texts)。