lh 1 ay önce
ebeveyn
işleme
f9cedec377
1 değiştirilmiş dosya ile 11 ekleme ve 1 silme
  1. 11 1
      app/Services/PointsService.php

+ 11 - 1
app/Services/PointsService.php

@@ -466,6 +466,7 @@ class PointsService
      * 从 AI 对话接口返回的 usage 中提取消耗的 token 数
      *
      * DeepSeek/OpenAI 格式:usage.total_tokens / usage.completion_tokens
+     * Gemini 格式:usageMetadata.totalTokenCount(含思考 token),缺省时按 prompt + candidates 合计
      *
      * @param mixed $usage
      * @return int
@@ -479,7 +480,16 @@ class PointsService
             return 0;
         }
 
-        $tokens = $usage['total_tokens'] ?? $usage['completion_tokens'] ?? 0;
+        $tokens = $usage['total_tokens']
+            ?? $usage['completion_tokens']
+            ?? $usage['totalTokenCount']
+            ?? (
+                isset($usage['promptTokenCount']) || isset($usage['candidatesTokenCount'])
+                ? (int)($usage['promptTokenCount'] ?? 0)
+                    + (int)($usage['candidatesTokenCount'] ?? 0)
+                    + (int)($usage['thoughtsTokenCount'] ?? 0)
+                : 0
+            );
         return (int)$tokens;
     }