cleanup | logger | prefs, local first :)
This commit is contained in:
parent
54b9c5dd9c
commit
cc60e8cc03
2
packages/kbot/.vscode/launch.json
vendored
2
packages/kbot/.vscode/launch.json
vendored
@ -275,7 +275,7 @@
|
|||||||
],
|
],
|
||||||
"cwd": "${workspaceFolder}",
|
"cwd": "${workspaceFolder}",
|
||||||
"args": [
|
"args": [
|
||||||
"'send John the latest wheather report for Tarragona, as email'",
|
"'send me the latest wheather report for Tarragona, as email'",
|
||||||
"--disable='npm,terminal'",
|
"--disable='npm,terminal'",
|
||||||
"--include='tests/*.md'"
|
"--include='tests/*.md'"
|
||||||
],
|
],
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { resolve } from '@polymech/commons';
|
import { resolve } from '@polymech/commons';
|
||||||
import { winstonLogger, } from '@polymech/ai-tools';
|
import { winstonLogger, } from '@polymech/ai-tools';
|
||||||
import { logger as loggerIntern } from './index.js';
|
import { getLogger } from './index.js';
|
||||||
export const collector = (options, client) => {
|
export const collector = (options, client) => {
|
||||||
|
const loggerIntern = getLogger(options);
|
||||||
return {
|
return {
|
||||||
//OpenAI
|
//OpenAI
|
||||||
onMessage: (message) => {
|
onMessage: (message) => {
|
||||||
@ -67,4 +68,4 @@ export const collector = (options, client) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFJNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsTUFBTSxJQUFJLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUluRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFxQixFQUFFLE1BQWMsRUFBYyxFQUFFO0lBQzNFLE9BQU87UUFDSCxRQUFRO1FBQ1IsU0FBUyxFQUFFLENBQUMsT0FBbUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtZQUNyRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUEyQyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFBO1lBQ2hGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUM3RCxJQUFJLENBQUM7Z0JBQ0QsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtnQkFDcEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNyQixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pCLENBQUM7UUFDTCxDQUFDO1FBQ0Qsb0JBQW9CLEVBQUUsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUE7WUFDdkYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ3ZFLElBQUksQ0FBQztnQkFDRCxNQUFNLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUE7Z0JBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDckIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN6QixDQUFDO1FBQ0wsQ0FBQztRQUNELGdCQUFnQixFQUFFLENBQUMsT0FBdUIsRUFBRSxFQUFFO1lBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQTtZQUNqRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDbkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU07WUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtZQUMzRSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDekQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUNELFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBbUMsRUFBRSxJQUFTLEVBQUUsRUFBRTtZQUNuRSxJQUFHLENBQUM7Z0JBQ0EsWUFBWSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUFBLE9BQU0sQ0FBQyxFQUFDLENBQUM7Z0JBQ04sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsV0FBVyxFQUFFLEtBQUssRUFBRSxHQUFtQyxFQUFFLElBQVMsRUFBRSxNQUFZLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUM7Z0JBQ0QsWUFBWSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEIsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUEifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFJNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXRDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQXFCLEVBQUUsTUFBYyxFQUFjLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZDLE9BQU87UUFDSCxRQUFRO1FBQ1IsU0FBUyxFQUFFLENBQUMsT0FBbUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtZQUNyRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUEyQyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFBO1lBQ2hGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUM3RCxJQUFJLENBQUM7Z0JBQ0QsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtnQkFDcEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNyQixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pCLENBQUM7UUFDTCxDQUFDO1FBQ0Qsb0JBQW9CLEVBQUUsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUE7WUFDdkYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ3ZFLElBQUksQ0FBQztnQkFDRCxNQUFNLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUE7Z0JBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDckIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN6QixDQUFDO1FBQ0wsQ0FBQztRQUNELGdCQUFnQixFQUFFLENBQUMsT0FBdUIsRUFBRSxFQUFFO1lBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQTtZQUNqRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDbkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU07WUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtZQUMzRSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDekQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUNELFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBbUMsRUFBRSxJQUFTLEVBQUUsRUFBRTtZQUNuRSxJQUFHLENBQUM7Z0JBQ0EsWUFBWSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUFBLE9BQU0sQ0FBQyxFQUFDLENBQUM7Z0JBQ04sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsV0FBVyxFQUFFLEtBQUssRUFBRSxHQUFtQyxFQUFFLElBQVMsRUFBRSxNQUFZLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUM7Z0JBQ0QsWUFBWSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEIsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUEifQ==
|
||||||
@ -3,7 +3,6 @@ import { markedTerminal } from 'marked-terminal';
|
|||||||
import * as path from 'node:path';
|
import * as path from 'node:path';
|
||||||
import { sync as write } from '@polymech/fs/write';
|
import { sync as write } from '@polymech/fs/write';
|
||||||
import { resolve } from '@polymech/commons';
|
import { resolve } from '@polymech/commons';
|
||||||
import { logger } from '../index.js';
|
|
||||||
import { dumpAsScript } from '../utils/script.js';
|
import { dumpAsScript } from '../utils/script.js';
|
||||||
import { applyFilters } from '../filters.js';
|
import { applyFilters } from '../filters.js';
|
||||||
import { variables } from '../variables.js';
|
import { variables } from '../variables.js';
|
||||||
@ -17,7 +16,7 @@ export const onCompletion = async (result = "", options) => {
|
|||||||
ROUTER: options.router,
|
ROUTER: options.router,
|
||||||
}));
|
}));
|
||||||
write(dstPath, result);
|
write(dstPath, result);
|
||||||
logger.debug(`Wrote completion result to ${dstPath} : ${options.dst}`);
|
options.logger.debug(`Wrote completion result to ${dstPath} : ${options.dst}`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
marked.use(markedTerminal({
|
marked.use(markedTerminal({
|
||||||
@ -32,7 +31,7 @@ export const onCompletion = async (result = "", options) => {
|
|||||||
};
|
};
|
||||||
export const runCompletion = async (client, params, options) => {
|
export const runCompletion = async (client, params, options) => {
|
||||||
if (options.dry) {
|
if (options.dry) {
|
||||||
logger.info('Dry run - skipping API call');
|
options.logger.info('Dry run - skipping API call');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// await client.beta.chat.completions.parse
|
// await client.beta.chat.completions.parse
|
||||||
@ -45,4 +44,4 @@ export const runCompletion = async (client, params, options) => {
|
|||||||
result = await onCompletion(result, options);
|
result = await onCompletion(result, options);
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWNvbXBsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcnVuLWNvbXBsZXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFJM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHM0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxTQUFjLEVBQUUsRUFBRSxPQUFrQixFQUFFLEVBQUU7SUFDekUsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQW1CLElBQUksRUFBRSxDQUFDLENBQUE7SUFDaEUsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9CLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ3ZELEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJO1lBQ3JDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtTQUN2QixDQUFDLENBQUMsQ0FBQTtRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsT0FBTyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDeEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUMsQ0FBQTtRQUNILE1BQU0sT0FBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQVcsQ0FBQztRQUNqRCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3JCLGtCQUFrQjtJQUNsQixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLE1BQVcsRUFBRSxPQUFrQixFQUFFLEVBQUU7SUFDckYsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQzFDLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELDJDQUEyQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN0RCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLGVBQWUsRUFBRSxPQUFPLENBQUMsTUFBYTtLQUN2QyxDQUFDLENBQUE7SUFDRixJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7SUFDbEQsTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM1QyxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQSJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWNvbXBsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcnVuLWNvbXBsZXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsU0FBYyxFQUFFLEVBQUUsT0FBa0IsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRTtZQUN2RCxHQUFHLElBQUk7WUFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSTtZQUNyQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07U0FDdkIsQ0FBQyxDQUFDLENBQUE7UUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDaEYsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUN4QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQyxDQUFBO1FBQ0gsTUFBTSxPQUFPLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBVyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDckIsa0JBQWtCO0lBQ2xCLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsTUFBVyxFQUFFLE9BQWtCLEVBQUUsRUFBRTtJQUNyRixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQ2xELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELDJDQUEyQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN0RCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLGVBQWUsRUFBRSxPQUFPLENBQUMsTUFBYTtLQUN2QyxDQUFDLENBQUE7SUFDRixJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7SUFDbEQsTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM1QyxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQSJ9
|
||||||
@ -1,5 +1,4 @@
|
|||||||
import { content } from '../utils/content.js';
|
import { content } from '../utils/content.js';
|
||||||
import { logger } from '../index.js';
|
|
||||||
import { onCompletion } from './run-completion.js';
|
import { onCompletion } from './run-completion.js';
|
||||||
export const runTools = async (client, params, options) => {
|
export const runTools = async (client, params, options) => {
|
||||||
const sessionId = Date.now().toString();
|
const sessionId = Date.now().toString();
|
||||||
@ -10,7 +9,7 @@ export const runTools = async (client, params, options) => {
|
|||||||
messages: []
|
messages: []
|
||||||
};
|
};
|
||||||
if (options.dry) {
|
if (options.dry) {
|
||||||
logger.info('Dry run - skipping API call');
|
options.logger.info('Dry run - skipping API call');
|
||||||
return {
|
return {
|
||||||
result: 'DRY RUN',
|
result: 'DRY RUN',
|
||||||
sessionMessages,
|
sessionMessages,
|
||||||
@ -42,7 +41,7 @@ export const runTools = async (client, params, options) => {
|
|||||||
.on('content', options.collector.onContent);
|
.on('content', options.collector.onContent);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
logger.trace(e);
|
options.logger.trace(e);
|
||||||
}
|
}
|
||||||
let result = content(runner);
|
let result = content(runner);
|
||||||
try {
|
try {
|
||||||
@ -50,13 +49,13 @@ export const runTools = async (client, params, options) => {
|
|||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
if (error.message.includes("(reading 'map')")) {
|
if (error.message.includes("(reading 'map')")) {
|
||||||
logger.error('Failed to complete runner: credits :)', error.message, error.message, error);
|
options.logger.error('Failed to complete runner: credits :)', error.message, error.message, error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logger.error('Failed to complete runner:', error.message, error.issues);
|
options.logger.error('Failed to complete runner:', error.message, error.issues);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const ret = content(result);
|
const ret = content(result);
|
||||||
return await onCompletion(ret, options);
|
return await onCompletion(ret, options);
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi10b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFbEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsTUFBVyxFQUFFLE9BQWtCLEVBQUUsRUFBRTtJQUNoRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDdkMsTUFBTSxlQUFlLEdBQUc7UUFDdEIsU0FBUztRQUNULE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDbkMsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFBO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQzFDLE9BQU87WUFDTCxNQUFNLEVBQUUsU0FBUztZQUNqQixlQUFlO1lBQ2YsVUFBVSxFQUFFLEVBQUU7WUFDZCxTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFZLEVBQUUsU0FBaUIsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM3RCxPQUFPO1lBQ0wsR0FBRyxPQUFPO1lBQ1YsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQ25DLFNBQVM7WUFDVCxNQUFNO1NBQ1AsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQTtJQUNqQixJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQTZDLENBQUM7YUFDaEcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQW1DLEVBQUUsRUFBRTtZQUNwRCxPQUFPLENBQUMsU0FBd0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDN0YsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQXdDLEVBQUUsRUFBRTtZQUMvRCxPQUFRLE9BQU8sQ0FBQyxTQUF3QixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNsRyxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3QixPQUFPLENBQUMsU0FBd0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMzRCxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsZ0JBQWdCLEVBQUcsT0FBTyxDQUFDLFNBQXdCLENBQUMsZ0JBQWdCLENBQUM7YUFDeEUsRUFBRSxDQUFDLFNBQVMsRUFBRyxPQUFPLENBQUMsU0FBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUVELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM1QixJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUM3QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQzFGLE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN2RSxPQUFNO0lBQ1IsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQixPQUFPLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUEifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi10b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLE1BQVcsRUFBRSxPQUFrQixFQUFFLEVBQUU7SUFDaEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3ZDLE1BQU0sZUFBZSxHQUFHO1FBQ3RCLFNBQVM7UUFDVCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQ25DLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQTtJQUNELElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUE7UUFDbEQsT0FBTztZQUNMLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLGVBQWU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQVksRUFBRSxTQUFpQixFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzdELE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsU0FBUztZQUNULE1BQU07U0FDUCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFBO0lBQ2pCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBNkMsQ0FBQzthQUNoRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBbUMsRUFBRSxFQUFFO1lBQ3BELE9BQU8sQ0FBQyxTQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUM3RixDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBd0MsRUFBRSxFQUFFO1lBQy9ELE9BQVEsT0FBTyxDQUFDLFNBQXdCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ2xHLENBQUMsQ0FBQzthQUNELEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxTQUF3QixDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNELENBQUMsQ0FBQzthQUNELEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRyxPQUFPLENBQUMsU0FBd0IsQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4RSxFQUFFLENBQUMsU0FBUyxFQUFHLE9BQU8sQ0FBQyxTQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM1QixJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUM3QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNsRyxPQUFNO1FBQ1IsQ0FBQztRQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQy9FLE9BQU07SUFDUixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNCLE9BQU8sTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0FBQ3pDLENBQUMsQ0FBQSJ9
|
||||||
File diff suppressed because one or more lines are too long
2
packages/kbot/dist-in/index.d.ts
vendored
2
packages/kbot/dist-in/index.d.ts
vendored
@ -1,5 +1,7 @@
|
|||||||
import { Logger, ILogObj } from 'tslog';
|
import { Logger, ILogObj } from 'tslog';
|
||||||
|
import { IKBotTask } from '@polymech/ai-tools';
|
||||||
export declare const logger: Logger<ILogObj>;
|
export declare const logger: Logger<ILogObj>;
|
||||||
|
export declare const getLogger: (options: IKBotTask) => Logger<ILogObj>;
|
||||||
export { run } from './commands/run.js';
|
export { run } from './commands/run.js';
|
||||||
export declare const module_root: () => string;
|
export declare const module_root: () => string;
|
||||||
export declare const assistant_supported: Record<string, string>;
|
export declare const assistant_supported: Record<string, string>;
|
||||||
|
|||||||
@ -1,10 +1,44 @@
|
|||||||
import { platform } from 'node:process';
|
import { platform } from 'node:process';
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
|
import { Logger } from 'tslog';
|
||||||
const isWindows = platform === 'win32';
|
const isWindows = platform === 'win32';
|
||||||
import { get_var } from '@polymech/commons';
|
import { get_var } from '@polymech/commons';
|
||||||
import { MODULE_NAME } from './constants.js';
|
import { MODULE_NAME } from './constants.js';
|
||||||
import { createLogger } from '@polymech/log';
|
import { createLogger } from '@polymech/log';
|
||||||
export const logger = createLogger('llm-tools');
|
export const logger = createLogger('llm-tools');
|
||||||
|
let _logger = logger;
|
||||||
|
export const getLogger = (options) => {
|
||||||
|
if (_logger) {
|
||||||
|
return _logger;
|
||||||
|
}
|
||||||
|
const logLevelMap = {
|
||||||
|
'silly': 0,
|
||||||
|
'trace': 1,
|
||||||
|
'debug': 2,
|
||||||
|
'info': 3,
|
||||||
|
'warn': 4,
|
||||||
|
'error': 5,
|
||||||
|
'fatal': 6
|
||||||
|
};
|
||||||
|
let minLevel = logLevelMap['info'];
|
||||||
|
if (options.logLevel) {
|
||||||
|
if (typeof options.logLevel === 'string') {
|
||||||
|
const levelStr = options.logLevel;
|
||||||
|
minLevel = logLevelMap[levelStr.toLowerCase()] || logLevelMap['info'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
minLevel = options.logLevel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_logger = new Logger({
|
||||||
|
name: MODULE_NAME,
|
||||||
|
minLevel,
|
||||||
|
hideLogPositionForProduction: true,
|
||||||
|
maskPlaceholder: '***',
|
||||||
|
prettyLogTemplate: "{{logLevelName}}\t[{{filePathWithLine}}{{name}}]\t",
|
||||||
|
});
|
||||||
|
return _logger;
|
||||||
|
};
|
||||||
export { run } from './commands/run.js';
|
export { run } from './commands/run.js';
|
||||||
export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`));
|
export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`));
|
||||||
export const assistant_supported = {
|
export const assistant_supported = {
|
||||||
@ -36,4 +70,4 @@ export * from './zod_schema.js';
|
|||||||
export { E_OPENAI_MODEL } from './models/cache/openai-models.js';
|
export { E_OPENAI_MODEL } from './models/cache/openai-models.js';
|
||||||
export { E_OPENROUTER_MODEL } from './models/cache/openrouter-models.js';
|
export { E_OPENROUTER_MODEL } from './models/cache/openrouter-models.js';
|
||||||
export { E_OPENROUTER_MODEL_FREE } from './models/cache/openrouter-models-free.js';
|
export { E_OPENROUTER_MODEL_FREE } from './models/cache/openrouter-models-free.js';
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFFNUIsTUFBTSxTQUFTLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQTtBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQStCLENBQUE7QUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVySCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkI7SUFDekQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLFVBQVU7SUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixPQUFPLEVBQUUseUVBQXlFO0lBQ2xGLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLE9BQU8sRUFBRSwyRUFBMkU7SUFDcEYsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixNQUFNLEVBQUUsWUFBWTtJQUNwQixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLE1BQU0sRUFBRSxZQUFZO0NBQ3JCLENBQUE7QUFDRCxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsaUJBQWlCLENBQUE7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLE9BQU8sQ0FBQTtBQUN2QyxNQUFNLFNBQVMsR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFBO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBK0IsQ0FBQTtBQUU3RSxJQUFJLE9BQU8sR0FBb0IsTUFBTSxDQUFBO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQWtCLEVBQW1CLEVBQUU7SUFDL0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBMkI7UUFDMUMsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFBO0lBRUQsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFrQixDQUFBO1lBQzNDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUE7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQVU7UUFDNUIsSUFBSSxFQUFFLFdBQVc7UUFDakIsUUFBUTtRQUNSLDRCQUE0QixFQUFFLElBQUk7UUFDbEMsZUFBZSxFQUFFLEtBQUs7UUFDdEIsaUJBQWlCLEVBQUUsb0RBQW9EO0tBQ3hFLENBQUMsQ0FBQTtJQUNGLE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFckgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ3pELElBQUksRUFBRSxVQUFVO0lBQ2hCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLHlFQUF5RTtJQUNsRixLQUFLLEVBQUUsZUFBZTtJQUN0QixPQUFPLEVBQUUsV0FBVztJQUNwQixPQUFPLEVBQUUsYUFBYTtJQUN0QixLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixNQUFNLEVBQUUsWUFBWTtJQUNwQixPQUFPLEVBQUUsMkVBQTJFO0lBQ3BGLEtBQUssRUFBRSxlQUFlO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsS0FBSyxFQUFFLHdCQUF3QjtJQUMvQixNQUFNLEVBQUUsWUFBWTtDQUNyQixDQUFBO0FBQ0QsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGlCQUFpQixDQUFBO0FBRS9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQSJ9
|
||||||
@ -13,9 +13,11 @@ export const prompt = async (opts) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
export const preferences = async (opts) => {
|
export const preferences = async (opts) => {
|
||||||
let preferencesPath = path.resolve(resolve(opts.preferences, false, env_vars()));
|
// First try local preferences
|
||||||
|
let preferencesPath = path.resolve(path.join(process.cwd(), PREFERENCES_FILE_NAME));
|
||||||
if (!exists(preferencesPath)) {
|
if (!exists(preferencesPath)) {
|
||||||
preferencesPath = path.resolve(path.join(process.cwd(), PREFERENCES_FILE_NAME));
|
// Fall back to specified preferences path if local file doesn't exist
|
||||||
|
preferencesPath = path.resolve(resolve(opts.preferences, false, env_vars()));
|
||||||
}
|
}
|
||||||
const preferences = read(preferencesPath, 'string');
|
const preferences = read(preferencesPath, 'string');
|
||||||
return {
|
return {
|
||||||
@ -23,4 +25,4 @@ export const preferences = async (opts) => {
|
|||||||
content: `USER Preferences : ${preferences}` || ''
|
content: `USER Preferences : ${preferences}` || ''
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb21wdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFdEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFlLEVBQW1ELEVBQUU7SUFDN0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEMsT0FBTztRQUNILElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO0tBQ3ZCLENBQUE7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQWUsRUFBbUQsRUFBRTtJQUNsRyxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDaEYsSUFBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtJQUNyRixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQVcsQ0FBQTtJQUM3RCxPQUFPO1FBQ0gsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsc0JBQXNCLFdBQVcsRUFBRSxJQUFJLEVBQUU7S0FDckQsQ0FBQTtBQUNMLENBQUMsQ0FBQSJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb21wdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFdEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFlLEVBQW1ELEVBQUU7SUFDN0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEMsT0FBTztRQUNILElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO0tBQ3ZCLENBQUE7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQWUsRUFBbUQsRUFBRTtJQUNsRyw4QkFBOEI7SUFDOUIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUE7SUFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzNCLHNFQUFzRTtRQUN0RSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hGLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBVyxDQUFBO0lBQzdELE9BQU87UUFDSCxJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxzQkFBc0IsV0FBVyxFQUFFLElBQUksRUFBRTtLQUNyRCxDQUFBO0FBQ0wsQ0FBQyxDQUFBIn0=
|
||||||
@ -7,11 +7,12 @@ import { RunnableFunctionWithParse } from 'openai/lib/RunnableFunction'
|
|||||||
|
|
||||||
import { winstonLogger, } from '@polymech/ai-tools'
|
import { winstonLogger, } from '@polymech/ai-tools'
|
||||||
import { IKBotOptions } from './zod_types.js'
|
import { IKBotOptions } from './zod_types.js'
|
||||||
import { logger as loggerIntern } from './index.js'
|
import { getLogger } from './index.js'
|
||||||
|
|
||||||
import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources/index.mjs'
|
import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources/index.mjs'
|
||||||
|
|
||||||
export const collector = (options: IKBotOptions, client: OpenAI): ICollector => {
|
export const collector = (options: IKBotOptions, client: OpenAI): ICollector => {
|
||||||
|
const loggerIntern = getLogger(options)
|
||||||
return {
|
return {
|
||||||
//OpenAI
|
//OpenAI
|
||||||
onMessage: (message: ChatCompletionMessageParam) => {
|
onMessage: (message: ChatCompletionMessageParam) => {
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
import * as path from 'node:path'
|
|
||||||
import { sync as read } from '@polymech/fs/read'
|
|
||||||
import { sync as exists } from '@polymech/fs/exists'
|
|
||||||
import { Logger } from 'tslog'
|
|
||||||
import { logger } from '../'
|
|
||||||
@ -4,10 +4,8 @@ import { markedTerminal } from 'marked-terminal'
|
|||||||
import * as path from 'node:path'
|
import * as path from 'node:path'
|
||||||
import { sync as write } from '@polymech/fs/write'
|
import { sync as write } from '@polymech/fs/write'
|
||||||
import { resolve } from '@polymech/commons'
|
import { resolve } from '@polymech/commons'
|
||||||
|
|
||||||
import { IKBotTask } from '@polymech/ai-tools'
|
import { IKBotTask } from '@polymech/ai-tools'
|
||||||
|
|
||||||
import { logger } from '../index.js'
|
|
||||||
import { dumpAsScript } from '../utils/script.js'
|
import { dumpAsScript } from '../utils/script.js'
|
||||||
import { applyFilters, Filter } from '../filters.js'
|
import { applyFilters, Filter } from '../filters.js'
|
||||||
import { variables } from '../variables.js'
|
import { variables } from '../variables.js'
|
||||||
@ -23,7 +21,7 @@ export const onCompletion = async (result: any = "", options: IKBotTask) => {
|
|||||||
ROUTER: options.router,
|
ROUTER: options.router,
|
||||||
}))
|
}))
|
||||||
write(dstPath, result)
|
write(dstPath, result)
|
||||||
logger.debug(`Wrote completion result to ${dstPath} : ${options.dst}`)
|
options.logger.debug(`Wrote completion result to ${dstPath} : ${options.dst}`)
|
||||||
} else {
|
} else {
|
||||||
marked.use(markedTerminal({
|
marked.use(markedTerminal({
|
||||||
emoji: false,
|
emoji: false,
|
||||||
@ -38,7 +36,7 @@ export const onCompletion = async (result: any = "", options: IKBotTask) => {
|
|||||||
|
|
||||||
export const runCompletion = async (client: OpenAI, params: any, options: IKBotTask) => {
|
export const runCompletion = async (client: OpenAI, params: any, options: IKBotTask) => {
|
||||||
if (options.dry) {
|
if (options.dry) {
|
||||||
logger.info('Dry run - skipping API call')
|
options.logger.info('Dry run - skipping API call')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// await client.beta.chat.completions.parse
|
// await client.beta.chat.completions.parse
|
||||||
|
|||||||
@ -1,30 +0,0 @@
|
|||||||
import { globSync } from 'glob'
|
|
||||||
import * as path from 'node:path'
|
|
||||||
import { forward_slash } from '@polymech/commons'
|
|
||||||
import { logger } from '../'
|
|
||||||
import { IKBotTask } from '@polymech/ai-tools'
|
|
||||||
|
|
||||||
export const runEach = async (opts: IKBotTask, processRun: (args: IKBotTask) => Promise<any>) => {
|
|
||||||
const ret = []
|
|
||||||
|
|
||||||
if (opts.each) {
|
|
||||||
const matches = globSync(opts.each, {
|
|
||||||
cwd: path.resolve(opts.path),
|
|
||||||
absolute: false
|
|
||||||
})
|
|
||||||
if(matches.length === 0) {
|
|
||||||
logger.warn(`No files matching pattern ${opts.each} found in ${opts.path}`)
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
logger.info(`Processing ${matches.length} files matching pattern ${opts.each}...`)
|
|
||||||
for (const file of matches) {
|
|
||||||
logger.info(`Processing ${file}...`)
|
|
||||||
const fileOpts = { ...opts }
|
|
||||||
fileOpts.include = [ forward_slash(file)]
|
|
||||||
ret.push(await processRun(fileOpts))
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ret.push(await processRun(opts))
|
|
||||||
}
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
@ -5,7 +5,6 @@ import { ChatCompletionToolRunnerParams } from 'openai/lib/ChatCompletionRunner'
|
|||||||
import { IKBotTask, ICollector } from '@polymech/ai-tools'
|
import { IKBotTask, ICollector } from '@polymech/ai-tools'
|
||||||
|
|
||||||
import { content } from '../utils/content.js'
|
import { content } from '../utils/content.js'
|
||||||
import { logger } from '../index.js'
|
|
||||||
import { onCompletion } from './run-completion.js'
|
import { onCompletion } from './run-completion.js'
|
||||||
|
|
||||||
export const runTools = async (client: OpenAI, params: any, options: IKBotTask) => {
|
export const runTools = async (client: OpenAI, params: any, options: IKBotTask) => {
|
||||||
@ -17,7 +16,7 @@ export const runTools = async (client: OpenAI, params: any, options: IKBotTask)
|
|||||||
messages: []
|
messages: []
|
||||||
}
|
}
|
||||||
if (options.dry) {
|
if (options.dry) {
|
||||||
logger.info('Dry run - skipping API call')
|
options.logger.info('Dry run - skipping API call')
|
||||||
return {
|
return {
|
||||||
result: 'DRY RUN',
|
result: 'DRY RUN',
|
||||||
sessionMessages,
|
sessionMessages,
|
||||||
@ -48,7 +47,7 @@ export const runTools = async (client: OpenAI, params: any, options: IKBotTask)
|
|||||||
.on('chatCompletion', (options.collector as ICollector).onChatCompletion)
|
.on('chatCompletion', (options.collector as ICollector).onChatCompletion)
|
||||||
.on('content', (options.collector as ICollector).onContent)
|
.on('content', (options.collector as ICollector).onContent)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.trace(e)
|
options.logger.trace(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = content(runner)
|
let result = content(runner)
|
||||||
@ -56,10 +55,10 @@ export const runTools = async (client: OpenAI, params: any, options: IKBotTask)
|
|||||||
result = await runner.finalChatCompletion()
|
result = await runner.finalChatCompletion()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.message.includes("(reading 'map')")) {
|
if (error.message.includes("(reading 'map')")) {
|
||||||
logger.error('Failed to complete runner: credits :)', error.message, error.message, error)
|
options.logger.error('Failed to complete runner: credits :)', error.message, error.message, error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
logger.error('Failed to complete runner:', error.message, error.issues)
|
options.logger.error('Failed to complete runner:', error.message, error.issues)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const ret = content(result)
|
const ret = content(result)
|
||||||
|
|||||||
@ -10,10 +10,7 @@ import { ChatCompletionToolRunnerParams } from 'openai/lib/ChatCompletionRunner'
|
|||||||
import { ChatCompletionMessageParam } from 'openai/resources/index.mjs'
|
import { ChatCompletionMessageParam } from 'openai/resources/index.mjs'
|
||||||
|
|
||||||
import { IKBotTask } from '@polymech/ai-tools'
|
import { IKBotTask } from '@polymech/ai-tools'
|
||||||
|
|
||||||
import { createLogger } from '@polymech/log'
|
|
||||||
import { Logger, ILogObj } from 'tslog'
|
import { Logger, ILogObj } from 'tslog'
|
||||||
|
|
||||||
import { createClient } from '../client.js'
|
import { createClient } from '../client.js'
|
||||||
import { OptionsSchema } from '../zod_schema.js'
|
import { OptionsSchema } from '../zod_schema.js'
|
||||||
import { get } from '../source.js'
|
import { get } from '../source.js'
|
||||||
@ -29,12 +26,14 @@ import { runCompletion } from './run-completion.js'
|
|||||||
import { runTools } from './run-tools.js'
|
import { runTools } from './run-tools.js'
|
||||||
import { runAssistant } from './run-assistant.js'
|
import { runAssistant } from './run-assistant.js'
|
||||||
import { all } from '../models/index.js'
|
import { all } from '../models/index.js'
|
||||||
|
import { getLogger } from '../index.js'
|
||||||
|
|
||||||
export const processRun = async (opts: IKBotTask) => {
|
export const processRun = async (opts: IKBotTask) => {
|
||||||
|
|
||||||
let options: IKBotTask = null
|
let options: IKBotTask = null
|
||||||
const logger = new Logger<ILogObj>({
|
const logger = getLogger(opts)
|
||||||
minLevel: opts.logLevel
|
opts.logger = logger
|
||||||
})
|
|
||||||
const target = path.resolve(opts.output || opts.path)
|
const target = path.resolve(opts.output || opts.path)
|
||||||
if (!exists(target)) {
|
if (!exists(target)) {
|
||||||
dir(target)
|
dir(target)
|
||||||
|
|||||||
@ -5,9 +5,46 @@ const isWindows = platform === 'win32'
|
|||||||
|
|
||||||
import { get_var } from '@polymech/commons'
|
import { get_var } from '@polymech/commons'
|
||||||
import { MODULE_NAME } from './constants.js'
|
import { MODULE_NAME } from './constants.js'
|
||||||
|
import { IKBotTask } from '@polymech/ai-tools'
|
||||||
|
|
||||||
import { createLogger } from '@polymech/log'
|
import { createLogger } from '@polymech/log'
|
||||||
export const logger = createLogger('llm-tools') as unknown as Logger<ILogObj>
|
export const logger = createLogger('llm-tools') as unknown as Logger<ILogObj>
|
||||||
|
|
||||||
|
let _logger: Logger<ILogObj> = logger
|
||||||
|
|
||||||
|
export const getLogger = (options: IKBotTask): Logger<ILogObj> => {
|
||||||
|
if (_logger) {
|
||||||
|
return _logger
|
||||||
|
}
|
||||||
|
const logLevelMap: Record<string, number> = {
|
||||||
|
'silly': 0,
|
||||||
|
'trace': 1,
|
||||||
|
'debug': 2,
|
||||||
|
'info': 3,
|
||||||
|
'warn': 4,
|
||||||
|
'error': 5,
|
||||||
|
'fatal': 6
|
||||||
|
}
|
||||||
|
|
||||||
|
let minLevel = logLevelMap['info']
|
||||||
|
if (options.logLevel) {
|
||||||
|
if (typeof options.logLevel === 'string') {
|
||||||
|
const levelStr = options.logLevel as string
|
||||||
|
minLevel = logLevelMap[levelStr.toLowerCase()] || logLevelMap['info']
|
||||||
|
} else {
|
||||||
|
minLevel = options.logLevel
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_logger = new Logger<ILogObj>({
|
||||||
|
name: MODULE_NAME,
|
||||||
|
minLevel,
|
||||||
|
hideLogPositionForProduction: true,
|
||||||
|
maskPlaceholder: '***',
|
||||||
|
prettyLogTemplate: "{{logLevelName}}\t[{{filePathWithLine}}{{name}}]\t",
|
||||||
|
})
|
||||||
|
return _logger
|
||||||
|
}
|
||||||
|
|
||||||
export { run } from './commands/run.js'
|
export { run } from './commands/run.js'
|
||||||
export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`))
|
export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`))
|
||||||
|
|
||||||
|
|||||||
@ -20,9 +20,11 @@ export const prompt = async (opts: IKBotTask): Promise<ChatCompletionMessagePara
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const preferences = async (opts: IKBotTask): Promise<ChatCompletionMessageParam | undefined> => {
|
export const preferences = async (opts: IKBotTask): Promise<ChatCompletionMessageParam | undefined> => {
|
||||||
let preferencesPath = path.resolve(resolve(opts.preferences, false, env_vars()))
|
// First try local preferences
|
||||||
if(!exists(preferencesPath)) {
|
let preferencesPath = path.resolve(path.join(process.cwd(), PREFERENCES_FILE_NAME))
|
||||||
preferencesPath = path.resolve(path.join(process.cwd(), PREFERENCES_FILE_NAME))
|
if (!exists(preferencesPath)) {
|
||||||
|
// Fall back to specified preferences path if local file doesn't exist
|
||||||
|
preferencesPath = path.resolve(resolve(opts.preferences, false, env_vars()))
|
||||||
}
|
}
|
||||||
const preferences = read(preferencesPath, 'string') as string
|
const preferences = read(preferencesPath, 'string') as string
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -1,22 +1,45 @@
|
|||||||
Here's a comprehensive list of hardware/software resources for cutting HDPE sheets with X-Carve CNC, formatted to your preferences:
|
To cut HDPE sheets using an X-Carve CNC, you'll need the following hardware and software resources:
|
||||||
|
|
||||||
## Hardware Requirements
|
---
|
||||||
- **X-Carve CNC Machine** with vacuum table or clamps
|
|
||||||
- **1/8" (3.175 mm) flat flute cutting bit** - Ideal for plastic cutting[1]
|
|
||||||
- **CNC Clamps** - From X-Carve kit for material securing[1]
|
|
||||||
- **HDPE Sheet** - Measure thickness carefully (typical: 3-6mm)
|
|
||||||
- **Safety Equipment** - Goggles, hearing protection
|
|
||||||
|
|
||||||
## Software Stack
|
## **Hardware Resources**
|
||||||
- **Easel CAM Software** (Free) - X-Carve integration with HDPE material profile[1][2]
|
1. **X-Carve CNC Machine**
|
||||||
- **Inkscape** (Open-source) - Vector design creation/modification[2]
|
- Core tool for milling/cutting operations, compatible with HDPE sheets [1][7].
|
||||||
- **The Noun Project** - Source for ready-made SVG vectors ([nounproject.com][3])
|
- Optional upgrades available for extended bed sizes (e.g., 1800mm rail extensions) [4].
|
||||||
|
|
||||||
## Tutorial Resources
|
2. **CNC Clamping System**
|
||||||
- [Complete Spanish video guide with subtitles](https://www.youtube.com/watch?v=4LrrFz802To) [1]
|
- Secures HDPE sheets using X-Carve clamps to prevent movement during cutting [1][7].
|
||||||
- [Alternative manual routing techniques](https://youtu.be/gxkcffQD3eQ) [4]
|
|
||||||
|
|
||||||
Addendum: Always verify machine calibration and perform test cuts on scrap material before final operation.
|
3. **1/8" Flat Flute Cutting Bits**
|
||||||
|
- Recommended for clean HDPE cuts (shank diameter: 3.175mm, cutting diameter: 3.175mm) [1][5][7].
|
||||||
|
- Alternative options: Use manual routers/jigsaws with coarse-tooth blades for basic cuts [6].
|
||||||
|
|
||||||
kind regards,
|
4. **HDPE Plastic Sheets**
|
||||||
Guenter
|
- Ideal thickness depends on project requirements; ensure sheets are measured (height, width, thickness) before cutting [1][7].
|
||||||
|
|
||||||
|
5. **Post-Processing Tools**
|
||||||
|
- Sandpaper/files for smoothing edges after CNC cutting.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **Software Resources**
|
||||||
|
1. **Easel (CAM Software)**
|
||||||
|
- Free cloud-based tool for designing, simulating cuts, and generating toolpaths [1][2][7][8].
|
||||||
|
- Key features:
|
||||||
|
- Built-in HDPE material profile [1][7]
|
||||||
|
- SVG/vector file imports [2][7]
|
||||||
|
- 3D machining and automated toolpath generation (with Easel Pro) [2][8]
|
||||||
|
|
||||||
|
2. **Inkscape (Vector Design)**
|
||||||
|
- Open-source software for creating/editing SVG files [1][3][7].
|
||||||
|
- Used with **Path > Trace Bitmap** to convert raster images into CNC-ready vectors [3].
|
||||||
|
|
||||||
|
3. **The Noun Project**
|
||||||
|
- Source for open-source SVG designs compatible with Easel [1][7].
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **Tutorial Resources**
|
||||||
|
- **Spanish Video Guide**: Step-by-step process with subtitles [YouTube](https://www.youtube.com/watch?v=4LrrFz802To) [1][7].
|
||||||
|
- **Alternative Methods**: Manual cutting demo [YouTube](https://youtu.be/gxkcffQD3eQ) [1].
|
||||||
|
- **Community Support**: Share results on [Precious Plastic forums](https://community.preciousplastic.com) [1][7].
|
||||||
@ -24,13 +24,13 @@ describe('Math Operations', () => {
|
|||||||
it.each(models)('should solve quadratic equation with model %s', async (modelName) => {
|
it.each(models)('should solve quadratic equation with model %s', async (modelName) => {
|
||||||
const result = await runTest(
|
const result = await runTest(
|
||||||
'Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.',
|
'Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.',
|
||||||
'-3,-2',
|
'-2,-3',
|
||||||
'quadratic',
|
'quadratic',
|
||||||
modelName,
|
modelName,
|
||||||
TEST_LOG_PATH
|
TEST_LOG_PATH
|
||||||
)
|
)
|
||||||
testResults.push(result)
|
testResults.push(result)
|
||||||
expect(result.result[0]?.trim()?.toLowerCase()).toEqual('-3,-2')
|
expect(result.result[0]?.trim()?.toLowerCase()).toEqual('-2,-3')
|
||||||
}, { timeout: TEST_TIMEOUT })
|
}, { timeout: TEST_TIMEOUT })
|
||||||
|
|
||||||
it.each(models)('should calculate factorial with model %s', async (modelName) => {
|
it.each(models)('should calculate factorial with model %s', async (modelName) => {
|
||||||
|
|||||||
@ -6403,6 +6403,779 @@
|
|||||||
"passed": true,
|
"passed": true,
|
||||||
"duration": 760,
|
"duration": 760,
|
||||||
"category": "basic"
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:37.779Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1244,
|
||||||
|
"reason": "Expected -3,-2, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\n\\boxed{-2}, \\boxed{-3}"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:08:48.803Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 11013,
|
||||||
|
"reason": "Expected -3,-2, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\n\\boxed{-2}, \\boxed{-3}",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:08:50.291Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1482,
|
||||||
|
"reason": "Expected -3,-2, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:51.033Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 736,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:08:55.877Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 4838,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:08:56.613Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 730,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:57.421Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 802,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The 6th number in the Fibonacci sequence is 5. \n\n5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:04.449Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 7023,
|
||||||
|
"reason": "Expected 8, but got the 6th number in the fibonacci sequence is 5. \n\n5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:05.286Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 831,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:09:06.233Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 940,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:08.662Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 2423,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:09.441Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 773,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:09:10.298Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 851,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:11.870Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1566,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:12.628Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 753,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:07.251Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1329,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:14.807Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 7547,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:15.551Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 738,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:16.305Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 749,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:21.413Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 5102,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:22.690Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1271,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:23.404Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 707,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:32.032Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 8621,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:33.022Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 983,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:33.875Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 845,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:37.488Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3608,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:38.246Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 753,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:39.169Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 918,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:43.117Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3943,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:44.077Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 954,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-3, -2"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:09:38.709Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1685,
|
||||||
|
"reason": "Expected -2,-3, but got -3, -2",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\nSpecific steps:\n\n1. **Identify coefficients**: a = 1, b = 5, c = 6.\n2. **Calculate discriminant**: b² - 4ac = 25 - 24 = 1.\n3. **Apply quadratic formula**: x = (-5 ± √1)/2.\n4. **Compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.\n\n-2, -3\n\nAnswer: -2,-3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:09:49.547Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 10827,
|
||||||
|
"reason": "Expected -2,-3, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\nspecific steps:\n\n1. **identify coefficients**: a = 1, b = 5, c = 6.\n2. **calculate discriminant**: b² - 4ac = 25 - 24 = 1.\n3. **apply quadratic formula**: x = (-5 ± √1)/2.\n4. **compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.\n\n-2, -3\n\nanswer: -2,-3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:09:50.489Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 935,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:09:54.489Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3991,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5! = 120\n\nThe factorial of 5 is calculated as:\n\n5 × 4 × 3 × 2 × 1 = 120\n\n**Answer:** 120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:03.614Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 9116,
|
||||||
|
"reason": "Expected 120, but got 5! = 120\n\nthe factorial of 5 is calculated as:\n\n5 × 4 × 3 × 2 × 1 = 120\n\n**answer:** 120",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:04.483Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 861,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:05.284Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 792,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:13.584Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 8292,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:14.350Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 756,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:15.250Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 892,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:17.013Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1755,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:17.849Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 828,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:18.651Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 795,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:25.922Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 7263,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:26.895Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 966,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:04.393Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1484,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:12.861Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 8460,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:13.779Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 910,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:14.740Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 955,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:22.399Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 7653,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:23.502Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1095,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:24.325Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 816,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"15 divided by 3 is 5. \n\nAnswer: 5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:40.987Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 16655,
|
||||||
|
"reason": "Expected 5, but got 15 divided by 3 is 5. \n\nanswer: 5",
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:41.951Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 954,
|
||||||
|
"category": "basic"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"highscores": [
|
"highscores": [
|
||||||
@ -6411,8 +7184,8 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 1295,
|
"duration": 935,
|
||||||
"duration_secs": 1.295
|
"duration_secs": 0.935
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "anthropic/claude-3.5-sonnet",
|
||||||
@ -6425,14 +7198,14 @@
|
|||||||
"test": "factorial",
|
"test": "factorial",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 785,
|
"duration": 861,
|
||||||
"duration_secs": 0.785
|
"duration_secs": 0.861
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "anthropic/claude-3.5-sonnet",
|
||||||
"duration": 876,
|
"duration": 1454,
|
||||||
"duration_secs": 0.876
|
"duration_secs": 1.454
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6440,14 +7213,14 @@
|
|||||||
"test": "fibonacci",
|
"test": "fibonacci",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 898,
|
"duration": 756,
|
||||||
"duration_secs": 0.898
|
"duration_secs": 0.756
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1149,
|
"duration": 792,
|
||||||
"duration_secs": 1.149
|
"duration_secs": 0.792
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6460,9 +7233,9 @@
|
|||||||
"duration_secs": 0.819
|
"duration_secs": 0.819
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "qwen/qwq-32b",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 890,
|
"duration": 828,
|
||||||
"duration_secs": 0.89
|
"duration_secs": 0.828
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6471,13 +7244,13 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 866,
|
"duration": 795,
|
||||||
"duration_secs": 0.866
|
"duration_secs": 0.795
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 875,
|
"duration": 966,
|
||||||
"duration_secs": 0.875
|
"duration_secs": 0.966
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6486,13 +7259,13 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 791,
|
"duration": 910,
|
||||||
"duration_secs": 0.791
|
"duration_secs": 0.91
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1689,
|
"duration": 1484,
|
||||||
"duration_secs": 1.689
|
"duration_secs": 1.484
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6500,14 +7273,14 @@
|
|||||||
"test": "multiplication",
|
"test": "multiplication",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1190,
|
"duration": 955,
|
||||||
"duration_secs": 1.19
|
"duration_secs": 0.955
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 1206,
|
"duration": 1095,
|
||||||
"duration_secs": 1.206
|
"duration_secs": 1.095
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6515,14 +7288,14 @@
|
|||||||
"test": "division",
|
"test": "division",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 760,
|
"duration": 816,
|
||||||
"duration_secs": 0.76
|
"duration_secs": 0.816
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "qwen/qwq-32b",
|
||||||
"duration": 783,
|
"duration": 917,
|
||||||
"duration_secs": 0.783
|
"duration_secs": 0.917
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -6587,5 +7360,5 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastUpdated": "2025-04-02T22:06:51.780Z"
|
"lastUpdated": "2025-04-03T17:14:41.955Z"
|
||||||
}
|
}
|
||||||
@ -1124,6 +1124,133 @@
|
|||||||
"passed": true,
|
"passed": true,
|
||||||
"duration": 760,
|
"duration": 760,
|
||||||
"category": "basic"
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:04.393Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1484,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:12.861Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 8460,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "addition",
|
||||||
|
"prompt": "add 5 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:13.779Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 910,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:14.740Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 955,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:22.399Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 7653,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "multiplication",
|
||||||
|
"prompt": "multiply 8 and 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"24"
|
||||||
|
],
|
||||||
|
"expected": "24",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:23.502Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1095,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:14:24.325Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 816,
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"15 divided by 3 is 5. \n\nAnswer: 5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:14:40.987Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 16655,
|
||||||
|
"reason": "Expected 5, but got 15 divided by 3 is 5. \n\nanswer: 5",
|
||||||
|
"category": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "division",
|
||||||
|
"prompt": "divide 15 by 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "5",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:14:41.951Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 954,
|
||||||
|
"category": "basic"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"highscores": [
|
"highscores": [
|
||||||
@ -1132,13 +1259,13 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 791,
|
"duration": 910,
|
||||||
"duration_secs": 0.791
|
"duration_secs": 0.91
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1689,
|
"duration": 1484,
|
||||||
"duration_secs": 1.689
|
"duration_secs": 1.484
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1146,14 +1273,14 @@
|
|||||||
"test": "multiplication",
|
"test": "multiplication",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1190,
|
"duration": 955,
|
||||||
"duration_secs": 1.19
|
"duration_secs": 0.955
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 1206,
|
"duration": 1095,
|
||||||
"duration_secs": 1.206
|
"duration_secs": 1.095
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -1161,17 +1288,17 @@
|
|||||||
"test": "division",
|
"test": "division",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 760,
|
"duration": 816,
|
||||||
"duration_secs": 0.76
|
"duration_secs": 0.816
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "qwen/qwq-32b",
|
||||||
"duration": 783,
|
"duration": 917,
|
||||||
"duration_secs": 0.783
|
"duration_secs": 0.917
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastUpdated": "2025-04-02T22:06:51.777Z"
|
"lastUpdated": "2025-04-03T17:14:41.951Z"
|
||||||
}
|
}
|
||||||
@ -6,15 +6,15 @@
|
|||||||
|
|
||||||
| Test | Model | Duration (ms) | Duration (s) |
|
| Test | Model | Duration (ms) | Duration (s) |
|
||||||
|------|-------|--------------|--------------|
|
|------|-------|--------------|--------------|
|
||||||
| addition | openai/gpt-4o-mini | 791 | 0.79 |
|
| addition | openai/gpt-4o-mini | 910 | 0.91 |
|
||||||
| addition | deepseek/deepseek-r1-distill-qwen-14b:free | 2228 | 2.23 |
|
| addition | openai/gpt-3.5-turbo | 1484 | 1.48 |
|
||||||
| addition | openai/gpt-3.5-turbo | 2263 | 2.26 |
|
| addition | deepseek/deepseek-r1-distill-qwen-14b:free | 8460 | 8.46 |
|
||||||
| multiplication | openai/gpt-4o-mini | 1206 | 1.21 |
|
| multiplication | openai/gpt-3.5-turbo | 955 | 0.95 |
|
||||||
| multiplication | openai/gpt-3.5-turbo | 1300 | 1.30 |
|
| multiplication | openai/gpt-4o-mini | 1095 | 1.09 |
|
||||||
| multiplication | deepseek/deepseek-r1-distill-qwen-14b:free | 2782 | 2.78 |
|
| multiplication | deepseek/deepseek-r1-distill-qwen-14b:free | 7653 | 7.65 |
|
||||||
| division | openai/gpt-4o-mini | 760 | 0.76 |
|
| division | openai/gpt-3.5-turbo | 816 | 0.82 |
|
||||||
| division | openai/gpt-3.5-turbo | 783 | 0.78 |
|
| division | openai/gpt-4o-mini | 954 | 0.95 |
|
||||||
| division | deepseek/deepseek-r1-distill-qwen-14b:free | 2982 | 2.98 |
|
| division | deepseek/deepseek-r1-distill-qwen-14b:free | 16655 | 16.66 |
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
@ -22,18 +22,22 @@
|
|||||||
- Passed: 8
|
- Passed: 8
|
||||||
- Failed: 1
|
- Failed: 1
|
||||||
- Success Rate: 88.89%
|
- Success Rate: 88.89%
|
||||||
- Average Duration: 1677ms (1.68s)
|
- Average Duration: 4331ms (4.33s)
|
||||||
|
|
||||||
## Failed Tests
|
## Failed Tests
|
||||||
|
|
||||||
### multiplication - deepseek/deepseek-r1-distill-qwen-14b:free
|
### division - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
||||||
- Expected: `24`
|
- Expected: `5`
|
||||||
- Actual: `8 × 3 = 24`
|
- Actual: `15 divided by 3 is 5.
|
||||||
- Duration: 2782ms (2.78s)
|
|
||||||
- Reason: Expected 24, but got 8 × 3 = 24
|
Answer: 5`
|
||||||
- Timestamp: 4/3/2025, 12:06:46 AM
|
- Duration: 16655ms (16.66s)
|
||||||
|
- Reason: Expected 5, but got 15 divided by 3 is 5.
|
||||||
|
|
||||||
|
answer: 5
|
||||||
|
- Timestamp: 4/3/2025, 7:14:40 PM
|
||||||
|
|
||||||
## Passed Tests
|
## Passed Tests
|
||||||
|
|
||||||
@ -42,62 +46,62 @@
|
|||||||
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 2263ms (2.26s)
|
- Duration: 1484ms (1.48s)
|
||||||
- Timestamp: 4/3/2025, 12:06:38 AM
|
- Timestamp: 4/3/2025, 7:14:04 PM
|
||||||
|
|
||||||
### addition - deepseek/deepseek-r1-distill-qwen-14b:free
|
### addition - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 2228ms (2.23s)
|
- Duration: 8460ms (8.46s)
|
||||||
- Timestamp: 4/3/2025, 12:06:41 AM
|
- Timestamp: 4/3/2025, 7:14:12 PM
|
||||||
|
|
||||||
### addition - openai/gpt-4o-mini
|
### addition - openai/gpt-4o-mini
|
||||||
|
|
||||||
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
- Prompt: `add 5 and 3. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 791ms (0.79s)
|
- Duration: 910ms (0.91s)
|
||||||
- Timestamp: 4/3/2025, 12:06:41 AM
|
- Timestamp: 4/3/2025, 7:14:13 PM
|
||||||
|
|
||||||
### multiplication - openai/gpt-3.5-turbo
|
### multiplication - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
||||||
- Expected: `24`
|
- Expected: `24`
|
||||||
- Actual: `24`
|
- Actual: `24`
|
||||||
- Duration: 1300ms (1.30s)
|
- Duration: 955ms (0.95s)
|
||||||
- Timestamp: 4/3/2025, 12:06:43 AM
|
- Timestamp: 4/3/2025, 7:14:14 PM
|
||||||
|
|
||||||
|
### multiplication - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
|
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
||||||
|
- Expected: `24`
|
||||||
|
- Actual: `24`
|
||||||
|
- Duration: 7653ms (7.65s)
|
||||||
|
- Timestamp: 4/3/2025, 7:14:22 PM
|
||||||
|
|
||||||
### multiplication - openai/gpt-4o-mini
|
### multiplication - openai/gpt-4o-mini
|
||||||
|
|
||||||
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
- Prompt: `multiply 8 and 3. Return only the number, no explanation.`
|
||||||
- Expected: `24`
|
- Expected: `24`
|
||||||
- Actual: `24`
|
- Actual: `24`
|
||||||
- Duration: 1206ms (1.21s)
|
- Duration: 1095ms (1.09s)
|
||||||
- Timestamp: 4/3/2025, 12:06:47 AM
|
- Timestamp: 4/3/2025, 7:14:23 PM
|
||||||
|
|
||||||
### division - openai/gpt-3.5-turbo
|
### division - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
||||||
- Expected: `5`
|
- Expected: `5`
|
||||||
- Actual: `5`
|
- Actual: `5`
|
||||||
- Duration: 783ms (0.78s)
|
- Duration: 816ms (0.82s)
|
||||||
- Timestamp: 4/3/2025, 12:06:48 AM
|
- Timestamp: 4/3/2025, 7:14:24 PM
|
||||||
|
|
||||||
### division - deepseek/deepseek-r1-distill-qwen-14b:free
|
|
||||||
|
|
||||||
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
|
||||||
- Expected: `5`
|
|
||||||
- Actual: `5`
|
|
||||||
- Duration: 2982ms (2.98s)
|
|
||||||
- Timestamp: 4/3/2025, 12:06:51 AM
|
|
||||||
|
|
||||||
### division - openai/gpt-4o-mini
|
### division - openai/gpt-4o-mini
|
||||||
|
|
||||||
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
- Prompt: `divide 15 by 3. Return only the number, no explanation.`
|
||||||
- Expected: `5`
|
- Expected: `5`
|
||||||
- Actual: `5`
|
- Actual: `5`
|
||||||
- Duration: 760ms (0.76s)
|
- Duration: 954ms (0.95s)
|
||||||
- Timestamp: 4/3/2025, 12:06:51 AM
|
- Timestamp: 4/3/2025, 7:14:41 PM
|
||||||
|
|
||||||
|
|||||||
@ -2182,6 +2182,652 @@
|
|||||||
"duration": 1478,
|
"duration": 1478,
|
||||||
"reason": "Expected -3,-2, but got -3, -2",
|
"reason": "Expected -3,-2, but got -3, -2",
|
||||||
"category": "math"
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:37.779Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1244,
|
||||||
|
"reason": "Expected -3,-2, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\n\\boxed{-2}, \\boxed{-3}"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:08:48.803Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 11013,
|
||||||
|
"reason": "Expected -3,-2, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\n\\boxed{-2}, \\boxed{-3}",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-3,-2",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:08:50.291Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1482,
|
||||||
|
"reason": "Expected -3,-2, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:51.033Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 736,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:08:55.877Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 4838,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:08:56.613Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 730,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:08:57.421Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 802,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The 6th number in the Fibonacci sequence is 5. \n\n5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:04.449Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 7023,
|
||||||
|
"reason": "Expected 8, but got the 6th number in the fibonacci sequence is 5. \n\n5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:05.286Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 831,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:09:06.233Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 940,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:08.662Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 2423,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:09.441Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 773,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:09:10.298Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 851,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:09:11.870Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1566,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:09:12.628Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 753,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:07.251Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1329,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:14.807Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 7547,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:15.551Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 738,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:16.305Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 749,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:21.413Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 5102,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:22.690Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1271,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:23.404Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 707,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:32.032Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 8621,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:33.022Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 983,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:33.875Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 845,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:37.488Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3608,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:38.246Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 753,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-02T22:11:39.169Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 918,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-02T22:11:43.117Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3943,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-02T22:11:44.077Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 954,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-3, -2"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:09:38.709Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 1685,
|
||||||
|
"reason": "Expected -2,-3, but got -3, -2",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"The solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\nSpecific steps:\n\n1. **Identify coefficients**: a = 1, b = 5, c = 6.\n2. **Calculate discriminant**: b² - 4ac = 25 - 24 = 1.\n3. **Apply quadratic formula**: x = (-5 ± √1)/2.\n4. **Compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.\n\n-2, -3\n\nAnswer: -2,-3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:09:49.547Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 10827,
|
||||||
|
"reason": "Expected -2,-3, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.\n\nspecific steps:\n\n1. **identify coefficients**: a = 1, b = 5, c = 6.\n2. **calculate discriminant**: b² - 4ac = 25 - 24 = 1.\n3. **apply quadratic formula**: x = (-5 ± √1)/2.\n4. **compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.\n\n-2, -3\n\nanswer: -2,-3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "quadratic",
|
||||||
|
"prompt": "Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"-2, -3"
|
||||||
|
],
|
||||||
|
"expected": "-2,-3",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:09:50.489Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 935,
|
||||||
|
"reason": "Expected -2,-3, but got -2, -3",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:09:54.489Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 3991,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5! = 120\n\nThe factorial of 5 is calculated as:\n\n5 × 4 × 3 × 2 × 1 = 120\n\n**Answer:** 120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:03.614Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 9116,
|
||||||
|
"reason": "Expected 120, but got 5! = 120\n\nthe factorial of 5 is calculated as:\n\n5 × 4 × 3 × 2 × 1 = 120\n\n**answer:** 120",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "factorial",
|
||||||
|
"prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"120"
|
||||||
|
],
|
||||||
|
"expected": "120",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:04.483Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 861,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:05.284Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 792,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:13.584Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 8292,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "fibonacci",
|
||||||
|
"prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"5"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:14.350Z",
|
||||||
|
"passed": false,
|
||||||
|
"duration": 756,
|
||||||
|
"reason": "Expected 8, but got 5",
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:15.250Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 892,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:17.013Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 1755,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "square_root",
|
||||||
|
"prompt": "Calculate the square root of 16. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"4"
|
||||||
|
],
|
||||||
|
"expected": "4",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:17.849Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 828,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-3.5-turbo",
|
||||||
|
"router": "openai/gpt-3.5-turbo",
|
||||||
|
"timestamp": "2025-04-03T17:10:18.651Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 795,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"router": "deepseek/deepseek-r1-distill-qwen-14b:free",
|
||||||
|
"timestamp": "2025-04-03T17:10:25.922Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 7263,
|
||||||
|
"category": "math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"test": "power",
|
||||||
|
"prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.",
|
||||||
|
"result": [
|
||||||
|
"8"
|
||||||
|
],
|
||||||
|
"expected": "8",
|
||||||
|
"model": "openai/gpt-4o-mini",
|
||||||
|
"router": "openai/gpt-4o-mini",
|
||||||
|
"timestamp": "2025-04-03T17:10:26.895Z",
|
||||||
|
"passed": true,
|
||||||
|
"duration": 966,
|
||||||
|
"category": "math"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"highscores": [
|
"highscores": [
|
||||||
@ -2190,8 +2836,8 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 1295,
|
"duration": 935,
|
||||||
"duration_secs": 1.295
|
"duration_secs": 0.935
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-3.5-sonnet",
|
"model": "anthropic/claude-3.5-sonnet",
|
||||||
@ -2204,14 +2850,14 @@
|
|||||||
"test": "factorial",
|
"test": "factorial",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 785,
|
"duration": 861,
|
||||||
"duration_secs": 0.785
|
"duration_secs": 0.861
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "anthropic/claude-3.5-sonnet",
|
||||||
"duration": 876,
|
"duration": 1454,
|
||||||
"duration_secs": 0.876
|
"duration_secs": 1.454
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -2219,14 +2865,14 @@
|
|||||||
"test": "fibonacci",
|
"test": "fibonacci",
|
||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 898,
|
"duration": 756,
|
||||||
"duration_secs": 0.898
|
"duration_secs": 0.756
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 1149,
|
"duration": 792,
|
||||||
"duration_secs": 1.149
|
"duration_secs": 0.792
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -2239,9 +2885,9 @@
|
|||||||
"duration_secs": 0.819
|
"duration_secs": 0.819
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "qwen/qwq-32b",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 890,
|
"duration": 828,
|
||||||
"duration_secs": 0.89
|
"duration_secs": 0.828
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -2250,16 +2896,16 @@
|
|||||||
"rankings": [
|
"rankings": [
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-3.5-turbo",
|
"model": "openai/gpt-3.5-turbo",
|
||||||
"duration": 866,
|
"duration": 795,
|
||||||
"duration_secs": 0.866
|
"duration_secs": 0.795
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-4o-mini",
|
"model": "openai/gpt-4o-mini",
|
||||||
"duration": 875,
|
"duration": 966,
|
||||||
"duration_secs": 0.875
|
"duration_secs": 0.966
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastUpdated": "2025-04-02T13:43:41.958Z"
|
"lastUpdated": "2025-04-03T17:10:26.897Z"
|
||||||
}
|
}
|
||||||
@ -2,283 +2,195 @@
|
|||||||
|
|
||||||
## Highscores
|
## Highscores
|
||||||
|
|
||||||
|
### Performance Rankings (Duration)
|
||||||
|
|
||||||
| Test | Model | Duration (ms) | Duration (s) |
|
| Test | Model | Duration (ms) | Duration (s) |
|
||||||
|------|-------|--------------|--------------|
|
|------|-------|--------------|--------------|
|
||||||
| factorial | openai/gpt-3.5-turbo | 827 | 0.83 |
|
| quadratic | openai/gpt-4o-mini | 935 | 0.94 |
|
||||||
| factorial | openai/gpt-4o-mini | 956 | 0.96 |
|
| quadratic | openai/gpt-3.5-turbo | 1685 | 1.69 |
|
||||||
| square_root | openai/gpt-4o-mini | 964 | 0.96 |
|
| quadratic | deepseek/deepseek-r1-distill-qwen-14b:free | 10827 | 10.83 |
|
||||||
| square_root | openai/gpt-3.5-turbo | 1080 | 1.08 |
|
| factorial | openai/gpt-4o-mini | 861 | 0.86 |
|
||||||
| power | anthropic/claude-3.5-sonnet | 1136 | 1.14 |
|
| factorial | openai/gpt-3.5-turbo | 3991 | 3.99 |
|
||||||
| power | openai/gpt-4o-mini | 1259 | 1.26 |
|
| factorial | deepseek/deepseek-r1-distill-qwen-14b:free | 9116 | 9.12 |
|
||||||
| power | openai/gpt-3.5-turbo | 1498 | 1.50 |
|
| fibonacci | openai/gpt-4o-mini | 756 | 0.76 |
|
||||||
| fibonacci | openai/gpt-3.5-turbo | 1543 | 1.54 |
|
| fibonacci | openai/gpt-3.5-turbo | 792 | 0.79 |
|
||||||
| fibonacci | openai/gpt-4o-mini | 1673 | 1.67 |
|
| fibonacci | deepseek/deepseek-r1-distill-qwen-14b:free | 8292 | 8.29 |
|
||||||
| factorial | anthropic/claude-3.5-sonnet | 1853 | 1.85 |
|
| square_root | openai/gpt-4o-mini | 828 | 0.83 |
|
||||||
| fibonacci | anthropic/claude-3.5-sonnet | 2004 | 2.00 |
|
| square_root | openai/gpt-3.5-turbo | 892 | 0.89 |
|
||||||
| square_root | anthropic/claude-3.5-sonnet | 2012 | 2.01 |
|
| square_root | deepseek/deepseek-r1-distill-qwen-14b:free | 1755 | 1.75 |
|
||||||
| factorial | deepseek/deepseek-r1-distill-qwen-14b:free | 4814 | 4.81 |
|
| power | openai/gpt-3.5-turbo | 795 | 0.80 |
|
||||||
| power | deepseek/deepseek-r1 | 5414 | 5.41 |
|
| power | openai/gpt-4o-mini | 966 | 0.97 |
|
||||||
| square_root | qwen/qwq-32b | 5888 | 5.89 |
|
| power | deepseek/deepseek-r1-distill-qwen-14b:free | 7263 | 7.26 |
|
||||||
| square_root | deepseek/deepseek-r1-distill-qwen-14b:free | 6114 | 6.11 |
|
|
||||||
| quadratic | qwen/qwq-32b | 6795 | 6.79 |
|
|
||||||
| factorial | qwen/qwq-32b | 6892 | 6.89 |
|
|
||||||
| power | qwen/qwq-32b | 7572 | 7.57 |
|
|
||||||
| power | deepseek/deepseek-r1-distill-qwen-14b:free | 9891 | 9.89 |
|
|
||||||
| square_root | deepseek/deepseek-r1 | 10309 | 10.31 |
|
|
||||||
| factorial | deepseek/deepseek-r1 | 11193 | 11.19 |
|
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
- Total Tests: 29
|
- Total Tests: 15
|
||||||
- Passed: 22
|
- Passed: 9
|
||||||
- Failed: 7
|
- Failed: 6
|
||||||
- Success Rate: 75.86%
|
- Success Rate: 60.00%
|
||||||
- Average Duration: 4745ms (4.75s)
|
- Average Duration: 3317ms (3.32s)
|
||||||
|
|
||||||
## Failed Tests
|
## Failed Tests
|
||||||
|
|
||||||
### quadratic - anthropic/claude-3.5-sonnet
|
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
|
||||||
- Expected: `-3,-2`
|
|
||||||
- Actual: `-2,-3`
|
|
||||||
- Duration: 1892ms (1892.00s)
|
|
||||||
- Reason: Expected -3,-2, but got -2,-3
|
|
||||||
- Timestamp: 4/2/2025, 3:32:51 PM
|
|
||||||
|
|
||||||
### quadratic - openai/gpt-4o-mini
|
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
|
||||||
- Expected: `-3,-2`
|
|
||||||
- Actual: `-2, -3`
|
|
||||||
- Duration: 853ms (853.00s)
|
|
||||||
- Reason: Expected -3,-2, but got -2, -3
|
|
||||||
- Timestamp: 4/2/2025, 3:32:59 PM
|
|
||||||
|
|
||||||
### quadratic - openai/gpt-3.5-turbo
|
### quadratic - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
||||||
- Expected: `-3,-2`
|
- Expected: `-2,-3`
|
||||||
- Actual: `-2, -3`
|
- Actual: `-3, -2`
|
||||||
- Duration: 832ms (832.00s)
|
- Duration: 1685ms (1.69s)
|
||||||
- Reason: Expected -3,-2, but got -2, -3
|
- Reason: Expected -2,-3, but got -3, -2
|
||||||
- Timestamp: 4/2/2025, 3:32:59 PM
|
- Timestamp: 4/3/2025, 7:09:38 PM
|
||||||
|
|
||||||
### quadratic - deepseek/deepseek-r1
|
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
|
||||||
- Expected: `-3,-2`
|
|
||||||
- Actual: `-2, -3`
|
|
||||||
- Duration: 19850ms (19850.00s)
|
|
||||||
- Reason: Expected -3,-2, but got -2, -3
|
|
||||||
- Timestamp: 4/2/2025, 3:33:19 PM
|
|
||||||
|
|
||||||
### quadratic - deepseek/deepseek-r1-distill-qwen-14b:free
|
### quadratic - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
||||||
- Expected: `-3,-2`
|
- Expected: `-2,-3`
|
||||||
- Actual: `The solutions to the quadratic equation x² + 5x + 6 = 0 are x = -2 and x = -3.
|
- Actual: `The solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.
|
||||||
|
|
||||||
-2,-3`
|
Specific steps:
|
||||||
- Duration: 15811ms (15811.00s)
|
|
||||||
- Reason: Expected -3,-2, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are x = -2 and x = -3.
|
|
||||||
|
|
||||||
-2,-3
|
1. **Identify coefficients**: a = 1, b = 5, c = 6.
|
||||||
- Timestamp: 4/2/2025, 3:33:35 PM
|
2. **Calculate discriminant**: b² - 4ac = 25 - 24 = 1.
|
||||||
|
3. **Apply quadratic formula**: x = (-5 ± √1)/2.
|
||||||
|
4. **Compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.
|
||||||
|
|
||||||
### fibonacci - qwen/qwq-32b
|
-2, -3
|
||||||
|
|
||||||
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
Answer: -2,-3`
|
||||||
- Expected: `8`
|
- Duration: 10827ms (10.83s)
|
||||||
- Actual: `5`
|
- Reason: Expected -2,-3, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are -2 and -3.
|
||||||
- Duration: 1509ms (1509.00s)
|
|
||||||
- Reason: Expected 8, but got 5
|
specific steps:
|
||||||
- Timestamp: 4/2/2025, 3:34:05 PM
|
|
||||||
|
1. **identify coefficients**: a = 1, b = 5, c = 6.
|
||||||
|
2. **calculate discriminant**: b² - 4ac = 25 - 24 = 1.
|
||||||
|
3. **apply quadratic formula**: x = (-5 ± √1)/2.
|
||||||
|
4. **compute solutions**: x = (-5 + 1)/2 = -2 and x = (-5 - 1)/2 = -3.
|
||||||
|
|
||||||
|
-2, -3
|
||||||
|
|
||||||
|
answer: -2,-3
|
||||||
|
- Timestamp: 4/3/2025, 7:09:49 PM
|
||||||
|
|
||||||
|
### quadratic - openai/gpt-4o-mini
|
||||||
|
|
||||||
|
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
||||||
|
- Expected: `-2,-3`
|
||||||
|
- Actual: `-2, -3`
|
||||||
|
- Duration: 935ms (0.94s)
|
||||||
|
- Reason: Expected -2,-3, but got -2, -3
|
||||||
|
- Timestamp: 4/3/2025, 7:09:50 PM
|
||||||
|
|
||||||
|
### factorial - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
|
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
||||||
|
- Expected: `120`
|
||||||
|
- Actual: `5! = 120
|
||||||
|
|
||||||
|
The factorial of 5 is calculated as:
|
||||||
|
|
||||||
|
5 × 4 × 3 × 2 × 1 = 120
|
||||||
|
|
||||||
|
**Answer:** 120`
|
||||||
|
- Duration: 9116ms (9.12s)
|
||||||
|
- Reason: Expected 120, but got 5! = 120
|
||||||
|
|
||||||
|
the factorial of 5 is calculated as:
|
||||||
|
|
||||||
|
5 × 4 × 3 × 2 × 1 = 120
|
||||||
|
|
||||||
|
**answer:** 120
|
||||||
|
- Timestamp: 4/3/2025, 7:10:03 PM
|
||||||
|
|
||||||
### fibonacci - deepseek/deepseek-r1-distill-qwen-14b:free
|
### fibonacci - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `5`
|
- Actual: `5`
|
||||||
- Duration: 5171ms (5171.00s)
|
- Duration: 8292ms (8.29s)
|
||||||
- Reason: Expected 8, but got 5
|
- Reason: Expected 8, but got 5
|
||||||
- Timestamp: 4/2/2025, 3:34:44 PM
|
- Timestamp: 4/3/2025, 7:10:13 PM
|
||||||
|
|
||||||
|
### fibonacci - openai/gpt-4o-mini
|
||||||
|
|
||||||
|
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
||||||
|
- Expected: `8`
|
||||||
|
- Actual: `5`
|
||||||
|
- Duration: 756ms (0.76s)
|
||||||
|
- Reason: Expected 8, but got 5
|
||||||
|
- Timestamp: 4/3/2025, 7:10:14 PM
|
||||||
|
|
||||||
## Passed Tests
|
## Passed Tests
|
||||||
|
|
||||||
### quadratic - qwen/qwq-32b
|
|
||||||
|
|
||||||
- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.`
|
|
||||||
- Expected: `-3,-2`
|
|
||||||
- Actual: `-3,-2`
|
|
||||||
- Duration: 6795ms (6795.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:32:58 PM
|
|
||||||
|
|
||||||
### factorial - anthropic/claude-3.5-sonnet
|
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
|
||||||
- Expected: `120`
|
|
||||||
- Actual: `120`
|
|
||||||
- Duration: 1853ms (1853.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:33:37 PM
|
|
||||||
|
|
||||||
### factorial - qwen/qwq-32b
|
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
|
||||||
- Expected: `120`
|
|
||||||
- Actual: `120`
|
|
||||||
- Duration: 6892ms (6892.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:33:44 PM
|
|
||||||
|
|
||||||
### factorial - openai/gpt-4o-mini
|
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
|
||||||
- Expected: `120`
|
|
||||||
- Actual: `120`
|
|
||||||
- Duration: 956ms (956.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:33:45 PM
|
|
||||||
|
|
||||||
### factorial - openai/gpt-3.5-turbo
|
### factorial - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
||||||
- Expected: `120`
|
- Expected: `120`
|
||||||
- Actual: `120`
|
- Actual: `120`
|
||||||
- Duration: 827ms (827.00s)
|
- Duration: 3991ms (3.99s)
|
||||||
- Timestamp: 4/2/2025, 3:33:46 PM
|
- Timestamp: 4/3/2025, 7:09:54 PM
|
||||||
|
|
||||||
### factorial - deepseek/deepseek-r1
|
### factorial - openai/gpt-4o-mini
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
||||||
- Expected: `120`
|
- Expected: `120`
|
||||||
- Actual: `120`
|
- Actual: `120`
|
||||||
- Duration: 11193ms (11193.00s)
|
- Duration: 861ms (0.86s)
|
||||||
- Timestamp: 4/2/2025, 3:33:57 PM
|
- Timestamp: 4/3/2025, 7:10:04 PM
|
||||||
|
|
||||||
### factorial - deepseek/deepseek-r1-distill-qwen-14b:free
|
|
||||||
|
|
||||||
- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.`
|
|
||||||
- Expected: `120`
|
|
||||||
- Actual: `120`
|
|
||||||
- Duration: 4814ms (4814.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:02 PM
|
|
||||||
|
|
||||||
### fibonacci - anthropic/claude-3.5-sonnet
|
|
||||||
|
|
||||||
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
|
||||||
- Expected: `8`
|
|
||||||
- Actual: `8`
|
|
||||||
- Duration: 2004ms (2004.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:04 PM
|
|
||||||
|
|
||||||
### fibonacci - openai/gpt-4o-mini
|
|
||||||
|
|
||||||
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
|
||||||
- Expected: `8`
|
|
||||||
- Actual: `8`
|
|
||||||
- Duration: 1673ms (1673.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:07 PM
|
|
||||||
|
|
||||||
### fibonacci - openai/gpt-3.5-turbo
|
### fibonacci - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
- Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 1543ms (1543.00s)
|
- Duration: 792ms (0.79s)
|
||||||
- Timestamp: 4/2/2025, 3:34:08 PM
|
- Timestamp: 4/3/2025, 7:10:05 PM
|
||||||
|
|
||||||
### square_root - anthropic/claude-3.5-sonnet
|
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
|
||||||
- Expected: `4`
|
|
||||||
- Actual: `4`
|
|
||||||
- Duration: 2012ms (2012.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:46 PM
|
|
||||||
|
|
||||||
### square_root - qwen/qwq-32b
|
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
|
||||||
- Expected: `4`
|
|
||||||
- Actual: `4`
|
|
||||||
- Duration: 5888ms (5888.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:52 PM
|
|
||||||
|
|
||||||
### square_root - openai/gpt-4o-mini
|
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
|
||||||
- Expected: `4`
|
|
||||||
- Actual: `4`
|
|
||||||
- Duration: 964ms (964.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:34:52 PM
|
|
||||||
|
|
||||||
### square_root - openai/gpt-3.5-turbo
|
### square_root - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
||||||
- Expected: `4`
|
- Expected: `4`
|
||||||
- Actual: `4`
|
- Actual: `4`
|
||||||
- Duration: 1080ms (1080.00s)
|
- Duration: 892ms (0.89s)
|
||||||
- Timestamp: 4/2/2025, 3:34:54 PM
|
- Timestamp: 4/3/2025, 7:10:15 PM
|
||||||
|
|
||||||
### square_root - deepseek/deepseek-r1
|
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
|
||||||
- Expected: `4`
|
|
||||||
- Actual: `4`
|
|
||||||
- Duration: 10309ms (10309.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:35:04 PM
|
|
||||||
|
|
||||||
### square_root - deepseek/deepseek-r1-distill-qwen-14b:free
|
### square_root - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
||||||
- Expected: `4`
|
- Expected: `4`
|
||||||
- Actual: `4`
|
- Actual: `4`
|
||||||
- Duration: 6114ms (6114.00s)
|
- Duration: 1755ms (1.75s)
|
||||||
- Timestamp: 4/2/2025, 3:35:10 PM
|
- Timestamp: 4/3/2025, 7:10:17 PM
|
||||||
|
|
||||||
### power - anthropic/claude-3.5-sonnet
|
### square_root - openai/gpt-4o-mini
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
- Prompt: `Calculate the square root of 16. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `4`
|
||||||
- Actual: `8`
|
- Actual: `4`
|
||||||
- Duration: 1136ms (1136.00s)
|
- Duration: 828ms (0.83s)
|
||||||
- Timestamp: 4/2/2025, 3:35:11 PM
|
- Timestamp: 4/3/2025, 7:10:17 PM
|
||||||
|
|
||||||
### power - qwen/qwq-32b
|
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
|
||||||
- Expected: `8`
|
|
||||||
- Actual: `8`
|
|
||||||
- Duration: 7572ms (7572.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:35:19 PM
|
|
||||||
|
|
||||||
### power - openai/gpt-4o-mini
|
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
|
||||||
- Expected: `8`
|
|
||||||
- Actual: `8`
|
|
||||||
- Duration: 1259ms (1259.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:35:20 PM
|
|
||||||
|
|
||||||
### power - openai/gpt-3.5-turbo
|
### power - openai/gpt-3.5-turbo
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 1498ms (1498.00s)
|
- Duration: 795ms (0.80s)
|
||||||
- Timestamp: 4/2/2025, 3:35:21 PM
|
- Timestamp: 4/3/2025, 7:10:18 PM
|
||||||
|
|
||||||
### power - deepseek/deepseek-r1
|
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
|
||||||
- Expected: `8`
|
|
||||||
- Actual: `8`
|
|
||||||
- Duration: 5414ms (5414.00s)
|
|
||||||
- Timestamp: 4/2/2025, 3:35:27 PM
|
|
||||||
|
|
||||||
### power - deepseek/deepseek-r1-distill-qwen-14b:free
|
### power - deepseek/deepseek-r1-distill-qwen-14b:free
|
||||||
|
|
||||||
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
||||||
- Expected: `8`
|
- Expected: `8`
|
||||||
- Actual: `8`
|
- Actual: `8`
|
||||||
- Duration: 9891ms (9891.00s)
|
- Duration: 7263ms (7.26s)
|
||||||
- Timestamp: 4/2/2025, 3:35:37 PM
|
- Timestamp: 4/3/2025, 7:10:25 PM
|
||||||
|
|
||||||
|
### power - openai/gpt-4o-mini
|
||||||
|
|
||||||
|
- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.`
|
||||||
|
- Expected: `8`
|
||||||
|
- Actual: `8`
|
||||||
|
- Duration: 966ms (0.97s)
|
||||||
|
- Timestamp: 4/3/2025, 7:10:26 PM
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user