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

SiliconFlow

SiliconFlow 是一个集合了多种顶尖开源大模型的一站式云服务平台。其 Embedding 服务提供了一系列高性能的语义向量模型,广泛应用于大语言模型检索增强(RAG)、搜索、推荐等场景。平台上的模型如 BGE 系列和 Qwen Embedding 系列均具有优秀的语义表征能力,部分模型如 Qwen3-Embedding 还支持灵活调整输出维度,以平衡精度与存储成本。

提示

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

依赖与鉴权

  • 已安装 pyseekdb 库。

  • 需要在 SiliconFlow 平台注册账号,并在 API 管理页面创建 API 密钥,用于身份验证和计费。

示例:创建 SiliconFlow Embedding Function

在代码中导入并初始化 SiliconflowEmbeddingFunction。通常,API 密钥通过环境变量管理。

  • 基本用法

    指定模型名称,使用默认环境变量 SILICONFLOW_API_KEY 进行初始化。

    from pyseekdb.utils.embedding_functions import SiliconflowEmbeddingFunction

    ef = SiliconflowEmbeddingFunction(
    model_name="BAAI/bge-large-zh-v1.5"
    )
  • 高级用法与自定义配置

    通过 api_key_env 指定自定义的环境变量名称,并根据模型特性设置 dimensionstimeout 等参数。

    from pyseekdb.utils.embedding_functions import SiliconflowEmbeddingFunction

    # 使用 BGE-M3 模型,并自定义环境变量名
    ef = SiliconflowEmbeddingFunction(
    model_name="BAAI/bge-m3",
    api_key_env="SILICONFLOW_API_KEY",
    timeout=30
    )

    # 使用 Qwen3-Embedding 模型,并指定输出维度为 1024
    ef = SiliconflowEmbeddingFunction(
    model_name="Qwen/Qwen3-Embedding-8B",
    dimensions=1024 # Reduce from default 4096 to 1024
    )

参数说明:

  • model_name:SiliconFlow Embedding 模型名称,例如 BAAI/bge-large-zh-v1.5Qwen/Qwen3-Embedding-0.6B
  • api_key_env:API Key 所在的环境变量名,默认是 SILICONFLOW_API_KEY
  • timeout:请求超时时间(秒),可选。
  • dimensions:输出向量维度(仅当模型支持动态维度时生效,如 Qwen/Qwen3-Embedding-8B 可从默认 4096 调整为更小值),可选。