Skip to content

Commit

Permalink
debug command
Browse files Browse the repository at this point in the history
  • Loading branch information
mdjastrzebski committed Dec 8, 2024
1 parent fa0cd00 commit 6f546ca
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
33 changes: 18 additions & 15 deletions src/commands/chat/commands.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
import { CHATS_SAVE_DIRECTORY } from '../../file-utils.js';
import { formatCost, formatSpeed, formatTokenCount } from '../../format.js';
import {
getVerbose,
outputSystem,
outputVerbose,
outputWarning,
setVerbose,
} from '../../output.js';
import { getVerbose, outputSystem, outputWarning, setVerbose } from '../../output.js';
import { getProvider, getProviderConfig } from './providers.js';
import { messages, totalUsage } from './state.js';
import { calculateUsageCost } from './usage.js';
import { exit, saveConversation } from './utils.js';
import { exit, filterOutApiKey, saveConversation } from './utils.js';

export function processChatCommand(input: string) {
if (!input.startsWith('/')) {
Expand All @@ -32,6 +26,11 @@ export function processChatCommand(input: string) {
return true;
}

if (command === '/debug') {
outputDebugInfo();
return true;
}

if (command === '/forget') {
// Clear all messages
messages.length = 0;
Expand Down Expand Up @@ -77,17 +76,21 @@ export function outputInfo() {
`- Provider: ${provider.label}`,
`- Model: ${providerConfig.model}`,
`- Cost: ${formatCost(calculateUsageCost(totalUsage, { provider, providerConfig }))}`,
`- Usage: ${formatTokenCount(totalUsage.inputTokens)} input token(s), ${formatTokenCount(totalUsage.outputTokens)} output token(s), ${totalUsage.requests} request(s)`,
`- Usage: ${formatTokenCount(totalUsage.inputTokens)} input token(s), ${formatTokenCount(totalUsage.outputTokens)} output token(s), ${totalUsage.requests} request(s)usag`,
`- Avg Speed: ${formatSpeed(totalUsage.outputTokens, totalUsage.responseTime)}`,
`- System prompt: ${providerConfig.systemPrompt}`,
'',
];
outputSystem(lines.join('\n'));
}

export function outputDebugInfo() {
outputSystem(`Provider: ${toJson(getProvider().label)}\n`);
outputSystem(`Provider Config: ${toJson(getProviderConfig())}\n`);
outputSystem(`Messages: ${toJson(messages)}\n`);
outputSystem(`Usage: ${toJson(totalUsage)}\n`);
}

const rawMessages = JSON.stringify(
messages.map((m) => `${m.role}: ${m.content}`),
null,
2,
);
outputVerbose(`Messages: ${rawMessages}\n`);
function toJson(value: any) {
return JSON.stringify(value, filterOutApiKey, 2);
}
3 changes: 1 addition & 2 deletions src/commands/chat/usage.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { ModelUsage } from '@callstack/byorg-core';
import { getProvider, getProviderConfig } from './providers.js';
import { ModelPricing, Provider } from '../../engine/providers/provider.js';
import { Provider } from '../../engine/providers/provider.js';
import { ProviderConfig } from '../../engine/providers/config.js';

export type CostContext = {
Expand Down

0 comments on commit 6f546ca

Please sign in to comment.