Skip to content

认证方式

API 密钥认证

DeepSeek API 使用 API 密钥进行身份验证。您需要在每个请求的 Authorization 头中包含您的 API 密钥。

获取 API 密钥

  1. 访问 [API 管理页面]
  2. 登录您的账户
  3. 点击"创建新密钥"
  4. 为密钥设置一个描述性名称
  5. 复制生成的密钥并安全保存

重要提醒

  • API 密钥只会在创建时显示一次
  • 请立即复制并安全保存您的密钥
  • 不要在客户端代码中暴露 API 密钥

使用 API 密钥

HTTP 头认证

在每个 API 请求中包含以下头部:

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

示例请求

bash
curl http://ai.sankotrade.com/chat/completions \
  -H "Authorization: Bearer sk-1234567890abcdef" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

环境变量设置

为了安全起见,建议将 API 密钥存储在环境变量中:

bash
export DEEPSEEK_API_KEY="your-api-key-here"
cmd
set DEEPSEEK_API_KEY=your-api-key-here
powershell
$env:DEEPSEEK_API_KEY="your-api-key-here"

在代码中使用

python
import os
import openai

client = openai.OpenAI(
    api_key=os.getenv("DEEPSEEK_API_KEY"),
    base_url="http://ai.sankotrade.com"
)
javascript
import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: 'http://ai.sankotrade.com'
});
go
package main

import (
    "os"
    "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig(os.Getenv("DEEPSEEK_API_KEY"))
    config.BaseURL = "http://ai.sankotrade.com"
    client := openai.NewClientWithConfig(config)
}

密钥管理最佳实践

1. 密钥轮换

定期更换您的 API 密钥以提高安全性:

  • 建议每 90 天轮换一次
  • 在怀疑密钥泄露时立即轮换
  • 保留旧密钥一段时间以确保平滑过渡

2. 权限控制

为不同的应用或环境创建不同的 API 密钥:

  • 开发环境使用独立密钥
  • 生产环境使用独立密钥
  • 不同项目使用独立密钥

3. 监控使用情况

定期检查 API 密钥的使用情况:

  • 监控异常的使用模式
  • 设置使用量警报
  • 审查访问日志

错误处理

认证失败

当 API 密钥无效或缺失时,您会收到以下错误:

json
{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

常见认证错误

错误码描述解决方案
invalid_api_keyAPI 密钥无效检查密钥是否正确
missing_api_key缺少 API 密钥在请求头中添加密钥
api_key_expiredAPI 密钥已过期创建新的 API 密钥

安全建议

1. 存储安全

  • 使用环境变量存储密钥
  • 不要在代码中硬编码密钥
  • 使用密钥管理服务(如 AWS Secrets Manager)

2. 传输安全

  • 始终使用 HTTPS 进行 API 调用
  • 不要在 URL 参数中传递密钥
  • 使用 Authorization 头部传递密钥

3. 访问控制

  • 限制密钥的访问权限
  • 使用最小权限原则
  • 定期审查密钥使用情况

故障排除

检查密钥有效性

python
import openai
import os

def test_api_key():
    try:
        client = openai.OpenAI(
            api_key=os.getenv("DEEPSEEK_API_KEY"),
            base_url="http://ai.sankotrade.com"
        )
        
        response = client.chat.completions.create(
            model="deepseek-chat",
            messages=[{"role": "user", "content": "test"}],
            max_tokens=1
        )
        
        print("✅ API 密钥有效")
        return True
        
    except openai.AuthenticationError:
        print("❌ API 密钥无效")
        return False
    except Exception as e:
        print(f"❌ 其他错误: {e}")
        return False

test_api_key()

调试认证问题

python
import requests

def debug_auth():
    headers = {
        "Authorization": f"Bearer {os.getenv('DEEPSEEK_API_KEY')}",
        "Content-Type": "application/json"
    }
    
    response = requests.post(
        "http://ai.sankotrade.com/chat/completions",
        headers=headers,
        json={
            "model": "deepseek-chat",
            "messages": [{"role": "user", "content": "test"}]
        }
    )
    
    print(f"状态码: {response.status_code}")
    print(f"响应头: {response.headers}")
    print(f"响应内容: {response.text}")

debug_auth()

需要帮助?请访问我们的 支持页面 或查看 常见问题

基于 DeepSeek AI 大模型技术