forked from open-webui/open-webui
feat: human readable Generation Info total
Add new function to convert nanoseconds into `approximate_total:` for *Generation Info* tooltip.
This commit is contained in:
parent
0d3ce18a61
commit
23b674ddda
2 changed files with 27 additions and 1 deletions
|
@ -18,6 +18,7 @@
|
||||||
import { synthesizeOpenAISpeech } from '$lib/apis/openai';
|
import { synthesizeOpenAISpeech } from '$lib/apis/openai';
|
||||||
import { imageGenerations } from '$lib/apis/images';
|
import { imageGenerations } from '$lib/apis/images';
|
||||||
import {
|
import {
|
||||||
|
approximateToHumanReadable,
|
||||||
extractSentences,
|
extractSentences,
|
||||||
revertSanitizedResponseContent,
|
revertSanitizedResponseContent,
|
||||||
sanitizeResponseContent
|
sanitizeResponseContent
|
||||||
|
@ -122,7 +123,10 @@
|
||||||
eval_count: ${message.info.eval_count ?? 'N/A'}<br/>
|
eval_count: ${message.info.eval_count ?? 'N/A'}<br/>
|
||||||
eval_duration: ${
|
eval_duration: ${
|
||||||
Math.round(((message.info.eval_duration ?? 0) / 1000000) * 100) / 100 ?? 'N/A'
|
Math.round(((message.info.eval_duration ?? 0) / 1000000) * 100) / 100 ?? 'N/A'
|
||||||
}ms</span>`,
|
}ms<br/>
|
||||||
|
approximate_total: ${
|
||||||
|
approximateToHumanReadable(message.info.total_duration)
|
||||||
|
}</span>`,
|
||||||
allowHTML: true
|
allowHTML: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -467,3 +467,25 @@ export const blobToFile = (blob, fileName) => {
|
||||||
const file = new File([blob], fileName, { type: blob.type });
|
const file = new File([blob], fileName, { type: blob.type });
|
||||||
return file;
|
return file;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const approximateToHumanReadable = (nanoseconds: number) => {
|
||||||
|
const seconds = Math.floor((nanoseconds / 1e+9) % 60);
|
||||||
|
const minutes = Math.floor((nanoseconds / 6e+10) % 60);
|
||||||
|
const hours = Math.floor((nanoseconds / 3.6e+12) % 24);
|
||||||
|
|
||||||
|
const results: string[] = [];
|
||||||
|
|
||||||
|
if (seconds >= 0) {
|
||||||
|
results.push(`${seconds}s`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (minutes > 0) {
|
||||||
|
results.push(`${minutes}m`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hours > 0) {
|
||||||
|
results.push(`${hours}h`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return results.reverse().join(' ');
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in a new issue