Skip to content

API 常见问题

本页面收集了用户在使用 DeepSeek API 时最常遇到的问题和解决方案。

🔐 认证相关

Q: 如何获取 API 密钥?

A: 您可以通过以下步骤获取 API 密钥:

  1. 访问 DeepSeek 官网
  2. 注册并登录您的账户
  3. 进入控制台的 "API 密钥" 页面
  4. 点击 "创建新密钥" 按钮
  5. 为密钥设置名称和权限
  6. 复制并安全保存生成的密钥

Q: API 密钥在哪里使用?

A: API 密钥需要在 HTTP 请求头中使用:

bash
curl -X POST "https://ai.sankotrade.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Q: API 密钥泄露了怎么办?

A: 如果您的 API 密钥泄露:

  1. 立即撤销: 在控制台中立即撤销泄露的密钥
  2. 生成新密钥: 创建新的 API 密钥
  3. 更新应用: 在所有应用中更新为新密钥
  4. 检查使用记录: 查看是否有异常的 API 调用
  5. 联系支持: 如有异常使用,请联系技术支持

🚀 API 使用

Q: 支持哪些编程语言?

A: DeepSeek API 是基于 HTTP 的 RESTful API,支持所有能发送 HTTP 请求的编程语言,包括但不限于:

  • Python (推荐使用 requestshttpx)
  • JavaScript/Node.js (推荐使用 fetchaxios)
  • Java (推荐使用 OkHttpHttpClient)
  • Go (使用标准库 net/http)
  • PHP (使用 cURLGuzzle)
  • C# (使用 HttpClient)

Q: 如何处理长文本输入?

A: 对于长文本输入,请注意:

  1. Token 限制: 单次请求的总 token 数(输入+输出)不能超过模型限制
  2. 分段处理: 对于超长文本,考虑分段处理
  3. 上下文管理: 合理管理对话上下文,保留重要信息
python
# 示例:处理长文本
def process_long_text(text, max_tokens=4000):
    # 简单的分段策略
    chunks = [text[i:i+max_tokens] for i in range(0, len(text), max_tokens)]
    results = []
    
    for chunk in chunks:
        response = client.chat.completions.create(
            model="deepseek-chat",
            messages=[{"role": "user", "content": chunk}]
        )
        results.append(response.choices[0].message.content)
    
    return results

Q: 如何实现流式输出?

A: 设置 stream=True 参数:

python
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "写一篇关于AI的文章"}],
    stream=True
)

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

⚡ 性能优化

Q: 如何提高 API 响应速度?

A: 以下方法可以提高响应速度:

  1. 使用流式输出: 对于长文本生成,使用 stream=True
  2. 优化提示词: 使用清晰、简洁的提示词
  3. 控制输出长度: 设置合适的 max_tokens 参数
  4. 选择合适的模型: 根据任务复杂度选择模型
  5. 网络优化: 确保网络连接稳定

Q: 为什么有时候响应很慢?

A: 响应速度可能受以下因素影响:

  • 请求复杂度: 复杂的任务需要更多计算时间
  • 输出长度: 生成更长的文本需要更多时间
  • 服务器负载: 高峰期可能响应较慢
  • 网络延迟: 网络连接质量影响响应时间

🔢 计费相关

Q: 如何计算 API 使用费用?

A: API 费用基于 token 使用量计算:

  • 输入 token: 您发送给 API 的文本
  • 输出 token: API 返回给您的文本
  • 计费方式: 输入和输出 token 分别计费

Q: 如何查看使用量?

A: 您可以通过以下方式查看使用量:

  1. 控制台: 登录控制台查看详细使用统计
  2. API 响应: 每次 API 响应都包含 token 使用信息
  3. 账单: 定期查看账单了解费用详情

Q: 如何控制使用成本?

A: 控制成本的建议:

  1. 设置预算: 在控制台设置月度预算限制
  2. 监控使用: 定期检查 token 使用量
  3. 优化提示词: 使用更精确的提示词减少不必要的输出
  4. 设置 max_tokens: 限制单次响应的最大长度

🛠️ 错误处理

Q: 遇到 401 错误怎么办?

A: 401 错误表示认证失败:

  1. 检查 API 密钥: 确认密钥是否正确
  2. 检查请求头: 确认 Authorization 头格式正确
  3. 检查密钥状态: 确认密钥未被撤销或过期
  4. 检查权限: 确认密钥有相应的 API 调用权限

Q: 遇到 429 错误怎么办?

A: 429 错误表示请求过于频繁:

  1. 降低请求频率: 减少单位时间内的请求数量
  2. 实现重试机制: 使用指数退避策略重试
  3. 升级套餐: 考虑升级到更高的速率限制套餐
  4. 批量处理: 合并多个请求减少调用次数
python
import time
import random

def api_call_with_retry(func, max_retries=3):
    for attempt in range(max_retries):
        try:
            return func()
        except Exception as e:
            if "429" in str(e) and attempt < max_retries - 1:
                # 指数退避
                wait_time = (2 ** attempt) + random.uniform(0, 1)
                time.sleep(wait_time)
                continue
            raise e

Q: 遇到 500 错误怎么办?

A: 500 错误表示服务器内部错误:

  1. 稍后重试: 等待几分钟后重试
  2. 检查服务状态: 访问服务状态页面确认服务状态
  3. 联系支持: 如果问题持续,请联系技术支持
  4. 保存错误信息: 记录完整的错误信息以便排查

🔧 集成问题

Q: 如何在 React 应用中使用 API?

A: 在前端应用中使用时需要注意安全性:

javascript
// 不要在前端直接使用 API 密钥!
// 应该通过后端代理调用

// 正确的做法:通过后端 API
const callDeepSeekAPI = async (message) => {
  const response = await fetch('/api/chat', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ message }),
  });
  
  return response.json();
};

Q: 如何在移动应用中集成?

A: 移动应用集成建议:

  1. 后端代理: 通过后端服务调用 API,不要在移动应用中直接使用密钥
  2. 用户认证: 实现用户认证系统
  3. 缓存策略: 合理缓存响应减少 API 调用
  4. 离线处理: 考虑离线场景的处理方案

📱 模型选择

Q: 应该选择哪个模型?

A: 根据您的需求选择:

  • deepseek-chat: 适合一般对话、问答、文本生成
  • deepseek-reasoner: 适合需要复杂推理的任务

Q: 不同模型的区别是什么?

A: 主要区别:

特性deepseek-chatdeepseek-reasoner
适用场景通用对话复杂推理
响应速度较快较慢
推理能力标准增强
费用标准较高

🔍 调试技巧

Q: 如何调试 API 调用?

A: 调试建议:

  1. 记录请求: 记录完整的请求参数
  2. 检查响应: 仔细检查 API 响应内容
  3. 使用工具: 使用 Postman 或 curl 测试
  4. 查看日志: 检查应用日志中的错误信息
python
import logging

# 启用详细日志
logging.basicConfig(level=logging.DEBUG)

# 记录 API 调用
def debug_api_call(messages):
    logging.info(f"API Request: {messages}")
    
    try:
        response = client.chat.completions.create(
            model="deepseek-chat",
            messages=messages
        )
        logging.info(f"API Response: {response}")
        return response
    except Exception as e:
        logging.error(f"API Error: {e}")
        raise

📞 获取更多帮助

如果您的问题在此页面中没有找到答案,请:

  1. 查看文档: 阅读完整的 API 文档
  2. 联系支持: 访问 技术支持页面
  3. 社区讨论: 加入开发者社区讨论
  4. 提交反馈: 通过邮件提交问题反馈

本页面持续更新,如有新的常见问题会及时添加。最后更新: 2024年1月

基于 DeepSeek AI 大模型技术