☰
主流大模型全景盘点
2026/10/28 6:59:36 网站建设 项目流程

定位:面向 AI 应用开发者的国产商用大模型 API 实操评测
覆盖:DeepSeek、智谱 GLM、通义千问 三家的注册接入、核心能力、Function-Calling、Embedding、成本与踩坑经验

## 0. 前言

做 LLM 应用开发,绕不开这几件事:普通对话、流式输出、多轮记忆、Function-Calling 工具调用、Embedding 向量化(RAG)。

市面上模型众多,很多同学不知道怎么选、怎么快速上手测试。本文基于真实 API 测试,梳理 **DeepSeek、智谱 AI、通义千问** 三家平台,帮你快速完成开发评估与选型。

> 说明:所有价格、免费额度来自官方公开文档,政策会随时调整,正式开发请以各家官网为准。

---

## 1. 三大平台快速上手:注册与接入

三家全部兼容 **OpenAI 接口协议**,开发者可以复用同一套 Python 代码,只切换 `base_url`、`api_key`、`model_id` 即可完成迁移,切换成本极低。

### 1.1 DeepSeek(深度求索)

- 官网:`https://platform.deepseek.com`
- 注册:手机号注册 + 实名认证
- 密钥:左侧【API Keys】→ 创建新密钥 → 复制保存(`sk-` 开头,只展示一次)
- 额度:新用户赠送 10 元测试余额(有效期 30 天),无永久免费模型
- Base-URL:`https://api.deepseek.com/v1`
- 常用模型:`deepseek-v4-flash`、`deepseek-v4-pro`
- 能力:流式输出、Function-Calling;**无内置 Embedding 接口**

### 1.2 智谱 AI(GLM)

- 官网:`https://open.bigmodel.cn`
- 注册:手机号注册 + 实名认证
- 密钥:用户中心 → API Keys → 创建密钥(复制保存)
- 额度:`glm-4-flash` 长期免费;新用户赠送千万 token 体验额度
- Base-URL:`https://open.bigmodel.cn/api/paas/v4`
- 常用模型:`glm-4-flash`、`glm-5.2`
- 能力:流式输出、Function-Calling、**内置 Embedding 向量接口**

### 1.3 通义千问(阿里云百炼 DashScope)

- 官网:`https://bailian.console.aliyun.com`
- 注册:阿里云账号登录 + 开通百炼服务 + 实名认证
- 密钥:设置 → 密钥管理 → 创建 API-Key(复制保存)
- 额度:新用户提供免费调用额度,超出按量计费
- OpenAI 兼容 Base-URL:`https://dashscope.aliyuncs.com/compatible-mode/v1`
- 常用模型:`qwen3-max`、`qwen3-plus`
- 能力:流式输出、Function-Calling、**内置 Embedding 向量接口**

### 1.4 通用 Python 测试模板

```python
from openai import OpenAI

# ---------------- 切换平台只需修改这三个变量 ----------------
API_KEY = "sk-你的key"
BASE_URL = "对应平台base-url"
MODEL = "对应model_id"
# ----------------------------------------------------------

client = OpenAI(api_key=API_KEY, base_url=BASE_URL)

# ① 普通对话测试
resp = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": "简单介绍 Function-Calling"}],
temperature=0.3,
stream=False,
)
print(resp.choices[0].message.content)

# ② 流式输出测试(打字机效果)
stream = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": "简单介绍 Embedding"}],
temperature=0.3,
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
```

### 1.5 必做测试用例清单

1. 普通非流式对话,验证基础连通
2. `stream=True` 流式输出,验证打字机效果
3. 多轮记忆测试,验证 messages 上下文传递
4. Function-Calling 工具调用测试(可用 weather 模拟工具)
5. Embedding 接口测试(智谱 / 通义)
6. 异常:超长输入、`temperature=0.1` 输出 JSON 是否稳定

---

## 2. 核心能力横向对比

| 平台 | 代表模型 | 上下文 | Function-Calling | Embedding | 特点 |
|---|---|---|---|---|---|
| DeepSeek | v4-flash / v4-pro | 1M token | 优秀 | 无 | 代码、推理强,性价比高,峰谷计价 |
| 智谱 AI | glm-4-flash / glm-5.2 | 1M token | 支持 | 内置 | flash 永久免费,适合学习调试 |
| 通义千问 | qwen3-plus / qwen3-max | 1M token | 支持 | 内置 | 阿里云生态,并发稳定性好 |

### 2.1 基础能力

- **流式输出**:三家全部支持 SSE 流式,实现聊天打字机效果,网页聊天应用必备。
- **多轮记忆**:全部依赖开发者维护 `messages` 数组,模型本身无会话存储;对话变长需做 token 截断,防止上下文超限。
- **参数对齐**:`temperature / top_p / max_tokens / stop` 语义一致,迁移代码几乎无需改参数逻辑。

### 2.2 Function-Calling 工具调用

> Agent 开发核心能力:模型输出 `tool_calls`,后端代码解析并执行本地函数。

- **DeepSeek**:V4 对 Function-Calling 深度优化,JSON 输出稳定性高,支持并行工具调用。
- **智谱 GLM**:原生工具调用,支持长任务 Agent,JSON Schema 强约束输出。
- **通义千问**:标准 OpenAI 格式 Function-Calling,业务落地成熟。

> 踩坑:三家都有可能输出非法 JSON,业务代码必须捕获 `json.loads()` 解析异常,不能信任模型输出。

### 2.3 Embedding 向量化(RAG 知识库)

- **智谱、通义**:平台自带 Embedding 接口,直接调用即可产出向量,快速搭建 RAG。
- **DeepSeek**:无 Embedding 接口,做知识库检索需额外引入 bge-m3 等第三方向量模型。

---

## 3. 成本与额度

1. **DeepSeek**:整体定价偏低,flash 适合大批量请求,pro 用于复杂推理;支持峰谷计价,夜间调用成本更低。
2. **智谱**:flash 免费用于学习;旗舰模型价格中等,新用户赠送大量体验 token。
3. **通义千问**:按量付费,阿里云账号统一账单管理。

> 开发建议:学习 Demo 优先智谱免费 flash;正式项目对比 DeepSeek 和通义,根据并发、生态选择。

---

## 4. 开发踩坑实录

1. **API Key 泄露风险**:不要硬编码在代码里,使用 `.env` 环境变量保存。
2. **上下文超限**:多轮对话持续累积 token,超过窗口直接报错,需要做消息截断、历史摘要。
3. **Function-Calling 参数**:不要只依赖模型,参数一定要后端校验。
4. **Embedding 一致性**:文档、query 必须使用**同一个向量模型**,否则相似度检索失效。
5. **免费模型限流**:免费版往往有限流,压测、高并发业务不要使用免费版本。

---

## 5. 场景化选型建议

1. **学生学习、写 Demo 练习 FC / RAG**:优先智谱 GLM-4-Flash 免费额度。
2. **代码生成、复杂逻辑推理,追求低成本**:优先 DeepSeek-V4-Flash。
3. **企业阿里云生态,需要稳定并发,一套平台搞定对话 + 向量检索**:优先通义千问。
4. **Agent 工具调用开发**:三家都可以,优先 DeepSeek、智谱做对比测试。

---

## 6. 附录:配套测试代码片段

### 6.1 Function-Calling 最小可用 demo(通用)

```python
import json
from openai import OpenAI

client = OpenAI(api_key=API_KEY, base_url=BASE_URL)

# ① 定义工具 schema
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取某个城市今日天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string", "description": "城市名称"}},
"required": ["city"],
},
},
}]

messages = [{"role": "user", "content": "帮我查徐州今天天气"}]

# ② 第一次请求:模型可能返回 tool_calls
resp = client.chat.completions.create(model=MODEL, messages=messages, tools=tools)
msg = resp.choices[0].message

# ③ 若需要调用工具,则解析并执行本地函数
if msg.tool_calls:
tc = msg.tool_calls[0]
args = json.loads(tc.function.arguments) # 解析入参 JSON 字符串
result = {"city": args["city"], "temp": 28, "condition": "晴"} # 模拟真实天气 API
messages.append(msg)
messages.append({"role": "tool", "tool_call_id": tc.id, "content": json.dumps(result)})
# ④ 第二次请求:模型基于工具结果整理自然语言回答
final = client.chat.completions.create(model=MODEL, messages=messages)
print(final.choices[0].message.content)
```

### 6.2 Embedding + 极简相似度检索(智谱 / 通义)

```python
from openai import OpenAI
import numpy as np

client = OpenAI(api_key=API_KEY, base_url=BASE_URL)

# 文档向量化(同一模型)
doc_vec = client.embeddings.create(model=EMBED_MODEL, input=["徐州是江苏城市", "北京是首都"]).data
query_vec = client.embeddings.create(model=EMBED_MODEL, input=["江苏省会"]).data

def cos_sim(a, b):
a, b = np.array(a.embedding), np.array(b.embedding)
return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))

for i, d in enumerate(doc_vec):
print(f"文档{i} 与 query 相似度: {cos_sim(d, query_vec[0]):.4f}")
```

> 注:`EMBED_MODEL` 在智谱用 `embedding-2`/`embedding-3`,通义用 `text-embedding-v3`,具体以平台文档为准。

---

## 7. 面试思考题(巩固理解)

1. 做信息提取输出 JSON,`temperature` 应该调大还是调小?为什么?
2. 上下文超限是什么原因?和 token 有什么关系?怎么处理?
3. 开源模型和闭源模型的核心区别是什么?各自适合什么场景?
4. Function-Calling 中,模型会真正执行函数吗?真正执行函数的是谁?
5. 为什么 RAG 里文档向量化和用户 query 必须用同一个 Embedding 模型?

---

## 8. 写在最后

大模型 API 迭代速度很快,新版本会持续修复 Function-Calling、幻觉、格式输出问题。开发者不要只看纸面参数,**一定要自己注册 Key,跑通普通对话、流式输出、工具调用全套测试用例,再做业务选型。**

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询