Skip to content

Commit 18c95c4

Browse files
committed
Merge branch 'next' of github.com:devforth/adminforth into next
2 parents 8c268c1 + 9e5af25 commit 18c95c4

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

dev-demo/custom/TurnDebugShow.vue

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
<div class="text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400">Tool Sequences</div>
2929
<div class="mt-1 text-2xl font-semibold text-slate-900 dark:text-white">{{ toolCallSequences }}</div>
3030
</div>
31+
<div class="rounded-lg bg-white p-3 shadow-sm dark:bg-slate-800">
32+
<div class="text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400">Cached Prompt Tokens</div>
33+
<div class="mt-1 text-2xl font-semibold text-slate-900 dark:text-white">{{ formatNumber(totalCachedTokens) }}</div>
34+
</div>
3135
</div>
3236
</div>
3337

@@ -57,6 +61,12 @@
5761
</div>
5862

5963
<div class="flex items-center gap-3">
64+
<div
65+
v-if="sequence.cachedTokens > 0"
66+
class="rounded-full bg-sky-100 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-sky-800 dark:bg-sky-900/50 dark:text-sky-200"
67+
>
68+
Cache hit: {{ formatNumber(sequence.cachedTokens) }}
69+
</div>
6070
<div
6171
class="rounded-full px-3 py-1 text-xs font-semibold uppercase tracking-wide"
6272
:class="sequence.resultType === 'tool_calls'
@@ -72,7 +82,7 @@
7282
</div>
7383
</summary>
7484

75-
<div class="mt-4 grid gap-3 md:grid-cols-4">
85+
<div class="mt-4 grid gap-3 md:grid-cols-5">
7686
<div class="rounded-lg bg-slate-50 p-3 dark:bg-slate-800/70">
7787
<div class="text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400">Prompt</div>
7888
<div class="mt-1 text-sm font-semibold text-slate-900 dark:text-white">
@@ -97,6 +107,12 @@
97107
{{ sequence.toolCalls.length }}
98108
</div>
99109
</div>
110+
<div class="rounded-lg bg-slate-50 p-3 dark:bg-slate-800/70">
111+
<div class="text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400">Cached Prompt Tokens</div>
112+
<div class="mt-1 text-sm font-semibold text-slate-900 dark:text-white">
113+
{{ formatNumber(sequence.cachedTokens) }}
114+
</div>
115+
</div>
100116
</div>
101117

102118
<section v-if="sequence.prompt" class="mt-4">
@@ -264,6 +280,8 @@ type DebugSequence = {
264280
prompt: string;
265281
reasoning: string;
266282
text: string;
283+
cachedTokens: number;
284+
responseId: string | null;
267285
toolCalls: DebugToolCall[];
268286
endedAt: string;
269287
resultType: 'tool_calls' | 'final_text';
@@ -291,6 +309,10 @@ const toolCallSequences = computed(() =>
291309
debugSequences.value.filter((sequence) => sequence.resultType === 'tool_calls').length,
292310
);
293311
312+
const totalCachedTokens = computed(() =>
313+
debugSequences.value.reduce((sum, sequence) => sum + sequence.cachedTokens, 0),
314+
);
315+
294316
const rawJson = computed(() => JSON.stringify(debugSequences.value, null, 2));
295317
const copiedFieldKey = ref<string | null>(null);
296318
let copiedFieldResetTimer: ReturnType<typeof setTimeout> | null = null;
@@ -299,6 +321,13 @@ function formatTimestamp(value: string) {
299321
return new Date(value).toLocaleString();
300322
}
301323
324+
function formatNumber(value: number) {
325+
if (value) {
326+
return value.toLocaleString();
327+
}
328+
return '0';
329+
}
330+
302331
function sequenceDuration(sequence: DebugSequence) {
303332
const startedAtMs = new Date(sequence.startedAt).getTime();
304333
const endedAtMs = new Date(sequence.endedAt).getTime();

0 commit comments

Comments
 (0)