File size: 768 Bytes
f415c95 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import { getTokens } from "$lib/components/inference-playground/utils.js";
import { watch } from "runed";
import { session } from "./session.svelte";
export interface GenerationStats {
latency: number;
generatedTokensCount: number;
}
function createGenerationStats() {
let stats = $state([] as Array<GenerationStats>);
const init = () => {
watch(
() => $state.snapshot(session.project),
() => {
session.project.conversations.forEach(async (c, i) => {
generationStats[i] = { latency: 0, ...generationStats[i], generatedTokensCount: await getTokens(c) };
});
}
);
};
const set = (s: Array<GenerationStats>) => {
stats = s;
};
return Object.assign(stats, { set, init });
}
export const generationStats = createGenerationStats();
|