]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/blob
5c5ac8c25c8256460aecfb69c16b103f4d78d57b
[pkg/ggml/sources/llama.cpp] /
1 <script lang="ts">
2 import { ChatMessageStatistics } from '$lib/components/app';
3 import { ChatMessageStatisticsMode } from '$lib/enums';
4 import type { UseProcessingStateReturn } from '$lib/hooks/use-processing-state.svelte';
5
6 interface Props {
7 message: DatabaseMessage;
8 isLoading: boolean;
9 processingState: UseProcessingStateReturn;
10 showMessageStats: boolean;
11 }
12
13 let { isLoading, message, processingState, showMessageStats }: Props = $props();
14 </script>
15
16 {#if showMessageStats && message.timings && message.timings.predicted_n && message.timings.predicted_ms}
17 {@const agentic = message.timings.agentic}
18 <ChatMessageStatistics
19 mode={ChatMessageStatisticsMode.GENERATION}
20 promptTokens={agentic ? agentic.llm.prompt_n : message.timings.prompt_n}
21 promptMs={agentic ? agentic.llm.prompt_ms : message.timings.prompt_ms}
22 predictedTokens={agentic ? agentic.llm.predicted_n : message.timings.predicted_n}
23 predictedMs={agentic ? agentic.llm.predicted_ms : message.timings.predicted_ms}
24 agenticTimings={agentic}
25 />
26 {:else if isLoading && showMessageStats}
27 {@const liveStats = processingState.getLiveProcessingStats()}
28 {@const genStats = processingState.getLiveGenerationStats()}
29
30 {#if genStats}
31 <ChatMessageStatistics
32 mode={ChatMessageStatisticsMode.GENERATION}
33 isLive
34 promptTokens={liveStats?.tokensProcessed}
35 promptMs={liveStats?.timeMs}
36 predictedTokens={genStats.tokensGenerated}
37 predictedMs={genStats.timeMs}
38 />
39 {/if}
40 {/if}