展开本页目录
开始前准备什么
- apizt 中可用的 deepseek-v4-pro 与 qwen3.8-max
- 同一令牌、预算与脱敏样本
- 事先写好人工验收规则,保留失败尝试
- 核对准确型号
- 先看输入边界
- 运行同任务样本
- 计算验收任务成本
六次尝试的答案、终态、usage 和耗时;等待人工评分。
型号 ID 要精确,别把系列名当接口参数
本页对应 apizt 的 deepseek-v4-pro 与 qwen3.8-max。日期快照、Max/Flash 后缀和渠道别名可能对应不同路由或能力;不要自行删后缀来“统一名称”。
厂商当前文档描述的是官方产品能力。apizt 当前分组的上下文、参数透传和多模态支持,需要在模型详情与实际调用中再核对。
官方能力用于筛选,网关仍逐项验收
| 筛选维度 | DeepSeek V4 Pro 官方文档 | Qwen3.8 Max 官方文档 |
|---|---|---|
| 文本与推理 | 支持思考与非思考模式 | 支持文本与思考模式 |
| 输入模态 | 当前 Pro 资料未列视觉支持 | 列出文本、图片、视频输入 |
| 工具/格式 | 列出工具调用与 JSON 输出 | 列出 Function Calling 与结构化输出 |
| 上下文 | 官方列出 1M;网关限制另验 | 官方列出 1M;参数组合影响长度 |
| 联网能力 | 不能从模型推断可联网 | 官方区域能力不同,渠道另验 |
| 最终选择 | 使用你的任务验收结果 | 使用你的任务验收结果 |
- 筛选维度
- 文本与推理
- DeepSeek V4 Pro 官方文档
- 支持思考与非思考模式
- Qwen3.8 Max 官方文档
- 支持文本与思考模式
- 筛选维度
- 输入模态
- DeepSeek V4 Pro 官方文档
- 当前 Pro 资料未列视觉支持
- Qwen3.8 Max 官方文档
- 列出文本、图片、视频输入
- 筛选维度
- 工具/格式
- DeepSeek V4 Pro 官方文档
- 列出工具调用与 JSON 输出
- Qwen3.8 Max 官方文档
- 列出 Function Calling 与结构化输出
- 筛选维度
- 上下文
- DeepSeek V4 Pro 官方文档
- 官方列出 1M;网关限制另验
- Qwen3.8 Max 官方文档
- 官方列出 1M;参数组合影响长度
- 筛选维度
- 联网能力
- DeepSeek V4 Pro 官方文档
- 不能从模型推断可联网
- Qwen3.8 Max 官方文档
- 官方区域能力不同,渠道另验
- 筛选维度
- 最终选择
- DeepSeek V4 Pro 官方文档
- 使用你的任务验收结果
- Qwen3.8 Max 官方文档
- 使用你的任务验收结果
按三类业务样本写验收标准
- 编程:给相同边界需求,代码是否能运行,测试是否真的覆盖空输入和负数。
- 资料问答:问题中没有价格信息时必须回答未知,不能补出合理数字。
- 中文表达:是否保留 30 秒、超时不重发等约束,并让普通用户读懂。
- 图片文档:单独建立多模态样本,不把文本成绩当视觉能力证据。
完整脚本:两模型各三次请求
脚本使用完全相同的三条输入,保存六次尝试、终态、回答、usage 与耗时。状态统一是 awaiting_human_acceptance;不会给自己的答案打分,也不会把一次耗时称为基准。失败和未知结果仍保留。
developer-model-comparison.py
import json
import os
import time
from pathlib import Path
from openai import OpenAI
TASKS = [
{"id": "boundary-tests", "prompt": "为 Python average(xs)=sum(xs)/len(xs) 编写 unittest,明确空数组应抛 ValueError,覆盖单值和负数。仅给代码。"},
{"id": "source-grounding", "prompt": "仅根据原文回答并引用短句。原文:标准交付为 7 个工作日;加急为 3 个工作日;未说明价格。问题:加急多久,多少钱?"},
{"id": "chinese-summary", "prompt": "把下面说明改成给普通用户看的中文,保留数字:请求已入队,预计 30 秒返回;超时不自动重发,因为可能产生重复计费。"},
]
def main():
client = OpenAI(api_key=os.environ["tokenba_API_KEY"],
base_url="https://api.apizt.com/v1", timeout=120, max_retries=0)
rows = []
for model in ["deepseek-v4-pro", "qwen3.8-max"]:
for task in TASKS:
start = time.perf_counter()
try:
result = client.chat.completions.create(
model=model, messages=[{"role": "user", "content": task["prompt"]}], max_tokens=4096)
row = {"model": model, "task_id": task["id"],
"returned_model": result.model,
"answer": result.choices[0].message.content,
"finish_reason": result.choices[0].finish_reason,
"usage": result.usage.model_dump() if result.usage else None,
"status": "awaiting_human_acceptance"}
except Exception as error:
row = {"model": model, "task_id": task["id"], "status": "failed_or_unknown",
"error_type": type(error).__name__}
row["elapsed_seconds"] = round(time.perf_counter() - start, 3)
rows.append(row)
Path("model-comparison-results.json").write_text(
json.dumps(rows, ensure_ascii=False, indent=2), encoding="utf-8")
print("Saved all six attempts. Add human acceptance and console charges before choosing.")
if __name__ == "__main__":
main()
先确认预算,再运行评估
这次运行可能产生六次调用费用。对编程答案先做代码审阅,再放入隔离练习环境运行;不能直接执行未经检查的模型输出。提示和脚本属于评估材料,本页没有宣称已完成网关实测。
bash
python -m pip install -U openai
# 在服务端环境设置 tokenba_API_KEY
python developer-model-comparison.py用完成任务的成本,而不是单价做结论
从模型广场查看当前最低可用价格;其他价格去模型广场查询。实际任务成本还包括输出长度、重试、缓存计费及失败尝试,本文不固定写死动态价格。
人工为每条结果填通过或失败,再核对控制台中全部六次请求的真实扣费。若某模型便宜但需要多次返工,按验收通过的任务总成本重新比较。
参数错误与能力差异怎么收敛
先用最小 Chat 请求验证基础文本,再加入思考控制、工具、Schema 和多模态参数。官方同名字段也可能要求不同值;400 不要用无限重试消耗预算。
长文失败时检查实际上下文和输出上限。网页标注的官方窗口不能证明当前渠道接受同样长度。输出截断先缩小任务或分段,不把残缺代码和 JSON 纳入“成功”样本。
怎样确认已经完成
- 两边模型 ID 与实际返回记录一致
- 六次尝试都保留 usage 和失败状态
- 未知价格信息不会被模型编造
- 人工验收后再按控制台扣费作选择
常见问题
哪一个中文或编程一定更好?
不能对你的业务作统一保证。按相同任务、相同验收标准比较,并记录客户端及渠道条件。
官方写 1M,apizt 一定能用满吗?
不一定。网关、令牌、参数和渠道可能设置不同限制,先验证实际输入预算和输出上限。