OpenRouter gpt-oss-120b 模型不支援中文請求的除錯記錄

記錄了一次 API 除錯經歷,OpenRouter 的 gpt-oss-120b 模型對中文請求返回 429 錯誤,英文請求正常回應的奇怪現象。

在使用 OpenRouter 提供的免費模型 API 時,我遇到了一個令人困惑的問題。同樣的請求結構,僅僅修改了提示詞的語言,就會出現完全不同的結果。

問題復現

我使用 openai/gpt-oss-120b:free 模型進行測試,兩個請求的唯一區別在於提示詞語言。第一個請求使用中文提示:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-or-v1-xxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
  "model": "openai/gpt-oss-120b:free",
  "messages": [
    {
      "role": "user",
      "content": "你是一個專業的本地化翻譯專家"
    }
  ]
}'

這個請求總是返回 429 狀態碼,表示請求過於頻繁或超出了配額限制。然而當我使用英文提示時:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-or-v1-xxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
  "model": "openai/gpt-oss-120b:free",
  "messages": [
    {
      "role": "user",
      "content": "You are a professional localization translation expert"
    }
  ]
}'

請求能夠正常回應,返回預期的模型輸出。

除錯過程

這種不一致的行為讓人困惑。429 錯誤通常意味著速率限制,但問題在於兩個請求幾乎同時發送,不應該存在速率限制的問題。於是我開始系統地排查可能的原因。

我首先檢查了 API 金鑰的配額限制,確認並沒有超出限制。接著驗證了請求頻率,發現短時間內只發送了少量請求,不應該觸發任何速率限制機制。排除了這些常見原因後,注意到唯一的變數是提示詞的語言。

尋求更強大的 AI 模型協助時,我諮詢了 Opus 4.6 Max 和 GPT-5.2 Extra High。儘管它們是當前最先進的語言模型之一,但都未能明確指出這個 bug 的根本原因。這說明一些邊緣情況或特定限制可能只有在實際測試中才能發現。

手動驗證

既然自動化除錯工具未能給出答案,我決定手動驗證各種假設。測試了不同的中文內容,包括簡單的問候、技術問題和長文本,所有中文請求都返回 429 錯誤。相反,使用相同長度的英文請求則能正常回應。

這個現象指向了一個明確的結論:openai/gpt-oss-120b:free 模型不支援中文請求。模型對中文內容的處理可能觸發了一個未被文件說明的限制機制,導致 API 直接返回 429 錯誤而非更友好的錯誤提示。

經驗總結

這次除錯經歷有幾個值得注意的要點。首先是 API 錯誤訊息可能具有誤導性。429 錯誤通常表示速率限制,但在某些情況下可能隱藏了其他限制。其次,自動化除錯工具雖然強大,但並非萬能。一些特定於模型或平台的限制只有在實際測試中才能發現。

另一個重要教訓是驗證假設的必要性。當多個高級 AI 模型都未能找出問題時,手動系統化的測試仍然是最可靠的方法。透過控制變數和逐一驗證,最終能夠定位到問題的根源。

對於需要處理多語言內容的應用,這也提醒我們在選擇模型時要仔細查閱文件或進行充分測試。免費模型往往有各種限制,這些限制可能不會在主要文件中明確說明。

相關工具

在處理多語言內容翻譯時,我開發了一個 VS Code 外掛 Project Translator,專門用於專案的多語言在地化工作流程。它可以自動識別需要翻譯的檔案,整合多種翻譯服務,並保持翻譯的上下文一致性。

這個外掛的設計初衷就是解決實際專案中遇到的多語言處理痛點。透過自動化的方式減少手動翻譯的工作量,同時保證翻譯品質。在開發過程中也遇到過各種 API 限制和邊界情況,每個問題都需要仔細除錯和驗證。

結語

技術除錯過程中,總會遇到一些意想不到的問題。關鍵是保持耐心,系統地排查可能的原因,不放過任何一個細節。有時候最先進的工具也幫不上忙,反而需要最基礎的驗證方法。

OpenRouter 提供了豐富的模型選擇和靈活的 API,這是它的優勢。但同時也需要注意,不同的模型可能有不同的限制和特性,使用前最好進行充分的測試。免費模型尤其如此,它們的限制往往更加嚴格且不透明。