inference-playground / src /lib /state /generation-stats.svelte.ts
Thomas G. Lopes
Accurate max tokens (#77)
f415c95 unverified
raw
history blame
768 Bytes
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();