TL;DR:DeepSeek V3 和 R1 已经火了大半年,但真正用起来效果怎么样?本文用 3 个真实开发案例告诉你:API 调用方式、价格对比、代码质量实测、踩坑实录。结论:国产大模型能打,但要用对场景。

1. 先说结论

DeepSeek 目前有两款主力模型:

  • DeepSeek V3:通用大模型,适合日常对话、代码生成、文档处理
  • DeepSeek R1:推理模型,适合复杂推理、数学、逻辑分析

我分别用这两个模型跑了 3 个真实开发场景,先看结论:

场景 DeepSeek V3 GPT-4o 结论
代码生成(Python) ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ V3 稍逊,但差距不大
代码生成(Go / Rust) ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ V3 反超,中文注释更好
复杂逻辑推理 ⭐⭐⭐⭐(R1) ⭐⭐⭐⭐⭐ R1 接近 GPT-4o
中文理解与表达 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ V3 更懂中国开发者
价格(1M Tokens) ¥1 / ¥2 ¥75 / ¥30 V3 便宜 70 倍

2. DeepSeek API 基础调用

2.1 获取 API Key

DeepSeek API 通过 硅基流动(SiliconFlow) 或 DeepSeek 官方平台 接入。我推荐用硅基流动(国内可直接访问):

1. 注册并获取 API Key

# 访问 https://www.siliconflow.cn/
# 注册账号 → 个人中心 → API Keys → 创建新 Key

# 获取到的 Key 格式类似:sk-xxxxxxxxxxxxxxxx

2.2 Python 调用 DeepSeek V3

Python

import openai

client = openai.OpenAI(
    api_key="your-siliconflow-api-key",
    base_url="https://api.siliconflow.cn/v1"
)

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V3",
    messages=[
        {"role": "system", "content": "你是一个资深 Python 后端工程师。"},
        {"role": "user", "content": "用 FastAPI 写一个用户认证的 API,包含注册和登录接口。"}
    ],
    temperature=0.7,
    max_tokens=2000
)

print(response.choices[0].message.content)

2.3 调用 DeepSeek R1(推理模型)

Python

import openai

client = openai.OpenAI(
    api_key="your-siliconflow-api-key",
    base_url="https://api.siliconflow.cn/v1"
)

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=[
        {"role": "user", "content": "有 100 个球的盒子,第一次取出一半,第二次取出剩下的三分之一,第三次取出剩下的四分之一,以此类推。第100次取出剩下球的1/101。问最后剩下多少球?"}
    ]
)

# R1 会输出推理过程 + 最终答案
print(response.choices[0].message.content)

3. 案例 1:代码生成对比(Python / Go / Rust)

测试任务

用同一个 Prompt 分别让 DeepSeek V3 和 GPT-4o 生成代码,对比质量。

Prompt

用 [语言] 写一个连接 MySQL 数据库的工具类,要求:
1. 支持连接池
2. 自动重连机制
3. 错误处理和日志记录
4. 包含 CRUD 操作示例
5. 用中文写注释

Python 结果对比

维度 DeepSeek V3 GPT-4o
代码完整性 ✅ 有连接池、重连、CRUD ✅ 有连接池、CRUD
中文注释 ✅ 详细 ⚠️ 少量
异常处理 ✅ 完善 ✅ 完善
现代 Python 写法 ⚠️ 用了部分 async ✅ async/await 全覆盖
可直接运行 ✅ 改个配置就能跑 ✅ 改个配置就能跑

结论:V3 的 Python 代码质量接近 GPT-4o,中文注释是加分项。但 async 写法和 GPT-4o 比还有差距。

Go / Rust 结果对比

有趣的是,在 Go 和 Rust 上,V3 的表现反而更好:

  • Go 代码:V3 生成的代码风格更符合 Go 习惯,GPT-4o 有时会用 Python 思维写 Go
  • Rust 代码:V3 对 Rust 所有权机制的理解更准确,GPT-4o 偶尔会写出借检查错误

实测结论:如果你的主力语言是 Go 或 Rust,DeepSeek V3 完全可以替代 GPT-4o,而且便宜 70 倍。

4. 案例 2:复杂推理任务(R1 vs GPT-4o)

测试任务

Prompt

有一个长度为 100 的数组,里面包含了 1-100 的所有整数打乱顺序排列。
但是其中有一个数字重复了两次,另一个数字缺失了。
请设计一个算法,在 O(n) 时间复杂度和 O(1) 空间复杂度下找出重复的数字和缺失的数字。
请用 Python 实现并给出详细解释。

R1 的输出(推理过程)

DeepSeek R1 输出

让我分析这个问题:

## 推理过程

设数组为 A,长度为 n=100。
包含 1-100 的所有数字,但其中:
- 某个数字 d 出现了两次(重复)
- 某个数字 m 缺失了(缺失)

根据数学推导:
1. sum(A) = sum(1..100) + d - m
   = 5050 + d - m
2. 所以:d - m = sum(A) - 5050

3. sum(A²) = sum(1²..100²) + d² - m²
   = 338350 + d² - m²

4. 联立方程求解 d 和 m

## Python 实现
def find_dup_and_missing(nums):
    n = 100
    total_sum = n * (n + 1) // 2
    total_square = n * (n + 1) * (2 * n + 1) // 6

    actual_sum = sum(nums)
    actual_square = sum(x * x for x in nums)

    diff = actual_sum - total_sum        # d - m
    diff_square = actual_square - total_square  # d² - m²

    # (d + m) = (d² - m²) / (d - m)
    sum_dm = diff_square // diff
    duplicate = (diff + sum_dm) // 2
    missing = (sum_dm - diff) // 2

    return duplicate, missing

R1 给出了完整的数学推导过程和代码,比 GPT-4o 更详细。

5. 案例 3:构建一个 AI 代码审查 Bot

实战场景

用 DeepSeek API 搭一个代码审查 Bot:接收 GitHub PR,自动分析代码并给出审查意见。

Python - AI 代码审查 Bot

import openai
import requests

client = openai.OpenAI(
    api_key="your-api-key",
    base_url="https://api.siliconflow.cn/v1"
)

def review_code(diff_content: str, language: str) -> str:
    """对代码 diff 进行审查"""
    response = client.chat.completions.create(
        model="deepseek-ai/DeepSeek-V3",
        messages=[
            {
                "role": "system",
                "content": """你是一个资深代码审查专家。
重点关注:
1. 潜在的 Bug 和安全问题
2. 代码可读性和可维护性
3. 性能问题
4. 边界条件处理

输出格式:
## 总体评分:[X/10]
## 优点:[列举]
## 问题:[问题列表,每条标注严重程度:高/中/低]
## 建议:[改进建议]"""
            },
            {
                "role": "user",
                "content": f"请审查以下 {language} 代码的改动:\n\n{diff_content}"
            }
        ],
        temperature=0.3
    )
    return response.choices[0].message.content

def post_review_comment(github_token: str, repo: str, pr_number: int, comment: str):
    """将审查结果作为评论发到 GitHub PR"""
    url = f"https://api.github.com/repos/{repo}/issues/{pr_number}/comments"
    headers = {
        "Authorization": f"token {github_token}",
        "Accept": "application/vnd.github.v3+json"
    }
    data = {"body": f"## 🤖 AI 代码审查\n\n{comment}"}
    requests.post(url, headers=headers, json=data)

# 使用示例
diff = """+ def calculate_discount(price, rate):
+     return price * rate
+ # 缺少参数校验"
review = review_code(diff, "Python")
print(review)

审查效果实测

输入:一个修复登录 Bug 的 PR,包含约 200 行代码改动
DeepSeek V3 审查时间:约 8 秒
审查结果:识别出 3 个问题:
1. ⚠️ 高:缺少密码加密(安全)
2. ⚠️ 中:异常处理过于宽泛
3. 💡 低:缺少单元测试

6. 价格对比

模型 输入价格(元/百万 Tokens) 输出价格(元/百万 Tokens) 相对成本
DeepSeek V3 ¥1 ¥2 基准
DeepSeek R1 ¥1 ¥16 V3 的 8 倍(输出)
GPT-4o ¥75 ¥30 V3 的 15-75 倍
Claude 3.5 Sonnet ¥22 ¥110 V3 的 22-55 倍

V3 的价格是 GPT-4o 的 1/75,Claude 的 1/55

⚠️ 注意:DeepSeek 官方 API 有时不稳定(高峰期响应慢)。建议生产环境同时接入硅基流动作为备选。

7. 总结:什么时候用 DeepSeek

场景 推荐模型 理由
日常代码生成 ✅ DeepSeek V3 便宜 + 中文好
Go / Rust 开发 ✅ DeepSeek V3 比 GPT 更懂
Python async 代码 ⚠️ GPT-4o V3 async 写法稍弱
复杂数学推理 ✅ DeepSeek R1 推理过程详细
生产环境高并发 ⚠️ 需加备选 官方 API 有时不稳

DeepSeek 的价值不是「替代 GPT」,而是「让 AI 开发真正进入千家万户」——以前只有大公司才能用得起的 AI 能力,现在个人开发者一个月几十块钱就能用。

我的建议:日常开发用 V3,省钱够用;复杂推理任务用 R1,效果接近 GPT-4o,价格只有十分之一。

如果对你有帮助,欢迎在评论区聊聊你用 DeepSeek 的体验。

更多推荐