首次請求

完成认證配置 之後,你就可以發起第一次 API 請求了。本指南將带你逐步了解請求的各個部分,並解釋響應內容。

基礎請求

最常用的端點是 Chat Completions(對話補全),它會根據一组消息生成響應:

curl https://api.linkastra.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-pro",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What is the capital of France?"}
    ],
    "temperature": 0.7
  }'

理解響應

成功請求後會返回如下 JSON:

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1719000000,
  "model": "deepseek/deepseek-v4-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 8,
    "total_tokens": 32
  }
}

關鍵字段

字段說明
id本次補全的唯一标識
choices補全候選數组(通常為一個)
choices[].message助手的回復
choices[].finish_reason模型停止生成的原因(stoplengthcontent_filter
usage用於計費和監控的 token 計數

消息角色

每条消息都有一個 role,用於告诉模型如何理解该消息:

角色說明
system設定助手的行為和性格
user終端用户的輸入或指令
assistant模型此前的回復(用於多輪對話)

多輪對話

加入歷史消息即可保持上下文:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.linkastra.ai/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="deepseek/deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "You are a travel guide."},
        {"role": "user", "content": "What's the best time to visit Japan?"},
        {"role": "assistant", "content": "The best time to visit Japan is during spring (March-May) for cherry blossoms or autumn (October-November) for fall foliage."},
        {"role": "user", "content": "What about budget-friendly options?"}
    ]
)

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

常用參數

參數類型默认值說明
temperaturefloat1.0控制随機性(0 = 確定,2 = 非常随機)
max_tokensint模型上限響應中生成的最大 token 數
top_pfloat1.0核採样阈值
streamboolfalse生成過程中流式返回部分結果

錯誤處理

如果出現問題,API 會返回一個錯誤對象:

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

常见 HTTP 状態碼:

状態碼含義
400請求錯誤 —— 請檢查參數
401未授权 —— API 密钥無效或缺失
429超出速率限制 —— 請降低频率或升級套餐
500伺服器錯誤 —— 稍等片刻後重試

完整列表請见 錯誤碼

下一步