SiliconFlow 入门:实用指南

data-science入门10 分钟阅读2026/7/14

上个月我在做一个编程智能体,需要同时调用好几个模型——日常分类用便宜快速的小模型,处理复杂逻辑得靠重量级的推理模型。但每个供应商都要单独管理 API key、计费后台和 SDK 集成,简直是个噩梦。我就一直琢磨:“为什么不能只请求一个接口,然后像换插件一样切换模型呢?”

SiliconFlow 解决的正是这个问题。它是一个推理平台,只需一个 API 就能访问 200 多个模型——DeepSeek、GLM、Qwen、Stable Diffusion 等等,应有尽有。最吸引我的是它兼容 OpenAI 的接口,这意味着我完全不用重写现有的代码,只要改下 base_url 就能直接开跑。

下面是我的上手过程,包括中间踩过的一些坑。

第一步:注册账号

注册过程非常简单。我打开 siliconflow.com,直接用 GitHub 账号登录了——除了 OAuth,它还支持 Google、邮箱和手机号注册。登录后,平台直接把我带到了控制台,上面清清楚楚地显示着我的 API 用量、账单和可用额度。

有一点让我挺满意:新账号会送免费额度。这让我不用掏信用卡就能测试模型,毕竟刚试用新服务时能白嫖,总是件让人舒心的事。

第二步:逛逛模型库

在写代码之前,我先在 Models(模型) 页面上花了不少时间。这可是 SiliconFlow 的亮点。模型库非常庞大,涵盖了 200 多个模型,分类齐全:

  • 大语言模型 (LLMs):DeepSeek-R1、GLM-5.2、Kimi K2.7 Code、LongCat-2.0、Qwen 系列
  • 视觉:用于图像理解的模型
  • 图像生成:Stable Diffusion、FLUX 等
  • 视频与音频:选择还在不断增加

每个模型卡片上都列出了真正有用的细节:每百万 token 的价格(输入和输出)、缓存输入价格、上下文窗口大小、最大输出 token 数,以及速率限制。比如,当我查看 DeepSeek-R1 时,就能看到它支持超大的上下文窗口,而且价格比我之前用的地方便宜多了。

小贴士:在任意模型的详情页点击“Online Experience(在线体验)”,就能打开一个快捷聊天界面。我在写代码前就用这种方式测了三个不同的模型,省得把 API 额度浪费在不适合我场景的模型上。

第三步:在 Playground 里测试

Playground 是 SiliconFlow 的交互式测试环境。在左侧边栏就能进入,你可以在语言模型、文生图和图生图模型之间切换。

我先拿一道我已经知道答案的编程题测试了 DeepSeek-R1——算是个快速的冒烟测试。输入提示词,调整 temperature 和 max tokens 等参数,然后点击“Run(运行)”。响应会实时流式返回。

有个意想不到的地方:Playground 不会跨会话保存你的对话历史。如果你发现某个提示词效果很好,一定要马上复制!我就因为以为它会自动保存,结果丢掉了一个精心调试的系统提示词,然而并没有。

第四步:生成 API Key

准备把模型集成到项目里时,我进入了 API Keys 页面,点击“Create API Key”。密钥瞬间就生成了——格式大概像 sk-xxxxxxxxxxxxxxxxxxxxxxxx 这样。

重要提示:一定要马上复制!密钥只显示一次。我第一次没注意这茬,只好删了重新生成,感觉自己蠢透了。记得把它存到安全的地方;我是放在加了 gitignore 的 .env 文件里的:

SILICONFLOW_API_KEY=sk-your-key-here

第五步:发起你的第一次 API 调用

到这儿就好玩了。SiliconFlow 支持两种调用方式:直接调用 REST API,或者使用兼容 OpenAI 的接口。我选了 OpenAI 的路子,因为我的项目本来就在用 OpenAI SDK。

配置环境

首先,我创建了一个虚拟环境并安装了 OpenAI 库:

python -m venv siliconflow-env
source siliconflow-env/bin/activate  # Windows 下用: siliconflow-env\Scripts\activate
pip install --upgrade openai

验证一下安装:

pip list | grep openai

你应该能看到列表里有个版本号比较新的 openai

编写代码

魔法全在 base_url 参数里。只要把它指向 SiliconFlow 的接口,你现有的 OpenAI SDK 代码就能原封不动地跑起来:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("SILICONFLOW_API_KEY"),
    base_url="https://api.siliconflow.com/v1"
)

# 简单的非流式调用
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=[
        {"role": "system", "content": "You are a helpful coding assistant."},
        {"role": "user", "content": "Write a Python function to find the longest palindromic substring."}
    ],
    temperature=0.7,
    max_tokens=2048
)

print(response.choices[0].message.content)

流式响应

对于较长的输出,流式响应是必不可少的。我是这么处理的:

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=[
        {"role": "user", "content": "Explain how transformer attention works, step by step."}
    ],
    stream=True
)

for chunk in response:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="", flush=True)

第一次跑这段代码时我报错了,因为我忘了检查 delta.content 是不是 None——有些数据块只包含角色元数据。加上那个 is not None 的判断后,立马就好了。

切换模型

单一 API 的优势就在这儿体现了。想换个模型?改一下模型字符串就行:

# 从 DeepSeek 换成 GLM-5.2
response = client.chat.completions.create(
    model="THUDM/GLM-5.2",  # 只用改这一行
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True
)

不需要换 SDK,不需要重新鉴权,请求格式也不用改。现在我的配置文件里就存了这么一个模型 ID 字典:

MODELS = {
    "fast": "Qwen/Qwen2.5-7B-Instruct",      # 便宜,用于快速任务
    "reasoning": "deepseek-ai/DeepSeek-R1",   # 复杂逻辑
    "coding": "moonshotai/Kimi-K2.7-Code",    # 代码生成
    "long": "LongCat/LongCat-2.0",            # 超大上下文
}

第六步:图像生成

SiliconFlow 可不只能处理文本。我还测试了它的图像模型,不过用的是另一种接口格式:

response = client.images.generate(
    model="stabilityai/stable-diffusion-3-5-large",
    prompt="A developer's desk with multiple monitors showing code, warm lighting, photorealistic",
    size="1024x1024"
)

print(response.data[0].url)  # 返回生成图像的 URL

图像生成速度快得惊人——生成一张 1024x1024 的图不到 10 秒。画质跟我本地跑 Stable Diffusion 差不多,但完全不需要显卡。

踩坑与限制

用了 SiliconFlow 几周后,这些是我希望早点知道的事:

  1. 并非所有 OpenAI 参数都支持。 虽然平台支持“大部分” OpenAI 相关参数,但我发现像 logprobstop_logprobs 这种冷门参数,并不是每个模型都能用。依赖特定参数前,最好先查查模型文档。

  2. 模型 ID 必须完全匹配。 模型字符串需要包含供应商前缀——得写 deepseek-ai/DeepSeek-R1,不能只写 DeepSeek-R1。我就因为漏了前缀,报了“model not found”的错误,白白浪费了 20 分钟调试。

  3. 速率限制因模型和套餐而异。 模型页面会显示每个模型的速率限制。免费套餐的限制更低。我在批量测试时撞到了速率限制,只好在代码里加了指数退避机制。

  4. 缓存输入价格是个大亮点。 SiliconFlow 对缓存输入 token 的定价便宜得多。比如,LongCat-2.0 常规输入是 $0.75/M,但缓存输入只要 $0.015/M——相当于打了 2% 的折扣(便宜了 98%)。如果你要反复发送相同的系统提示词(咱们大多数人都是这么干的),这能省下一大笔钱。

  5. Playground 不生成代码。 跟有些平台不同,Playground 不会根据你的测试提示词直接吐出对应的 API 代码。你得自己写集成代码,或者去文档里抄代码片段。

总结

SiliconFlow 已经成了我做模型实验的首选。兼容 OpenAI 的 API 意味着零集成摩擦,一个接口背后藏着 200 多个模型,彻底免去了在多个供应商之间手忙脚乱的麻烦。缓存输入的定价也确实能打——我最近一个项目跑下来,我的账单大概只有直接用原供应商的五分之一。

它也不是完美的:文档还可以更详细些,少部分高级参数缺失,Playground 相比竞品也显得有些基础。但对于只想快速、便宜调用模型、不想折腾配置的开发者来说,它完全兑现了承诺。

先用免费额度起步,在 Playground 里测两三个模型,然后用 OpenAI SDK 集成。不到 30 分钟,你就能跑通一条完整的流水线。

相关 Agent

H

拥抱未来

一个用于共享、训练和部署机器学习模型和数据集的平台。

了解更多 →