引言: 大模型 API 是连接开发者与 AI 能力的桥梁。相比直接使用网页端对话,API 调用让你可以将大模型能力嵌入到自己的应用、脚本和工作流中,实现批量处理、自动化任务和定制化交互。本文将以实战为导向,介绍各个主流大模型平台的 API 调用方式,帮助你快速上手。
智谱 BigModel
智谱 BigModel 开放平台 是智谱 AI 推出的大模型 API 服务平台,提供了 GLM 系列模型的 API 接口。其最大的优势在于:免费模型丰富、兼容 OpenAI API 格式、支持批量调用。
Free Models
智谱平台为开发者提供了多个免费模型,覆盖文本、图像、视频等场景,注册即送 2000 万 Token,无需充值即可使用。
免费额度对于学习、测试和轻量级应用完全够用,是入门大模型 API 的最佳起点。
| 模型 | 类型 | 亮点 |
|---|
| GLM-4.7-Flash | 文本生成 | 强化编码能力与工具协同,面向 Agentic Coding 场景优化,同尺寸开源模型中表现出色 |
| GLM-4.6V-Flash | 图像理解 | 128K 上下文,视觉理解精度同参数规模领先,原生支持 Function Call,打通「感知→行动」链路 |
| CogView-3-Flash | 图像生成 | 文生图模型,适用于艺术创作、设计参考、游戏素材等场景 |
| CogVideoX-Flash | 视频生成 | 文生视频模型,根据文本指令生成高质量短视频 |
API调用方法
智谱平台兼容 OpenAI API 格式,这意味着你可以直接复用 OpenAI 生态中的代码和工具,只需修改 base_url 和 api_key 即可。
Base URL:
1
| https://open.bigmodel.cn/api/paas/v4/
|
主要参数说明:
| 参数 | 类型 | 说明 |
|---|
model | string | 模型名称,如 glm-4-flash |
messages | list | 对话消息列表,包含 role 和 content |
temperature | float | 采样温度,范围 0~1,值越高输出越随机 |
top_p | float | 核采样参数,范围 0~1,与 temperature 二选一调节 |
max_tokens | int | 最大输出 Token 数 |
stream | bool | 是否开启流式输出 |
下面介绍三种调用方式。
Python requests 直接调用
最基础的调用方式,不依赖任何 SDK,适合理解 API 的请求结构。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import requests
url = "https://open.bigmodel.cn/api/paas/v4/chat/completions" headers = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } data = { "model": "glm-4-flash", "messages": [ {"role": "system", "content": "你是一个乐于助人的AI助手。"}, {"role": "user", "content": "请用一句话介绍什么是大模型API。"} ], "temperature": 0.7, "max_tokens": 1024 }
response = requests.post(url, headers=headers, json=data) result = response.json() print(result["choices"][0]["message"]["content"])
|
OpenAI SDK 兼容调用
如果你已经熟悉 OpenAI SDK,只需将 base_url 和 api_key 替换为智谱的即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| from openai import OpenAI
client = OpenAI( api_key="YOUR_API_KEY", base_url="https://open.bigmodel.cn/api/paas/v4/" )
response = client.chat.completions.create( model="glm-4-flash", messages=[ {"role": "system", "content": "你是一个乐于助人的AI助手。"}, {"role": "user", "content": "请用一句话介绍什么是大模型API。"} ], temperature=0.7, max_tokens=1024 )
print(response.choices[0].message.content)
|
使用 OpenAI SDK 调用前,需要先安装:pip install openai
智谱官方 zhipuai SDK 调用
智谱提供了官方 Python SDK,封装了更多平台特有的功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| from zai import ZhipuAiClient
client = ZhipuAiClient(api_key="YOUR_API_KEY")
response = client.chat.completions.create( model="glm-4-flash", messages=[ {"role": "system", "content": "你是一个乐于助人的AI助手。"}, {"role": "user", "content": "请用一句话介绍什么是大模型API。"} ], temperature=0.7, max_tokens=1024 )
print(response.choices[0].message.content)
|
使用前需要安装官方 SDK:pip install zhipuai
批量调用
智谱平台提供了 Batch API,适合需要大规模处理但不要求实时响应的场景,具体参考:https://docs.bigmodel.cn/cn/guide/tools/batch
核心优势: 半价(50% 折扣)、无并发限制、24 小时内完成。适合批量数据处理、评测、数据标注等任务。
使用流程:
1
| 准备 .jsonl 文件 → 上传文件 → 创建 Batch 任务 → 查询状态 → 下载结果
|
Step 1:准备 .jsonl 文件
每一行是一个独立的请求,格式如下:
1 2
| {"custom_id": "request-1", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4-flash", "messages": [{"role": "user", "content": "你好"}], "max_tokens": 1024}} {"custom_id": "request-2", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4-flash", "messages": [{"role": "user", "content": "什么是API?"}], "max_tokens": 1024}}
|
Step 2:上传文件并创建 Batch 任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| from zai import ZhipuAiClient
client = ZhipuAiClient(api_key="YOUR_API_KEY")
file = client.files.create( file=open("batch_requests.jsonl", "rb"), purpose="batch" ) print(f"文件ID: {file.id}")
batch = client.batches.create( input_file_id=file.id, endpoint="/v4/chat/completions", completion_window="24h", metadata={"description": "my batch job"} ) print(f"Batch ID: {batch.id}")
|
Step 3:查询状态与下载结果
1 2 3 4 5 6 7 8 9 10 11
| batch_status = client.batches.retrieve(batch.id) print(f"状态: {batch_status.status}")
if batch_status.status == "completed": output_file_id = batch_status.output_file_id content = client.files.content(output_file_id) with open("batch_results.jsonl", "w") as f: f.write(content.text) print("结果已保存到 batch_results.jsonl")
|
批量调用特别适合以下场景:大规模数据标注、模型评测、文本批量翻译或摘要、离线数据处理流水线。只要对延迟不敏感,Batch API 是性价比最高的选择。
OpenRouter
OpenRouter 是一个统一的大模型 API 网关,聚合了来自 OpenAI、Google、Meta、Qwen、DeepSeek 等多家厂商的模型。其核心价值在于:一个 API Key 调用数百种模型,且提供免费模型额度。
Free Models
OpenRouter 提供了多个免费模型,模型名以 :free 后缀标识。免费模型有一定的速率限制和输入 Token 上限,适合学习和轻量测试。
免费模型无需绑定支付方式,注册后即可获取 API Key 使用。
| 模型 | 厂商 | 说明 |
|---|
| deepseek/deepseek-r1-0528:free | DeepSeek | 推理模型,支持思维链,适合复杂逻辑任务 |
| qwen/qwen3-coder:free | Qwen | 代码生成模型,面向编程场景优化 |
| qwen/qwen3-next-80b-a3b-instruct:free | Qwen | 80B MoE 模型,仅激活 3B 参数,性价比高 |
| openai/gpt-oss-20b:free | OpenAI | 20B 开源模型,通用文本生成 |
| stepfun/step-3.5-flash:free | StepFun | 轻量快速模型,适合简单对话任务 |
API 调用方法
OpenRouter 兼容 OpenAI API 格式,同时也提供官方 SDK。
Base URL:
1
| https://openrouter.ai/api/v1
|
下面介绍三种调用方式。
Python requests 直接调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import requests import json
response = requests.post( url="https://openrouter.ai/api/v1/chat/completions", headers={ "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json", }, data=json.dumps({ "model": "qwen/qwen3-4b:free", "messages": [ {"role": "user", "content": "What is the meaning of life?"} ] }) )
result = response.json() print(result["choices"][0]["message"]["content"])
|
OpenAI SDK 兼容调用
与智谱类似,只需替换 base_url 和 api_key。OpenRouter 额外支持 HTTP-Referer 和 X-Title 请求头,用于在排行榜中标识你的站点(可选)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| from openai import OpenAI
client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key="YOUR_API_KEY", )
completion = client.chat.completions.create( extra_headers={ "HTTP-Referer": "https://your-site.com", "X-Title": "YourAppName", }, model="qwen/qwen3-4b:free", messages=[ {"role": "user", "content": "What is the meaning of life?"} ] )
print(completion.choices[0].message.content)
|
OpenRouter 官方 SDK 调用(JavaScript)
OpenRouter 提供了官方 JavaScript/TypeScript SDK,支持流式输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import { OpenRouter } from "@openrouter/sdk";
const openrouter = new OpenRouter({ apiKey: "YOUR_API_KEY" });
const stream = await openrouter.chat.send({ model: "qwen/qwen3-4b:free", messages: [ { role: "user", content: "What is the meaning of life?" } ], stream: true });
for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content; if (content) { process.stdout.write(content); } }
|
安装官方 SDK:npm install @openrouter/sdk
火山方舟
火山引擎方舟平台 是字节跳动推出的大模型服务平台,提供豆包(Doubao)系列模型的 API 接口。其核心优势在于:模型能力强、兼容 OpenAI API 格式、支持批量调用,且提供免费额度。
Free Models
火山引擎为新用户提供了免费体验额度——每个模型50w token,覆盖豆包系列多个模型。
| 模型 | 说明 |
|---|
| doubao-seed-1-6 | 豆包种子模型,通用文本生成 |
| doubao-1-5-pro-32k | 豆包 Pro 版本,32K 上下文,综合能力强 |
| doubao-1-5-lite-32k | 轻量版本,速度快,适合简单任务 |
具体免费额度和模型列表以 方舟平台控制台 为准,新用户注册后可在控制台查看可用模型和额度。
API 调用方法
火山引擎兼容 OpenAI API 格式,同时提供官方 Python SDK。
Base URL:
1
| https://ark.cn-beijing.volces.com/api/v3
|
火山引擎使用 Model ID(而非模型名称)来指定模型,需要在控制台创建推理接入点后获取。部分模型也支持直接使用模型名称调用,如 doubao-seed-1-6-251015。
下面介绍两种调用方式。
OpenAI SDK 兼容调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| from openai import OpenAI import os
client = OpenAI( base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=os.environ.get("ARK_API_KEY"), )
completion = client.chat.completions.create( model="doubao-seed-1-6-251015", messages=[ {"role": "user", "content": "Hello"} ], )
print(completion.choices[0].message.content)
|
火山引擎官方 SDK 调用
火山引擎提供了官方 Python SDK,封装了方舟平台特有的功能。
1 2 3 4 5 6 7 8 9 10 11 12 13
| import os from volcenginesdkarkruntime import Ark
client = Ark(api_key=os.environ.get("ARK_API_KEY"))
completion = client.chat.completions.create( model="doubao-1-5-pro-32k-250115", messages=[ {"role": "user", "content": "你好,请介绍一下你自己。"} ] )
print(completion.choices[0].message.content)
|
安装官方 SDK:pip install 'volcengine-python-sdk[ark]'
批量调用
火山引擎方舟平台支持批量调用,批量调用半价,通过官方 SDK 的 batch 接口即可实现,适合离线批处理场景。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import os from volcenginesdkarkruntime import Ark
client = Ark(api_key=os.environ.get("ARK_API_KEY"))
completion = client.batch.chat.completions.create( model="YOUR_ENDPOINT_ID", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ], )
print(completion.choices[0].message.content)
|
批量调用需要使用推理接入点 ID(Endpoint ID),格式如 ep-xxxxxxxx-xxxxx,需在控制台创建后获取。
阿里云百炼
阿里云百炼 是阿里巴巴推出的大模型服务平台,提供通义千问(Qwen)系列模型的 API 接口。其核心优势在于:Qwen 系列模型能力领先、兼容 OpenAI API 格式、提供丰富的免费额度。
Free Models
阿里云百炼为开发者提供每个模型 100W 的token,涵盖通用对话、推理、编码等场景。
| 模型 | 说明 |
|---|
| qwen-plus | 通义千问增强版,综合能力强,适合大多数场景 |
| qwen-turbo | 轻量快速版,响应速度快,适合简单对话 |
| qwen-long | 长上下文版本,支持超长文本输入 |
| qwen-max | 旗舰版本,能力最强(有限免费额度) |
API 调用方法
阿里云百炼兼容 OpenAI API 格式,同时提供官方 DashScope SDK。
Base URL:
1
| https://dashscope.aliyuncs.com/compatible-mode/v1
|
下面介绍两种调用方式。
OpenAI SDK 兼容调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import os from openai import OpenAI
client = OpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", )
completion = client.chat.completions.create( model="qwen-plus", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "你是谁?"} ] )
print(completion.choices[0].message.content)
|
DashScope 官方 SDK 调用
阿里云提供了官方 DashScope SDK,返回结构与 OpenAI SDK 略有不同,包含 status_code 等字段。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import os from dashscope import Generation
messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "你是谁?"} ]
response = Generation.call( api_key=os.getenv("DASHSCOPE_API_KEY"), model="qwen-plus", messages=messages, result_format="message" )
if response.status_code == 200: print(response.output.choices[0].message.content) else: print(f"错误码:{response.code}") print(f"错误信息:{response.message}")
|
安装官方 SDK:pip install dashscope
批量调用
阿里云百炼的批量调用兼容 OpenAI Batch API,只需将 base_url 替换为批量专用地址,并添加超时配置即可。
1 2 3 4 5 6 7 8 9
| import os from openai import OpenAI
API_KEY = os.getenv("DASHSCOPE_API_KEY")
client = OpenAI( api_key=API_KEY, base_url="https://batch.dashscope.aliyuncs.com/compatible-mode/v1", ).with_options(timeout=3600.0)
|
批量调用的 base_url 与普通调用不同,注意替换为 batch.dashscope.aliyuncs.com。后续的文件上传、Batch 创建、状态查询等流程与 OpenAI Batch API 一致。
Vertex AI
Vertex AI 是 Google Cloud 的 AI 平台,提供 Gemini 系列模型的 API 接口。其核心优势在于:Gemini 模型多模态能力强、新用户赠送 $300 免费额度、支持 OpenAI 兼容格式调用。
Free Credits
Google Cloud 为每位新用户提供 $300 免费额度,可用于调用 Gemini 系列模型。
| 模型 | 说明 |
|---|
| gemini-3.0-flash | 最新 Flash 模型,速度快,性价比高 |
| gemini-3.1-pro | 旗舰模型,综合能力最强 |
Vertex AI 的服务器在海外,国内网络需要挂代理才能正常调用。
API 调用方法
Vertex AI 提供 Google GenAI 官方 SDK 和 OpenAI 兼容接口两种调用方式。
下面介绍两种调用方式。
Google GenAI SDK 调用
最直接的调用方式,使用 API Key 认证。
1 2 3 4 5 6 7 8 9 10 11
| from google import genai from google.genai.types import HttpOptions
client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content( model="gemini-2.5-flash", contents="How does AI work?", )
print(response.text)
|
OpenAI SDK 兼容调用
Vertex AI 也支持 OpenAI 兼容格式,但认证方式较为特殊——需要通过 Google Cloud 服务账号获取 Access Token。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| from google.auth import default import google.auth.transport.requests import openai
project_id = "YOUR_PROJECT_ID" location = "us-central1"
credentials, _ = default(scopes=["https://www.googleapis.com/auth/cloud-platform"]) credentials.refresh(google.auth.transport.requests.Request())
client = openai.OpenAI( base_url=f"https://{location}-aiplatform.googleapis.com/v1/projects/{project_id}/locations/{location}/endpoints/openapi", api_key=credentials.token, )
response = client.chat.completions.create( model="google/gemini-2.0-flash-001", messages=[ {"role": "user", "content": "Why is the sky blue?"} ], )
print(response.choices[0].message.content)
|
此方式需要先安装 pip install google-auth openai,并配置 Google Cloud 项目凭证。适合已有 GCP 项目的开发者。