iG iGetToken
菜单

用 Python 三行代码调用免费大模型

Python进阶玩法

好消息是:2026 年了,主流大模型平台几乎全部兼容 OpenAI 接口格式。这意味着你只需要学一种写法,就能调用本站收录的所有平台——切换平台只是换个 base_url 的事。

本文额度信息最后核实于 2026-08-28,以官方文档为准。

准备工作

pip install openai

以智谱的永久免费模型 glm-4-flash 为例(先去 bigmodel.cn 领一个 API Key)。

核心代码

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["ZHIPU_API_KEY"],          # Key 用环境变量,别写死在代码里
    base_url="https://open.bigmodel.cn/api/paas/v4",
)

resp = client.chat.completions.create(
    model="glm-4-flash",                           # 永久免费模型
    messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(resp.choices[0].message.content)

就这么多。base_url + model 一换,同一套代码就能跑在别的平台上:

平台base_url免费模型示例
智谱https://open.bigmodel.cn/api/paas/v4glm-4-flash
硅基流动https://api.siliconflow.cn/v1Qwen/Qwen2.5-7B-Instruct
Groqhttps://api.groq.com/openai/v1llama-3.3-70b-versatile
OpenRouterhttps://openrouter.ai/api/v1:free 后缀的模型

可用模型以各平台模型列表为准,本站每个平台详情页都附了最新的 base_url 与示例。

三个实战建议

1. Key 一律走环境变量。 Windows 用 setx,macOS/Linux 写进 ~/.zshrc。永远不要把 Key 提交到 GitHub——历史提交删了也能被翻出来。

2. 处理限流。 免费层撞到速率限制会返回 429,加个简单的重试:

import time

def ask(client, prompt, retries=3):
    for i in range(retries):
        try:
            return client.chat.completions.create(
                model="glm-4-flash",
                messages=[{"role": "user", "content": prompt}],
            ).choices[0].message.content
        except Exception as e:
            if i == retries - 1:
                raise
            time.sleep(2 ** i)  # 指数退避:2s、4s、8s

3. 控制成本心算。 免费额度也是钱:多轮对话会把历史消息整体重新计费,跑批量任务前先用 10 条样本估算单条消耗,再乘总量。

下一步