This commit is contained in:
lila 2026-07-06 15:21:52 +02:00
parent 1c4dcdd108
commit e89e3b7a70
6 changed files with 137 additions and 30 deletions

View file

@ -26,8 +26,9 @@ export class GeminiAdapter implements LlmAdapter {
promptTokens: number;
completionTokens: number;
totalTokens: number;
promptTimeMs: number;
completionTimeMs: number;
promptTimeMs: number | null;
completionTimeMs: number | null;
totalTimeMs: number;
}> {
const url = `https://generativelanguage.googleapis.com/v1beta/models/${this.model}:generateContent?key=${this.apiKey}`;
@ -72,8 +73,9 @@ export class GeminiAdapter implements LlmAdapter {
promptTokens,
completionTokens,
totalTokens: json.usageMetadata.totalTokenCount,
promptTimeMs: totalTimeMs * 0.3,
completionTimeMs: totalTimeMs * 0.7,
promptTimeMs: null,
completionTimeMs: null,
totalTimeMs,
};
}
}

View file

@ -29,8 +29,9 @@ export class OpenAiCompatibleAdapter implements LlmAdapter {
promptTokens: number;
completionTokens: number;
totalTokens: number;
promptTimeMs: number;
completionTimeMs: number;
promptTimeMs: number | null;
completionTimeMs: number | null;
totalTimeMs: number;
}> {
const payload: Record<string, unknown> = {
messages: [
@ -78,16 +79,14 @@ export class OpenAiCompatibleAdapter implements LlmAdapter {
const promptTokens = json.usage.prompt_tokens;
const completionTokens = json.usage.completion_tokens;
const promptTimeMs = json.timings?.prompt_ms ?? totalTimeMs * 0.3;
const completionTimeMs = json.timings?.predicted_ms ?? totalTimeMs * 0.7;
return {
content,
promptTokens,
completionTokens,
totalTokens: json.usage.total_tokens,
promptTimeMs,
completionTimeMs,
promptTimeMs: json.timings?.prompt_ms ?? null,
completionTimeMs: json.timings?.predicted_ms ?? null,
totalTimeMs,
};
}
}

View file

@ -7,7 +7,8 @@ export interface LlmAdapter {
promptTokens: number;
completionTokens: number;
totalTokens: number;
promptTimeMs: number;
completionTimeMs: number;
promptTimeMs: number | null;
completionTimeMs: number | null;
totalTimeMs: number;
}>;
}