DeepSeek V4 Pro vs Kimi K2.7 Code
什么时候选哪个
做长上下文、大批量文本选 deepseek-v4-pro:1000000 token 窗口,最多 393216 输出 token,缓存读取每百万 $0.132 对 $0.19。输出基本打平,$3.96 对 $4。需要图像或视频输入、或更便宜的摄入时选 kimi-k2.7-code,它 $0.95 的输入比 $1.32 低约 1.4 倍,代价是 256000 上下文、32768 token 输出上限和无法关闭的推理。两者都覆盖聊天、代码、推理和工具,所以真正的差别在模态和上下文,不在功能。
Benchmark 成绩
供应商公布: Alibaba (Qwen) Anthropic DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
价格
| DeepSeek V4 Pro | Kimi K2.7 Code | Δ | |
|---|---|---|---|
| 输入 / 1M token | $1.32 | $0.95 | 1.4× |
| 输出 / 1M token | $3.96 | $4 | 0.99× |
| 缓存读取 / 1M token | $0.132 | $0.19 | 0.69× |
| 缓存写入 | 不单独收费 | - | - |
价格取自构建时的实时目录,最新价格见各模型页面。
两个模型所处的位置:全部 76 个按同一单位计费的聊天模型的每 1M token 输入价分布(对数刻度)
能力
| DeepSeek V4 Pro | Kimi K2.7 Code | |
|---|---|---|
| 工具调用 | 是 | 是 |
| 思考控制 | 可配置 | 始终开启 |
| 结构化输出 | 是 | - |
| 提示词缓存 | 隐式(自动) | 隐式(自动) |
| 缓存有效期 | no fixed TTL (evicted when unused) | 未公布 |
| 最小缓存前缀 | 未公布 | 未公布 |
规格
| DeepSeek V4 Pro | Kimi K2.7 Code | |
|---|---|---|
| 输入模态 | 文本 | 文本 图像 视频 |
| 输出模态 | 文本 | 文本 |
| 发布日期 | 2026-04-24 | 2026-06 |
| 上下文窗口 | 1M | 256K |
| 最大输出 | 393K | 33K |
| 思考参数 |
|
|
| 可选值 | thinking.type
reasoning_effort
| type
keep
|
| 默认值 | enabled, with reasoning_effort high some complex agent requests are automatically set to max | thinking on with Preserved Thinking on |
规格照录自各供应商的文档;供应商没有公布的项目,对应的行直接省略,不做推断。 完整来源: DeepSeek V4 Pro · Kimi K2.7 Code
同一条提示词,两个模型,经网关实测
DeepSeek V4 Pro 通过 · 3 sentences
Enabling reasoning causes the model to generate a lengthy internal chain‑of‑thought before it delivers a visible answer, and we are billed for every one of those hidden reasoning tokens just as we are for the final output. In most interactions, the volume of these unseen tokens at least equals the visible response, effectively doubling the total tokens consumed per query. That doubled token consumption translates directly into a doubled per‑query cost, which is why our overall LLM bill doubled.
输出 641 tok (+545 思考) 延迟 11.5 s
Kimi K2.7 Code 通过 · 3 sentences
Enabling reasoning mode causes the model to generate an internal chain-of-thought before producing each answer, and that hidden reasoning text is billed like any other output. Those extra reasoning tokens typically add up to much more than the final response itself, so every API call now costs significantly more than before. Because our overall usage volume did not change, the doubled bill reflects that each query consumes roughly twice as many billable tokens.
输出 259 tok (+174 思考) 延迟 5.4 s
指令遵循(恰好三句,数得出来)、受众适配(对 CFO 说话的口吻),以及下方 token 计数暴露出的隐藏思考计费差额。
DeepSeek V4 Pro 通过 · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` **Explanation:** The bug stems from initializing `cur = 0` and only incrementing it when two adjacent elements match, which counts the number of *additional* equal elements rather than the actual run length (which is `cur + 1`). As a result, the returned `best` is always one less than the true longest run—most obviously returning 0 for a single-element list instead of 1. […]
输出 2418 tok (+2131 思考) 延迟 35.6 s
Kimi K2.7 Code 通过 · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` The bug is that the function counts *transitions* between equal neighbors instead of counting the items themselves, so a single-element list never enters the loop and returns `0` instead of `1`. Likewise, resetting `cur` to `0` on a mismatch forgets the current item that starts a new run, which causes runs that end at the last index to be undercounted. Initializing both `best` and `cur` to `1` and resetting `cur` to `1` fixes both issues.
输出 410 tok (+222 思考) 延迟 9.4 s
修复是否真的正确(能运行)、解释的信息密度,以及在一个范围明确的任务上的 token 效率。
DeepSeek V4 Pro 通过 · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": "eleven and change", "guidance": null }
输出 1204 tok (+1153 思考) 延迟 19.9 s
Kimi K2.7 Code 通过 · 5/5 fields, guidance "withheld pending the Q4 close"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": "withheld pending the Q4 close" } ```
输出 721 tok (+663 思考) 延迟 13.2 s
是否严守 schema(不臆造字段)、能否顶住幻觉压力(原文明说暂不给出 guidance),以及结构化输出路径的差异。
DeepSeek V4 Pro 没有可供评分的回答 · no answer text within 16,384 tokens (all of it went to thinking)
模型没有返回回答文本,整个 token 预算都花在了隐藏的思考上。
输出 8193 tok (+8192 思考) 延迟 106.2 s
Kimi K2.7 Code 通过 · 120 words, 0 banned, 1 question
We're introducing Prompt Cache for our API Gateway, a new capability that stores prompt responses across multiple AI providers. By caching replies, you reduce redundant calls, lower latency, and cut costs without changing how you build. Teams using several model providers can now reuse identical prompt results instantly, keeping traffic consistent and budgets predictable. Responses are keyed by provider, model, and exact prompt, so you always get the right result. Configure TTL, hit thresholds, and eviction rules from a single dashboard. It fits into your existing routing and requires no code changes. Setup takes minutes and works with your current endpoints. Want to see how much latency and spend you can trim? Check the docs to enable Prompt Cache today.
输出 2375 tok (+2235 思考) 延迟 38.6 s
是否守住约束(字数预算、禁用词表、只能有一个问句)、文风特征,以及长度控制。
改一行代码就能在两个模型之间切换
下方每个标签页里都有两个模型 ID,高亮的那两行是唯一要改的地方。端点不变,API key 不变,请求结构也不变。
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="deepseek-v4-pro",
# model="kimi-k2.7-code", # 取消注释此行,注释上一行
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "deepseek-v4-pro",
// model: "kimi-k2.7-code", // 取消注释此行,注释上一行
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
# "model": "kimi-k2.7-code", # 取消注释此行,注释上一行
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "deepseek-v4-pro",
// Model: "kimi-k2.7-code", // 取消注释此行,注释上一行
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("deepseek-v4-pro")
// .model("kimi-k2.7-code") // 取消注释此行,注释上一行
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));常见问题
DeepSeek V4 Pro 和 Kimi K2.7 Code 哪个更便宜?
按「输入 / 1M token」算,Kimi K2.7 Code 更便宜($0.95 对 $1.32,相差 1.4×)。其他计费项的结论可能相反,完整价格见上方表格,实际成本取决于你的用量构成。
不用分别集成两次,就能对 DeepSeek V4 Pro 和 Kimi K2.7 Code 做 A/B 测试吗?
可以。两个模型走同一个 OpenAI 兼容端点,用同一个 API key,切换时只要改一行里的模型名,所以可以给两个模型各分一部分流量,直接对比账单。
DeepSeek V4 Pro 和 Kimi K2.7 Code 支持提示词缓存吗?
支持。两个模型的缓存读取价都低于各自的输入价,所以前缀能反复命中缓存的负载,实际成本会比按官网价估算的低。具体的缓存读取价见上方价格表。