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指定自定义的 环境变量名称,并根据模型特性设置dimensions、timeout等参数。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.5、Qwen/Qwen3-Embedding-0.6B。api_key_env:API Key 所在的环境变量名,默认是SILICONFLOW_API_KEY。timeout:请求超时时间(秒),可选。dimensions:输出向量维度(仅当模型支持动态维度时生效,如Qwen/Qwen3-Embedding-8B可从默认 4096 调整为更小值),可选。