Patch OpenAI metrics (#4458)

resolves #4457
This commit is contained in:
Timothy Carambat 2025-09-30 15:19:34 -07:00 committed by GitHub
parent be7e2b6bc6
commit cd34063111
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -168,11 +168,11 @@ class OpenAiLLM {
return { return {
textResponse: result.output.output_text, textResponse: result.output.output_text,
metrics: { metrics: {
prompt_tokens: usage.prompt_tokens || 0, prompt_tokens: usage.input_tokens || 0,
completion_tokens: usage.completion_tokens || 0, completion_tokens: usage.output_tokens || 0,
total_tokens: usage.total_tokens || 0, total_tokens: usage.total_tokens || 0,
outputTps: usage.completion_tokens outputTps: usage.output_tokens
? usage.completion_tokens / result.duration ? usage.output_tokens / result.duration
: 0, : 0,
duration: result.duration, duration: result.duration,
}, },
@ -224,6 +224,7 @@ class OpenAiLLM {
if (token) { if (token) {
fullText += token; fullText += token;
if (!hasUsageMetrics) usage.completion_tokens++; if (!hasUsageMetrics) usage.completion_tokens++;
writeResponseChunk(response, { writeResponseChunk(response, {
uuid, uuid,
sources: [], sources: [],
@ -237,7 +238,12 @@ class OpenAiLLM {
const { response: res } = chunk; const { response: res } = chunk;
if (res.hasOwnProperty("usage") && !!res.usage) { if (res.hasOwnProperty("usage") && !!res.usage) {
hasUsageMetrics = true; hasUsageMetrics = true;
usage = { ...usage, ...res.usage }; usage = {
...usage,
prompt_tokens: res.usage?.input_tokens || 0,
completion_tokens: res.usage?.output_tokens || 0,
total_tokens: res.usage?.total_tokens || 0,
};
} }
writeResponseChunk(response, { writeResponseChunk(response, {