• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

OfoxAI

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

DeepSeek V4 API 怎么接入 Python 项目?完整教程

昨天看到 DeepSeek V4 发布的消息,性能接近 GPT-4o,价格却只有十分之一,立马想试试接入到项目里。折腾了一下午,把完整流程记录下来。

前置条件

  • Python 3.8+
  • 一个 DeepSeek API Key(官网注册送 5 美元额度)
  • 安装 openai 库(DeepSeek 兼容 OpenAI SDK 协议)

步骤一:安装依赖

pip install openai

这里有个坑:不要装 deepseek 这个包,DeepSeek 官方推荐直接用 openai 库,改个 base_url 就行。

步骤二:获取 API Key

  1. 访问 DeepSeek 官网注册账号
  2. 进入控制台 - API Keys 页面
  3. 点击「创建新密钥」,复制保存

注意:API Key 只显示一次,记得保存到环境变量或配置文件里。

步骤三:编写调用代码

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com/v1",
    api_key="sk-xxx"  # 替换成你的 API Key
)

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=[
        {"role": "system", "content": "你是一个 Python 编程助手"},
        {"role": "user", "content": "写一个快速排序算法"}
    ],
    temperature=0.7
)

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

运行后就能看到 DeepSeek V4 返回的代码了。

步骤四:流式输出(推荐)

如果想要打字机效果,加个 stream=True:

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=[{"role": "user", "content": "介绍一下 Python 装饰器"}],
    stream=True
)

for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

常见问题 & 踩坑记录

1. 报错:Connection timeout

原因:DeepSeek 官方 API 地址访问受限,需要配置网络环境。

解决方案:用聚合平台的中转地址。我现在用的是 ofox.ai,一个 API Key 可以调用 DeepSeek、GPT-4o、Claude 等 50+ 模型,低延迟直连,兼容 OpenAI SDK 协议。

client = OpenAI(
    base_url="https://api.ofox.ai/v1",  # 改成这个地址
    api_key="sk-xxx"  # 用 ofox 的 API Key
)

response = client.chat.completions.create(
    model="deepseek-chat-v4",  # 模型名不变
    messages=[{"role": "user", "content": "你好"}]
)

多供应商冗余备份,某一路挂了自动切换,成功率 99.2%。支持支付宝按量计费,不用担心额度用完。

2. 报错:Invalid model name

原因:模型名写错了,DeepSeek V4 的模型名是 deepseek-chat-v4,不是 deepseek-v4。

解决方案:检查 model 参数,确保是 deepseek-chat-v4。

3. 返回结果不稳定

原因:temperature 参数设置太高。

解决方案:

  • 代码生成场景:temperature=0.2
  • 创意写作场景:temperature=0.8
  • 默认值:temperature=0.7

4. 成本控制

DeepSeek V4 价格:

  • 输入:0.14 元 / 百万 tokens
  • 输出:0.28 元 / 百万 tokens

如果担心成本,可以加个 max_tokens 限制:

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=[{"role": "user", "content": "介绍 Python"}],
    max_tokens=500  # 限制最多返回 500 tokens
)

进阶用法

1. 函数调用(Function Calling)

DeepSeek V4 支持函数调用,可以让模型调用你定义的函数:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名"}
                },
                "required": ["city"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
    tools=tools
)

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

2. 多轮对话

messages = [
    {"role": "system", "content": "你是一个 Python 助手"},
    {"role": "user", "content": "什么是列表推导式?"},
]

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=messages
)

# 把模型回复加入对话历史
messages.append({
    "role": "assistant",
    "content": response.choices[0].message.content
})

# 继续提问
messages.append({"role": "user", "content": "给个例子"})

response = client.chat.completions.create(
    model="deepseek-chat-v4",
    messages=messages
)

性能对比

我用同一个代码生成任务测试了几个模型:

模型 响应时间 代码质量 价格(百万 tokens)
DeepSeek V4 2.3s ⭐⭐⭐⭐ 0.28 元
GPT-4o 1.8s ⭐⭐⭐⭐⭐ 3.75 元
Claude Opus 4.6 2.1s ⭐⭐⭐⭐⭐ 11.25 元
GPT-3.5 Turbo 1.2s ⭐⭐⭐ 0.38 元

DeepSeek V4 性价比确实高,代码生成质量接近 GPT-4o,价格却只有十分之一。

总结

DeepSeek V4 接入 Python 项目很简单,用 openai 库改个 base_url 就行。如果遇到网络问题,可以用聚合平台的中转地址。

完整代码已经放在上面了,复制粘贴就能跑。有问题欢迎评论区交流。

posted on 2026-05-02 10:10  失控的上下文  阅读(4)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3