diff --git a/packages/kbot/dist-in/commands/run.js b/packages/kbot/dist-in/commands/run.js index 5bfd66e6..3f626ff0 100644 --- a/packages/kbot/dist-in/commands/run.js +++ b/packages/kbot/dist-in/commands/run.js @@ -6,7 +6,7 @@ import { sync as write } from '@polymech/fs/write'; import { sync as read } from '@polymech/fs/read'; import { forward_slash, resolve, isFile, pathInfoEx } from '@polymech/commons'; import { isArray, isString } from '@polymech/core/primitives'; -import { logger } from '../index.js'; +import { Logger } from 'tslog'; import { createClient } from '../client.js'; import { OptionsSchema } from '../zod_schema.js'; import { get } from '../source.js'; @@ -23,6 +23,9 @@ import { runAssistant } from './run-assistant.js'; import { all } from '../models/index.js'; export const processRun = async (opts) => { let options = null; + const logger = new Logger({ + minLevel: opts.logLevel + }); const target = path.resolve(opts.output || opts.path); if (!exists(target)) { dir(target); @@ -70,7 +73,7 @@ export const processRun = async (opts) => { const logDir = path.resolve(resolve(opts.logs)); const paramsPath = path.join(logDir, 'params.json'); write(paramsPath, JSON.stringify({ ...params }, null, 2)); - logger.debug(`Read ${files.length} files from project ${path.resolve(options.path)} with ${options.include}`, files.map(f => f.path), params.tools.map(t => `${t.function.name} : ${t.function.description}`)); + logger.debug(`kbot run ${options.mode} : ${options.model} @ ${options.router} : ${files.length} files from project ${path.resolve(options.path)} with ${options.include}`, files.map(f => f.path), params.tools.map(t => `${t.function.name} : ${t.function.description}`)); let ret = null; options = await options.onRun(options) || options; try { @@ -139,6 +142,9 @@ function flattenArrays(arrays) { } export const run = async (opts) => { const ret = []; + const logger = new Logger({ + minLevel: opts.logLevel + }); if (opts.include) { if (isString(opts.include)) { opts.include = [opts.include]; @@ -195,4 +201,4 @@ export const run = async (opts) => { } return ret; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFNN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkQsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFlLEVBQUUsRUFBRTtJQUNsRCxJQUFJLE9BQU8sR0FBYyxJQUFJLENBQUE7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEMsSUFBSSxDQUFDO1FBQ0gsT0FBTyxHQUFHLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQVEsQ0FBQTtJQUM5QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFBO0lBRW5FLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtRQUN2QyxPQUFNO0lBQ1IsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO0lBQ3ZCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUM5QyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUU3RCxJQUFJLFFBQVEsR0FBc0MsRUFBRSxDQUFBO0lBRXBELE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hDLElBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFDLENBQUM7UUFDekIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM1QixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFdEMsSUFBSSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4RSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN6RCxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQWUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBRXpDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLFFBQVE7UUFDUixLQUFLLEVBQUUsRUFBRTtLQUM2QixDQUFBO0lBRXhDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkMsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUE7UUFDM0IsTUFBTSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQTtJQUNwQyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDbkQsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN6RCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLE1BQU0sdUJBQXVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5TSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDZCxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQTtJQUNqRCxJQUFJLENBQUM7UUFDSCxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLEtBQUssQ0FBQyxVQUFVO2dCQUNuQixHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDbEQsTUFBSztZQUVQLEtBQUssS0FBSyxDQUFDLEtBQUs7Z0JBQ2QsR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7Z0JBQzdDLE1BQUs7WUFFUCxLQUFLLEtBQUssQ0FBQyxTQUFTO2dCQUNsQixHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDakQsTUFBSztZQUVQO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDbEUsQ0FBQztJQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBQzVCLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBO0FBQ0Q7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFhO0lBRWpDLElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLDZEQUE2RDtJQUM3RCxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQztJQUUzQyxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7SUFDbEMsSUFBSSxLQUE2QixDQUFDO0lBRWxDLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyRCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0UsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBSSxNQUFhO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUM1QyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLElBQWUsRUFBRSxFQUFFO0lBQzNDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQTtJQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDL0IsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7UUFDOUQsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUNsRCxDQUFDO1NBQUksQ0FBQztRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQTtRQUN4QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNuQixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNGLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQU8sSUFBSSxFQUFFLENBQUE7UUFDN0MsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3hFLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3BCLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xELEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQixDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUMzRSxPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsS0FBSyxDQUFDLE1BQU0sMkJBQTJCLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO1FBQ2hGLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ3JCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUc7Z0JBQ2YsR0FBRyxJQUFJO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7YUFDMUIsQ0FBQTtZQUNELHNDQUFzQztZQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtZQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1lBQ3ZCLENBQUM7WUFDRCxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUN0QyxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFPN0QsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLE9BQU8sQ0FBQTtBQUV2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkQsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFlLEVBQUUsRUFBRTtJQUNsRCxJQUFJLE9BQU8sR0FBYyxJQUFJLENBQUE7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQVU7UUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO0tBQ3hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hDLElBQUksQ0FBQztRQUNILE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFRLENBQUE7SUFDOUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JFLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQTtJQUVuRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDdkMsT0FBTTtJQUNSLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN2QixPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDOUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFN0QsSUFBSSxRQUFRLEdBQXNDLEVBQUUsQ0FBQTtJQUVwRCxNQUFNLGFBQWEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxJQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBQyxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBRXRDLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDeEUsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekQsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFlLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE1BQU0sR0FBRztRQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixRQUFRO1FBQ1IsS0FBSyxFQUFFLEVBQUU7S0FDNkIsQ0FBQTtJQUV4QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRSxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFBO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ25ELEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekQsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLE9BQU8sQ0FBQyxJQUFJLE1BQU0sT0FBTyxDQUFDLEtBQUssTUFBTSxPQUFPLENBQUMsTUFBTSxPQUFPLEtBQUssQ0FBQyxNQUFNLHVCQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNVEsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFBO0lBQ2QsT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUE7SUFDakQsSUFBSSxDQUFDO1FBQ0gsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxLQUFLLENBQUMsVUFBVTtnQkFDbkIsR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7Z0JBQ2xELE1BQUs7WUFFUCxLQUFLLEtBQUssQ0FBQyxLQUFLO2dCQUNkLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUM3QyxNQUFLO1lBRVAsS0FBSyxLQUFLLENBQUMsU0FBUztnQkFDbEIsR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7Z0JBQ2pELE1BQUs7WUFFUDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQTtJQUM1QixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUNEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQUMsS0FBYTtJQUVqQyxJQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEIsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSw2REFBNkQ7SUFDN0QsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUM7SUFFM0MsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLElBQUksS0FBNkIsQ0FBQztJQUVsQyx1Q0FBdUM7SUFDdkMsT0FBTyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDckQsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7SUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUksTUFBYTtJQUNyQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDNUMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxJQUFlLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUE7SUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBVTtRQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7S0FDeEIsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUM5RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7U0FBSSxDQUFDO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsSUFBSSxLQUFLLEdBQWEsRUFBRSxDQUFBO1FBQ3hCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ25CLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0YsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBTyxJQUFJLEVBQUUsQ0FBQTtRQUM3QyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDeEUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDcEIsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEQsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JCLENBQUM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixJQUFJLENBQUMsSUFBSSxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzNFLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxLQUFLLENBQUMsTUFBTSwyQkFBMkIsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUE7UUFDaEYsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUE7UUFDckIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLFFBQVEsR0FBRztnQkFDZixHQUFHLElBQUk7Z0JBQ1AsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTthQUMxQixDQUFBO1lBQ0Qsc0NBQXNDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1lBQzlDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7WUFDdkIsQ0FBQztZQUNELFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDOUQsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/packages/kbot/dist-in/index.d.ts b/packages/kbot/dist-in/index.d.ts index a6b99979..87b98e08 100644 --- a/packages/kbot/dist-in/index.d.ts +++ b/packages/kbot/dist-in/index.d.ts @@ -1,4 +1,5 @@ -export declare const logger: any; +import { Logger, ILogObj } from 'tslog'; +export declare const logger: Logger; export { run } from './commands/run.js'; export declare const module_root: () => string; export declare const assistant_supported: Record; diff --git a/packages/kbot/dist-in/index.js b/packages/kbot/dist-in/index.js index 9e96dbfb..d8bff1f6 100644 --- a/packages/kbot/dist-in/index.js +++ b/packages/kbot/dist-in/index.js @@ -1,9 +1,9 @@ import { platform } from 'node:process'; import path from 'node:path'; const isWindows = platform === 'win32'; -import { createLogger } from '@polymech/log'; import { get_var } from '@polymech/commons'; import { MODULE_NAME } from './constants.js'; +import { createLogger } from '@polymech/log'; export const logger = createLogger('llm-tools'); export { run } from './commands/run.js'; export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`)); @@ -36,4 +36,4 @@ export * from './zod_schema.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_FREE } from './models/cache/openrouter-models-free.js'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFFNUIsTUFBTSxTQUFTLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQTtBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFRLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRXJILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUEyQjtJQUN6RCxJQUFJLEVBQUUsVUFBVTtJQUNoQixNQUFNLEVBQUUsWUFBWTtJQUNwQixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsVUFBVTtJQUNsQixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLE9BQU8sRUFBRSx5RUFBeUU7SUFDbEYsS0FBSyxFQUFFLGVBQWU7SUFDdEIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsT0FBTyxFQUFFLDJFQUEyRTtJQUNwRixLQUFLLEVBQUUsZUFBZTtJQUN0QixLQUFLLEVBQUUsYUFBYTtJQUNwQixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSx3QkFBd0I7SUFDL0IsTUFBTSxFQUFFLFlBQVk7Q0FDckIsQ0FBQTtBQUNELGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQTtBQUUvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUEifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFFNUIsTUFBTSxTQUFTLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQTtBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQStCLENBQUE7QUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVySCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkI7SUFDekQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLFVBQVU7SUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixPQUFPLEVBQUUseUVBQXlFO0lBQ2xGLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLE9BQU8sRUFBRSwyRUFBMkU7SUFDcEYsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixNQUFNLEVBQUUsWUFBWTtJQUNwQixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLE1BQU0sRUFBRSxZQUFZO0NBQ3JCLENBQUE7QUFDRCxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsaUJBQWlCLENBQUE7QUFFL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBIn0= \ No newline at end of file diff --git a/packages/kbot/dist-in/zod_schema.js b/packages/kbot/dist-in/zod_schema.js index ecb62ca3..86663609 100644 --- a/packages/kbot/dist-in/zod_schema.js +++ b/packages/kbot/dist-in/zod_schema.js @@ -102,7 +102,7 @@ export const OptionsSchema = (opts) => { ${chalk.green.bold('custom')}: custom mode `)) .add('logLevel', z.number() - .default(2) + .default(4) .describe('Logging level for the application')) .add('profile', z.string() .optional() diff --git a/packages/kbot/logs/params.json b/packages/kbot/logs/params.json index f9606554..39410b4c 100644 --- a/packages/kbot/logs/params.json +++ b/packages/kbot/logs/params.json @@ -3,7 +3,7 @@ "messages": [ { "role": "user", - "content": "divide 15 by 3. Return only the number, no explanation." + "content": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation." }, { "role": "user", diff --git a/packages/kbot/package.json b/packages/kbot/package.json index 286829e5..4514f4f9 100644 --- a/packages/kbot/package.json +++ b/packages/kbot/package.json @@ -20,6 +20,7 @@ "test:basic": "vitest run tests/unit/basic.test.ts", "test:math": "vitest run tests/unit/math.test.ts", "test:format": "vitest run tests/unit/format.test.ts", + "test:seo": "vitest run tests/unit/seo.test.ts", "test:language": "vitest run tests/unit/language.test.ts", "test2:watch": "vitest", "test2:coverage": "vitest run --coverage", diff --git a/packages/kbot/src/commands/run.ts b/packages/kbot/src/commands/run.ts index 3e1247ab..47816b08 100644 --- a/packages/kbot/src/commands/run.ts +++ b/packages/kbot/src/commands/run.ts @@ -11,7 +11,9 @@ import { ChatCompletionMessageParam } from 'openai/resources/index.mjs' import { IKBotTask } from '@polymech/ai-tools' -import { logger } from '../index.js' +import { createLogger } from '@polymech/log' +import { Logger, ILogObj } from 'tslog' + import { createClient } from '../client.js' import { OptionsSchema } from '../zod_schema.js' import { get } from '../source.js' @@ -30,6 +32,9 @@ import { all } from '../models/index.js' export const processRun = async (opts: IKBotTask) => { let options: IKBotTask = null + const logger = new Logger({ + minLevel: opts.logLevel + }) const target = path.resolve(opts.output || opts.path) if (!exists(target)) { dir(target) @@ -84,7 +89,7 @@ export const processRun = async (opts: IKBotTask) => { const logDir = path.resolve(resolve(opts.logs)) const paramsPath = path.join(logDir, 'params.json') write(paramsPath, JSON.stringify({ ...params }, null, 2)) - logger.debug(`Read ${files.length} files from project ${path.resolve(options.path)} with ${options.include}`, files.map(f => f.path), params.tools.map(t => `${t.function.name} : ${t.function.description}`)) + logger.debug(`kbot run ${options.mode} : ${options.model} @ ${options.router} : ${files.length} files from project ${path.resolve(options.path)} with ${options.include}`, files.map(f => f.path), params.tools.map(t => `${t.function.name} : ${t.function.description}`)) let ret = null options = await options.onRun(options) || options try { @@ -164,6 +169,9 @@ function flattenArrays(arrays: T[][]): T[] { export const run = async (opts: IKBotTask) => { const ret = [] + const logger = new Logger({ + minLevel: opts.logLevel + }) if (opts.include) { if (isString(opts.include)) { opts.include = [opts.include] diff --git a/packages/kbot/src/index.ts b/packages/kbot/src/index.ts index 91e03d61..4e08ce6d 100644 --- a/packages/kbot/src/index.ts +++ b/packages/kbot/src/index.ts @@ -1,13 +1,13 @@ import { platform } from 'node:process' import path from 'node:path' - +import { Logger, ILogObj } from 'tslog' const isWindows = platform === 'win32' -import { createLogger } from '@polymech/log' import { get_var } from '@polymech/commons' import { MODULE_NAME } from './constants.js' -export const logger: any = createLogger('llm-tools') +import { createLogger } from '@polymech/log' +export const logger = createLogger('llm-tools') as unknown as Logger export { run } from './commands/run.js' export const module_root = () => path.resolve(path.join(get_var(isWindows ? 'HOMEPATH' : 'HOME'), `.${MODULE_NAME}`)) diff --git a/packages/kbot/src/zod_schema.ts b/packages/kbot/src/zod_schema.ts index a02ae247..60bc5173 100644 --- a/packages/kbot/src/zod_schema.ts +++ b/packages/kbot/src/zod_schema.ts @@ -158,7 +158,7 @@ export const OptionsSchema = (opts?: any): any => { .add( 'logLevel', z.number() - .default(2) + .default(4) .describe('Logging level for the application') ) .add( diff --git a/packages/kbot/tests/unit/commons.ts b/packages/kbot/tests/unit/commons.ts index c80790ba..bd4e767a 100644 --- a/packages/kbot/tests/unit/commons.ts +++ b/packages/kbot/tests/unit/commons.ts @@ -23,7 +23,7 @@ export const isOpenRouterModel = (model: string): boolean => { export const TEST_BASE_PATH = path.resolve(__dirname, '../../') export const TEST_LOGS_PATH = path.resolve(__dirname, '../../logs') export const TEST_PREFERENCES_PATH = path.resolve(__dirname, '../../preferences.md') -export const TEST_TIMEOUT = 30000 // 30 seconds timeout for API calls +export const TEST_TIMEOUT = 5000 // 30 seconds timeout for API calls // Report paths configuration export const REPORTS_DIR = path.resolve(__dirname, './reports') @@ -127,6 +127,7 @@ export const runTest = async ( path: TEST_BASE_PATH, logs: TEST_LOGS_PATH, preferences: TEST_PREFERENCES_PATH, + logLevel:4, onRun: async (options) => { model = options.model || 'unknown' router = options.model as string @@ -277,27 +278,23 @@ export const generateTestReport = ( // Add highscore section report += '## Highscores\n\n' - // Create a table header + // Add regular test rankings + report += '### Performance Rankings (Duration)\n\n' report += '| Test | Model | Duration (ms) | Duration (s) |\n' report += '|------|-------|--------------|--------------|\n' - // Sort all results by duration - const allResults = Array.from(latestResults.entries()) - .flatMap(([testName, modelResults]) => - Array.from(modelResults.entries()) - .map(([model, result]) => ({ - test: testName, - model, - duration: result.duration || 0 - })) - ) - .sort((a, b) => a.duration - b.duration) + Array.from(latestResults.entries()).forEach(([testName, modelResults]) => { + const sortedResults = Array.from(modelResults.entries()) + .map(([model, result]) => ({ + model, + duration: result.duration || 0 + })) + .sort((a, b) => a.duration - b.duration) - // Add all results to the table - allResults.forEach(({ test, model, duration }) => { - report += `| ${test} | ${model} | ${duration.toFixed(0)} | ${(duration / 1000).toFixed(2)} |\n` + sortedResults.forEach(({ model, duration }) => { + report += `| ${testName} | ${model} | ${duration.toFixed(0)} | ${(duration / 1000).toFixed(2)} |\n` + }) }) - report += '\n' // Add summary section @@ -323,7 +320,7 @@ export const generateTestReport = ( report += `- Prompt: \`${result.prompt}\`\n` report += `- Expected: \`${result.expected}\`\n` report += `- Actual: \`${result.result[0] || ''}\`\n` - report += `- Duration: ${result.duration}ms (${(result.duration || 0 / 1000).toFixed(2)}s)\n` + report += `- Duration: ${result.duration || 0}ms (${((result.duration || 0) / 1000).toFixed(2)}s)\n` if (result.error) { report += `- Error Type: ${result.error.type}\n` report += `- Error Code: ${result.error.code}\n` @@ -353,7 +350,7 @@ export const generateTestReport = ( report += `- Prompt: \`${result.prompt}\`\n` report += `- Expected: \`${result.expected}\`\n` report += `- Actual: \`${result.result[0] || ''}\`\n` - report += `- Duration: ${result.duration}ms (${(result.duration || 0 / 1000).toFixed(2)}s)\n` + report += `- Duration: ${result.duration || 0}ms (${((result.duration || 0) / 1000).toFixed(2)}s)\n` report += `- Timestamp: ${new Date(result.timestamp).toLocaleString()}\n\n` } } diff --git a/packages/kbot/tests/unit/reports/all.json b/packages/kbot/tests/unit/reports/all.json index 10c9bb52..640ff8b8 100644 --- a/packages/kbot/tests/unit/reports/all.json +++ b/packages/kbot/tests/unit/reports/all.json @@ -1074,6 +1074,4874 @@ "passed": true, "duration": 1790, "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:22:28.224Z", + "passed": false, + "duration": 1311, + "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": [], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:22:58.238Z", + "passed": false, + "duration": 30008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:22:59.263Z", + "passed": false, + "duration": 1022, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:23:00.561Z", + "passed": false, + "duration": 1294, + "reason": "Expected -3,-2, 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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:23:17.772Z", + "passed": false, + "duration": 17208, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:23:28.819Z", + "passed": false, + "duration": 11043, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:23:30.914Z", + "passed": true, + "duration": 2093, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:23:36.265Z", + "passed": true, + "duration": 5349, + "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-02T13:23:37.084Z", + "passed": true, + "duration": 816, + "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-02T13:23:38.020Z", + "passed": true, + "duration": 934, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:23:49.147Z", + "passed": true, + "duration": 11125, + "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-02T13:23:52.904Z", + "passed": true, + "duration": 3755, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:23:54.223Z", + "passed": true, + "duration": 1316, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:24:24.234Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:24:25.494Z", + "passed": false, + "duration": 1257, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:24:26.272Z", + "passed": true, + "duration": 776, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:24:56.284Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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." + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:25:06.273Z", + "passed": false, + "duration": 9986, + "reason": "Expected 8, but got the 6th number in the fibonacci sequence is 5.", + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:25:07.072Z", + "passed": true, + "duration": 795, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:25:12.207Z", + "passed": true, + "duration": 5133, + "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-02T13:25:13.308Z", + "passed": true, + "duration": 1099, + "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-02T13:25:14.724Z", + "passed": true, + "duration": 1414, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:25:24.633Z", + "passed": true, + "duration": 9907, + "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-02T13:25:28.285Z", + "passed": true, + "duration": 3650, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:25:31.067Z", + "passed": true, + "duration": 2779, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:25:35.904Z", + "passed": true, + "duration": 4834, + "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-02T13:25:36.993Z", + "passed": true, + "duration": 1087, + "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-02T13:25:37.796Z", + "passed": true, + "duration": 800, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:25:48.323Z", + "passed": true, + "duration": 10524, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "The result of 2 raised to the power of 3 is 8.\n\nAnswer: 8" + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:26:02.730Z", + "passed": false, + "duration": 14405, + "reason": "Expected 8, but got the result of 2 raised to the power of 3 is 8.\n\nanswer: 8", + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:30:35.457Z", + "passed": false, + "duration": 3064, + "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": [ + "-3,-2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:30:47.981Z", + "passed": true, + "duration": 12517, + "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-02T13:30:49.084Z", + "passed": false, + "duration": 1100, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:30:50.009Z", + "passed": false, + "duration": 921, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:31:24.046Z", + "passed": false, + "duration": 2341, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:32:31.578Z", + "passed": false, + "duration": 3137, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:32:51.448Z", + "passed": false, + "duration": 1892, + "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": [ + "-3,-2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:32:58.250Z", + "passed": true, + "duration": 6795, + "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-02T13:32:59.105Z", + "passed": false, + "duration": 853, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:32:59.942Z", + "passed": false, + "duration": 832, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:33:19.796Z", + "passed": false, + "duration": 19850, + "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 x = -2 and x = -3.\n\n-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:33:35.611Z", + "passed": false, + "duration": 15811, + "reason": "Expected -3,-2, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are x = -2 and x = -3.\n\n-2,-3", + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:33:37.469Z", + "passed": true, + "duration": 1853, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:33:44.364Z", + "passed": true, + "duration": 6892, + "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-02T13:33:45.323Z", + "passed": true, + "duration": 956, + "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-02T13:33:46.153Z", + "passed": true, + "duration": 827, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:33:57.349Z", + "passed": true, + "duration": 11193, + "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-02T13:34:02.166Z", + "passed": true, + "duration": 4814, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:34:04.174Z", + "passed": true, + "duration": 2004, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:34:05.686Z", + "passed": false, + "duration": 1509, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:34:07.363Z", + "passed": true, + "duration": 1673, + "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-02T13:34:08.909Z", + "passed": true, + "duration": 1543, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:34:38.921Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:34:44.095Z", + "passed": false, + "duration": 5171, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:34:46.111Z", + "passed": true, + "duration": 2012, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:34:52.001Z", + "passed": true, + "duration": 5888, + "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-02T13:34:52.968Z", + "passed": true, + "duration": 964, + "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-02T13:34:54.051Z", + "passed": true, + "duration": 1080, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:35:04.364Z", + "passed": true, + "duration": 10309, + "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-02T13:35:10.480Z", + "passed": true, + "duration": 6114, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:35:11.619Z", + "passed": true, + "duration": 1136, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:35:19.194Z", + "passed": true, + "duration": 7572, + "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-02T13:35:20.455Z", + "passed": true, + "duration": 1259, + "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-02T13:35:21.956Z", + "passed": true, + "duration": 1498, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:35:27.372Z", + "passed": true, + "duration": 5414, + "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-02T13:35:37.266Z", + "passed": true, + "duration": 9891, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:36:22.644Z", + "passed": false, + "duration": 1358, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:36:31.987Z", + "passed": false, + "duration": 1375, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:00.757Z", + "passed": false, + "duration": 1589, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:38.502Z", + "passed": false, + "duration": 2344, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:51.538Z", + "passed": false, + "duration": 2010, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:59.511Z", + "passed": false, + "duration": 1399, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:39:33.082Z", + "passed": false, + "duration": 1792, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:40:21.065Z", + "passed": false, + "duration": 1221, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:40:47.110Z", + "passed": false, + "duration": 2367, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:40:56.377Z", + "passed": false, + "duration": 9259, + "reason": "Expected -3,-2, 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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:40:57.391Z", + "passed": false, + "duration": 1010, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:40:58.209Z", + "passed": false, + "duration": 815, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:41:02.148Z", + "passed": false, + "duration": 3934, + "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 equation x² + 5x + 6 = 0 are -2 and -3.\n\n-2, -3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:41:10.265Z", + "passed": false, + "duration": 8112, + "reason": "Expected -3,-2, but got the solutions to the equation x² + 5x + 6 = 0 are -2 and -3.\n\n-2, -3", + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:41:11.723Z", + "passed": true, + "duration": 1454, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:41:21.969Z", + "passed": true, + "duration": 10242, + "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-02T13:41:22.848Z", + "passed": true, + "duration": 876, + "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-02T13:41:23.636Z", + "passed": true, + "duration": 785, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:41:30.847Z", + "passed": true, + "duration": 7208, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "5! is equal to 120. \n\nAnswer: 120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:41:34.615Z", + "passed": false, + "duration": 3765, + "reason": "Expected 120, but got 5! is equal to 120. \n\nanswer: 120", + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:41:36.384Z", + "passed": true, + "duration": 1765, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:41:56.369Z", + "passed": false, + "duration": 19981, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:41:57.522Z", + "passed": true, + "duration": 1149, + "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-02T13:41:58.423Z", + "passed": true, + "duration": 898, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:42:28.442Z", + "passed": false, + "duration": 30014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:42:33.805Z", + "passed": false, + "duration": 5358, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:42:34.628Z", + "passed": true, + "duration": 819, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:42:35.522Z", + "passed": true, + "duration": 890, + "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-02T13:42:36.791Z", + "passed": true, + "duration": 1266, + "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-02T13:42:37.938Z", + "passed": true, + "duration": 1144, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:42:42.967Z", + "passed": true, + "duration": 5026, + "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-02T13:42:51.135Z", + "passed": true, + "duration": 8165, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:42:52.650Z", + "passed": true, + "duration": 1512, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:42:57.896Z", + "passed": true, + "duration": 5243, + "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-02T13:42:58.774Z", + "passed": true, + "duration": 875, + "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-02T13:42:59.643Z", + "passed": true, + "duration": 866, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:43:13.962Z", + "passed": false, + "duration": 1435, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:43:39.174Z", + "passed": false, + "duration": 25202, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:43:40.474Z", + "passed": false, + "duration": 1295, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:43:41.957Z", + "passed": false, + "duration": 1478, + "reason": "Expected -3,-2, but got -3, -2", + "category": "math" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:06.429Z", + "passed": true, + "duration": 1689, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:10.240Z", + "passed": true, + "duration": 3807, + "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-02T13:44:11.128Z", + "passed": true, + "duration": 885, + "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-02T13:44:21.587Z", + "passed": true, + "duration": 10455, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:44:33.654Z", + "passed": true, + "duration": 12064, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "The sum of 5 and 3 is 8. Therefore, the result is \\boxed{8}." + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:44:40.062Z", + "passed": false, + "duration": 6405, + "reason": "Expected 8, but got the sum of 5 and 3 is 8. therefore, the result is \\boxed{8}.", + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24" + ], + "expected": "24", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:41.261Z", + "passed": true, + "duration": 1190, + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24" + ], + "expected": "24", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:46.272Z", + "passed": true, + "duration": 5008, + "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-02T13:44:47.386Z", + "passed": true, + "duration": 1111, + "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-02T13:44:48.372Z", + "passed": true, + "duration": 984, + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24\n\n24\n\nThe result is 24.\n\n24\n\nHere's the answer: 24\n\nThe answer will be 24.\n\n24\n\n24\n\nThe product of 8 and 3 is 24.\n\n24\n\nThe answer is 24.\n\n24\n\n24\n\n24\n\nThe result is 24.\n\n24\n\nHere's the numerical result: 24\n\nThe answer is 24.\n\n24\n\n24\n\nThe answer is 24." + ], + "expected": "24", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:44:53.633Z", + "passed": false, + "duration": 5258, + "reason": "Expected 24, but got 24\n\n24\n\nthe result is 24.\n\n24\n\nhere's the answer: 24\n\nthe answer will be 24.\n\n24\n\n24\n\nthe product of 8 and 3 is 24.\n\n24\n\nthe answer is 24.\n\n24\n\n24\n\n24\n\nthe result is 24.\n\n24\n\nhere's the numerical result: 24\n\nthe answer is 24.\n\n24\n\n24\n\nthe answer is 24.", + "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-02T13:44:55.196Z", + "passed": true, + "duration": 1558, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:56.604Z", + "passed": true, + "duration": 1405, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:57.523Z", + "passed": true, + "duration": 917, + "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-02T13:44:58.630Z", + "passed": true, + "duration": 1104, + "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-02T13:44:59.523Z", + "passed": true, + "duration": 889, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:45:06.658Z", + "passed": true, + "duration": 7130, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:45:10.307Z", + "passed": true, + "duration": 3646, + "category": "basic" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:53:58.867Z", + "passed": false, + "duration": 1756, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:54:28.879Z", + "passed": false, + "duration": 30008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome tourism, Colosseum history, Roman Forum attractions, Vatican City travel, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:54:30.304Z", + "passed": false, + "duration": 1417, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome tourism, colosseum history, roman forum attractions, vatican city travel, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:54:32.272Z", + "passed": false, + "duration": 1965, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:54:48.242Z", + "passed": false, + "duration": 15967, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History of Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:54:53.813Z", + "passed": false, + "duration": 5568, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history of rome", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical learning, automated data analysis, predictive modeling, artificial intelligence training" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:54:55.134Z", + "passed": false, + "duration": 1318, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical learning, automated data analysis, predictive modeling, artificial intelligence training", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:55:25.143Z", + "passed": false, + "duration": 30006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, algorithms, statistical methods, data analysis, performance improvement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:55:26.487Z", + "passed": false, + "duration": 1341, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, data analysis, performance improvement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:55:27.413Z", + "passed": false, + "duration": 924, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods in machine learning, data-driven performance improvement, automated computer learning, self-improving algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:55:31.262Z", + "passed": false, + "duration": 3846, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods in machine learning, data-driven performance improvement, automated computer learning, self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, data learning, automated learning, self-improving systems" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:55:38.627Z", + "passed": false, + "duration": 7362, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data learning, automated learning, self-improving systems", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican City attractions, Colosseum tourism, Roman Forum history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:57:14.773Z", + "passed": false, + "duration": 2756, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican city attractions, colosseum tourism, roman forum history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City attractions, Roman Forum ruins, historical landmarks Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:57:46.922Z", + "passed": false, + "duration": 1364, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city attractions, roman forum ruins, historical landmarks rome", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman architecture landmarks, Vatican City attractions, historic Roman sites, Colosseum Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:58:14.587Z", + "passed": false, + "duration": 2624, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman architecture landmarks, vatican city attractions, historic roman sites, colosseum rome", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:58:44.596Z", + "passed": false, + "duration": 30004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:58:46.039Z", + "passed": false, + "duration": 1435, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city, Rome, Colosseum, history, art" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:58:47.063Z", + "passed": false, + "duration": 1019, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city, rome, colosseum, history, art", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, Rome history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:59:00.408Z", + "passed": false, + "duration": 13342, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, rome history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History, Art, Culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:59:05.427Z", + "passed": false, + "duration": 5015, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data science, predictive algorithms, automated learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:59:07.120Z", + "passed": false, + "duration": 1689, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data science, predictive algorithms, automated learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:59:37.128Z", + "passed": false, + "duration": 30005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data analysis, improve performance, computer learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:59:38.643Z", + "passed": false, + "duration": 1510, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data analysis, improve performance, computer learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, improve performance, data" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:59:40.004Z", + "passed": false, + "duration": 1358, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, improve performance, data", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:00:10.018Z", + "passed": false, + "duration": 30011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning, Algorithms, Statistical Methods, Learning from Data, Improving Performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:00:17.625Z", + "passed": false, + "duration": 7604, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, learning from data, improving performance", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican City attractions, Colosseum tourism, Roman Forum history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:03:54.017Z", + "passed": false, + "duration": 2676, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican city attractions, colosseum tourism, roman forum history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:03:59.025Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:04:00.133Z", + "passed": false, + "duration": 1099, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city, Rome, Colosseum, Vatican City, history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:04:01.480Z", + "passed": false, + "duration": 1343, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city, rome, colosseum, vatican city, history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:04:06.485Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:04:11.505Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data-driven algorithms, automated learning, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:04:12.607Z", + "passed": false, + "duration": 1098, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data-driven algorithms, automated learning, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods learning, data-driven learning systems, adaptive algorithms performance, self-improving machine learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:04:15.471Z", + "passed": false, + "duration": 2860, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods learning, data-driven learning systems, adaptive algorithms performance, self-improving machine learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicitly programmed" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:04:16.984Z", + "passed": false, + "duration": 1510, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicitly programmed", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:04:18.098Z", + "passed": false, + "duration": 1110, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:04:23.114Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms, Statistical Methods in Machine Learning, Self-Improving AI Algorithms, Data-Driven Machine Learning, Efficient Performance Improvement." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:04:27.907Z", + "passed": false, + "duration": 4788, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods in machine learning, self-improving ai algorithms, data-driven machine learning, efficient performance improvement.", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:06:10.947Z", + "passed": false, + "duration": 2261, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:06:15.957Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:06:17.129Z", + "passed": false, + "duration": 1164, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:06:19.075Z", + "passed": false, + "duration": 1943, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:06:24.095Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:06:29.106Z", + "passed": false, + "duration": 5006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated pattern recognition, performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:06:31.194Z", + "passed": false, + "duration": 2083, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated pattern recognition, performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:06:36.201Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:06:37.581Z", + "passed": false, + "duration": 1376, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:06:38.721Z", + "passed": false, + "duration": 1136, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:06:43.735Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:06:48.743Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tourism, Roman Forum ruins, historic Rome landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:08:18.282Z", + "passed": false, + "duration": 1556, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tourism, roman forum ruins, historic rome landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:08:23.302Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:08:24.515Z", + "passed": false, + "duration": 1203, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, magnificent Colosseum, historic Roman Forum, stunning Vatican City, blend of history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:08:25.485Z", + "passed": false, + "duration": 966, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, magnificent colosseum, historic roman forum, stunning vatican city, blend of history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:08:30.500Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:08:35.518Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning basics, statistical algorithms, data-driven learning, automated programming, computer performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:08:37.665Z", + "passed": false, + "duration": 2142, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning basics, statistical algorithms, data-driven learning, automated programming, computer performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms,Statistical Methods in AI,Data-Driven Learning Systems,Automated Performance Improvement,Self-Improving Algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:08:38.848Z", + "passed": false, + "duration": 1179, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms,statistical methods in ai,data-driven learning systems,automated performance improvement,self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, data-driven learning, computer programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:08:40.193Z", + "passed": false, + "duration": 1339, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, data-driven learning, computer programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:08:41.233Z", + "passed": false, + "duration": 1036, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, learning from data, performance improvement over time, unprogrammed computer learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:08:44.151Z", + "passed": false, + "duration": 2914, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, learning from data, performance improvement over time, unprogrammed computer learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:08:49.167Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Empire history, Colosseum tourism, Vatican City attractions, Roman Forum landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:09:37.561Z", + "passed": false, + "duration": 2041, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman empire history, colosseum tourism, vatican city attractions, roman forum landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:09:42.582Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:09:44.349Z", + "passed": false, + "duration": 1757, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:09:45.432Z", + "passed": false, + "duration": 1079, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:09:50.446Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:09:55.444Z", + "passed": false, + "duration": 4992, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical data analysis, automated learning systems, predictive modeling, data-driven programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:09:57.245Z", + "passed": false, + "duration": 1796, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical data analysis, automated learning systems, predictive modeling, data-driven programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:10:02.263Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learning from data, improve performance over time, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:10:04.357Z", + "passed": false, + "duration": 2089, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learning from data, improve performance over time, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:10:05.365Z", + "passed": false, + "duration": 1003, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:10:10.381Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:10:15.395Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tourism, historic Roman Forum, Rome cultural attractions" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:10:49.147Z", + "passed": false, + "duration": 2477, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tourism, historic roman forum, rome cultural attractions", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:10:54.164Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:10:55.469Z", + "passed": false, + "duration": 1296, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:10:56.445Z", + "passed": false, + "duration": 971, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:11:01.460Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:11:06.481Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:11:07.998Z", + "passed": false, + "duration": 1512, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:11:13.011Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:11:14.348Z", + "passed": false, + "duration": 1332, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, improve performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:11:16.146Z", + "passed": false, + "duration": 1794, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, improve performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:11:21.158Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:11:26.168Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City, Roman Forum, historic Italian landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:21.933Z", + "passed": false, + "duration": 1921, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city, roman forum, historic italian landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:12:26.952Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tours, Roman Forum ruins, historic Rome attractions" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:37.437Z", + "passed": false, + "duration": 2438, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tours, roman forum ruins, historic rome attractions", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:12:42.449Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum history, Roman Forum visitors, Vatican City attractions, Rome art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:12:43.676Z", + "passed": false, + "duration": 1212, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum history, roman forum visitors, vatican city attractions, rome art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, magnificent Colosseum, historic Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:12:44.912Z", + "passed": false, + "duration": 1231, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, magnificent colosseum, historic roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:12:49.919Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:12:54.939Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data-driven algorithms, automated learning systems, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:56.470Z", + "passed": false, + "duration": 1525, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data-driven algorithms, automated learning systems, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:13:01.489Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, algorithms, statistical methods, data analysis, improve performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:13:02.739Z", + "passed": false, + "duration": 1244, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, data analysis, improve performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, learn from data, improve performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:13:03.946Z", + "passed": false, + "duration": 1201, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, learn from data, improve performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data-driven learning, performance improvement, automated machine learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:13:08.709Z", + "passed": false, + "duration": 4759, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, performance improvement, automated machine learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:13:13.723Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum landmarks, historical monuments" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:15:10.989Z", + "passed": false, + "duration": 1931, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum landmarks, historical monuments", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:15:16.002Z", + "passed": false, + "duration": 5007, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:15:17.078Z", + "passed": false, + "duration": 1064, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:15:18.626Z", + "passed": false, + "duration": 1543, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:15:23.647Z", + "passed": false, + "duration": 5017, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:15:28.670Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated model training, predictive analytics" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:15:30.797Z", + "passed": false, + "duration": 2120, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated model training, predictive analytics", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:15:35.817Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, optimize performance, computer learning, data improvement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:15:37.800Z", + "passed": false, + "duration": 1975, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, optimize performance, computer learning, data improvement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:15:39.068Z", + "passed": false, + "duration": 1262, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:15:44.079Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms, Statistical Methods, Data-Driven Learning, Automated Improvement, Unsupervised Programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:15:48.388Z", + "passed": false, + "duration": 4303, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, automated improvement, unsupervised programming", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome tourism, Roman Colosseum attractions, Vatican City sightseeing, historic Roman Forum, Rome cultural landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:18:01.333Z", + "passed": false, + "duration": 1981, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum attractions, vatican city sightseeing, historic roman forum, rome cultural landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:18:06.353Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum attractions, Roman Forum history, Vatican City art, Rome cultural experiences" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:18:07.939Z", + "passed": false, + "duration": 1576, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum attractions, roman forum history, vatican city art, rome cultural experiences", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:18:09.011Z", + "passed": false, + "duration": 1068, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:18:14.019Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, Italian history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:18:18.278Z", + "passed": false, + "duration": 4253, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, italian history", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data science, artificial intelligence, predictive algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:18:19.203Z", + "passed": false, + "duration": 920, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data science, artificial intelligence, predictive algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:18:24.214Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:18:25.284Z", + "passed": false, + "duration": 1065, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, improve performance, data" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:18:28.908Z", + "passed": false, + "duration": 3619, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, improve performance, data", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:18:33.928Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:18:38.942Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman Colosseum attractions, Vatican City landmarks, historic Roman Forum, Rome cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:19:46.962Z", + "passed": false, + "duration": 2552, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum attractions, vatican city landmarks, historic roman forum, rome cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:19:51.972Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum visitors guide, Roman Forum history, Vatican City travel tips, Rome art and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:19:53.129Z", + "passed": false, + "duration": 1147, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum visitors guide, roman forum history, vatican city travel tips, rome art and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:19:54.207Z", + "passed": false, + "duration": 1073, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:19:59.229Z", + "passed": false, + "duration": 5017, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:20:04.243Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, computer performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:20:05.931Z", + "passed": false, + "duration": 1682, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, computer performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:20:10.946Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data analysis, computer learning, algorithm performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:20:12.421Z", + "passed": false, + "duration": 1470, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data analysis, computer learning, algorithm performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:20:13.722Z", + "passed": false, + "duration": 1296, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:20:18.741Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:20:23.749Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:21:38.678Z", + "passed": false, + "duration": 1437, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome,Colosseum,Roman Forum,Vatican City,history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:21:40.263Z", + "passed": false, + "duration": 1577, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome,colosseum,roman forum,vatican city,history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:21:41.195Z", + "passed": false, + "duration": 926, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:21:43.283Z", + "passed": false, + "duration": 2083, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:21:48.295Z", + "passed": false, + "duration": 5006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Colosseum, Roman Forum, Vatican City, ancient Rome, cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:21:53.227Z", + "passed": false, + "duration": 4923, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got colosseum, roman forum, vatican city, ancient rome, cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning techniques, statistical algorithms, data-driven learning, automated pattern recognition, AI training methods" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:21:54.430Z", + "passed": false, + "duration": 1198, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning techniques, statistical algorithms, data-driven learning, automated pattern recognition, ai training methods", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:21:59.447Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:22:01.398Z", + "passed": false, + "duration": 1946, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:22:02.526Z", + "passed": false, + "duration": 1121, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:22:07.546Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:22:12.566Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman Colosseum landmarks, Vatican City attractions, historic Roman Forum, Rome cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:05.501Z", + "passed": false, + "duration": 2224, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum landmarks, vatican city attractions, historic roman forum, rome cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:24:10.522Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome tourism, Colosseum history, Roman Forum attractions, Vatican City art, ancient Roman culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:24:11.691Z", + "passed": false, + "duration": 1159, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome tourism, colosseum history, roman forum attractions, vatican city art, ancient roman culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:24:16.700Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:24:21.709Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:24:26.091Z", + "passed": false, + "duration": 4375, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, AI model training" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:27.364Z", + "passed": false, + "duration": 1268, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, ai model training", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:24:32.386Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:24:33.642Z", + "passed": false, + "duration": 1251, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:24:34.602Z", + "passed": false, + "duration": 954, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data-driven learning, automated performance improvement, self-improving algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:24:39.037Z", + "passed": false, + "duration": 4430, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, automated performance improvement, self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:24:44.055Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum tourism, Roman Forum attractions, Vatican City sightseeing, historic Rome landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:58.096Z", + "passed": false, + "duration": 1719, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum tourism, roman forum attractions, vatican city sightseeing, historic rome landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:25:03.115Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:25:04.665Z", + "passed": false, + "duration": 1539, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:25:05.673Z", + "passed": false, + "duration": 1002, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:25:10.689Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:25:15.703Z", + "passed": false, + "duration": 5007, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical learning, data science, automated learning, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:25:17.540Z", + "passed": false, + "duration": 1830, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical learning, data science, automated learning, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:25:22.559Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computer learning, data improvement, performance enhancement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:25:24.259Z", + "passed": false, + "duration": 1694, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computer learning, data improvement, performance enhancement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:25:25.146Z", + "passed": false, + "duration": 881, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:25:30.156Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:25:35.171Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" } ], "highscores": [ @@ -1082,13 +5950,13 @@ "rankings": [ { "model": "openai/gpt-4o-mini", - "duration": 859, - "duration_secs": 0.859 + "duration": 1295, + "duration_secs": 1.295 }, { - "model": "openai/gpt-3.5-turbo", - "duration": 895, - "duration_secs": 0.895 + "model": "anthropic/claude-3.5-sonnet", + "duration": 1435, + "duration_secs": 1.435 } ] }, @@ -1097,13 +5965,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 782, - "duration_secs": 0.782 + "duration": 785, + "duration_secs": 0.785 }, { "model": "openai/gpt-4o-mini", - "duration": 872, - "duration_secs": 0.872 + "duration": 876, + "duration_secs": 0.876 } ] }, @@ -1112,13 +5980,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 800, - "duration_secs": 0.8 + "duration": 898, + "duration_secs": 0.898 }, { "model": "openai/gpt-4o-mini", - "duration": 974, - "duration_secs": 0.974 + "duration": 1149, + "duration_secs": 1.149 } ] }, @@ -1126,14 +5994,14 @@ "test": "square_root", "rankings": [ { - "model": "openai/gpt-3.5-turbo", - "duration": 751, - "duration_secs": 0.751 + "model": "anthropic/claude-3.5-sonnet", + "duration": 819, + "duration_secs": 0.819 }, { - "model": "anthropic/claude-3.5-sonnet", - "duration": 756, - "duration_secs": 0.756 + "model": "qwen/qwq-32b", + "duration": 890, + "duration_secs": 0.89 } ] }, @@ -1142,13 +6010,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 719, - "duration_secs": 0.719 + "duration": 866, + "duration_secs": 0.866 }, { "model": "openai/gpt-4o-mini", - "duration": 743, - "duration_secs": 0.743 + "duration": 875, + "duration_secs": 0.875 } ] }, @@ -1157,13 +6025,13 @@ "rankings": [ { "model": "openai/gpt-4o-mini", - "duration": 1376, - "duration_secs": 1.376 + "duration": 885, + "duration_secs": 0.885 }, { "model": "anthropic/claude-3.5-sonnet", - "duration": 1951, - "duration_secs": 1.951 + "duration": 1689, + "duration_secs": 1.689 } ] }, @@ -1172,13 +6040,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 870, - "duration_secs": 0.87 + "duration": 984, + "duration_secs": 0.984 }, { - "model": "anthropic/claude-3.5-sonnet", - "duration": 1096, - "duration_secs": 1.096 + "model": "openai/gpt-4o-mini", + "duration": 1111, + "duration_secs": 1.111 } ] }, @@ -1187,16 +6055,46 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 794, - "duration_secs": 0.794 + "duration": 889, + "duration_secs": 0.889 + }, + { + "model": "qwen/qwq-32b", + "duration": 917, + "duration_secs": 0.917 + } + ] + }, + { + "test": "seo_keywords_text", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 1002, + "duration_secs": 1.002 }, { "model": "openai/gpt-4o-mini", - "duration": 929, - "duration_secs": 0.929 + "duration": 1539, + "duration_secs": 1.539 + } + ] + }, + { + "test": "seo_keywords_technical", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 881, + "duration_secs": 0.881 + }, + { + "model": "openai/gpt-4o-mini", + "duration": 1694, + "duration_secs": 1.694 } ] } ], - "lastUpdated": "2025-04-02T11:26:40.359Z" + "lastUpdated": "2025-04-02T14:25:35.176Z" } \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/basic.json b/packages/kbot/tests/unit/reports/basic.json index 8e197807..466ccbcb 100644 --- a/packages/kbot/tests/unit/reports/basic.json +++ b/packages/kbot/tests/unit/reports/basic.json @@ -743,6 +743,260 @@ "passed": true, "duration": 1790, "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:06.429Z", + "passed": true, + "duration": 1689, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:10.240Z", + "passed": true, + "duration": 3807, + "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-02T13:44:11.128Z", + "passed": true, + "duration": 885, + "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-02T13:44:21.587Z", + "passed": true, + "duration": 10455, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:44:33.654Z", + "passed": true, + "duration": 12064, + "category": "basic" + }, + { + "test": "addition", + "prompt": "add 5 and 3. Return only the number, no explanation.", + "result": [ + "The sum of 5 and 3 is 8. Therefore, the result is \\boxed{8}." + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:44:40.062Z", + "passed": false, + "duration": 6405, + "reason": "Expected 8, but got the sum of 5 and 3 is 8. therefore, the result is \\boxed{8}.", + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24" + ], + "expected": "24", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:41.261Z", + "passed": true, + "duration": 1190, + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24" + ], + "expected": "24", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:46.272Z", + "passed": true, + "duration": 5008, + "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-02T13:44:47.386Z", + "passed": true, + "duration": 1111, + "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-02T13:44:48.372Z", + "passed": true, + "duration": 984, + "category": "basic" + }, + { + "test": "multiplication", + "prompt": "multiply 8 and 3. Return only the number, no explanation.", + "result": [ + "24\n\n24\n\nThe result is 24.\n\n24\n\nHere's the answer: 24\n\nThe answer will be 24.\n\n24\n\n24\n\nThe product of 8 and 3 is 24.\n\n24\n\nThe answer is 24.\n\n24\n\n24\n\n24\n\nThe result is 24.\n\n24\n\nHere's the numerical result: 24\n\nThe answer is 24.\n\n24\n\n24\n\nThe answer is 24." + ], + "expected": "24", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:44:53.633Z", + "passed": false, + "duration": 5258, + "reason": "Expected 24, but got 24\n\n24\n\nthe result is 24.\n\n24\n\nhere's the answer: 24\n\nthe answer will be 24.\n\n24\n\n24\n\nthe product of 8 and 3 is 24.\n\n24\n\nthe answer is 24.\n\n24\n\n24\n\n24\n\nthe result is 24.\n\n24\n\nhere's the numerical result: 24\n\nthe answer is 24.\n\n24\n\n24\n\nthe answer is 24.", + "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-02T13:44:55.196Z", + "passed": true, + "duration": 1558, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:44:56.604Z", + "passed": true, + "duration": 1405, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:44:57.523Z", + "passed": true, + "duration": 917, + "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-02T13:44:58.630Z", + "passed": true, + "duration": 1104, + "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-02T13:44:59.523Z", + "passed": true, + "duration": 889, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:45:06.658Z", + "passed": true, + "duration": 7130, + "category": "basic" + }, + { + "test": "division", + "prompt": "divide 15 by 3. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "5", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:45:10.307Z", + "passed": true, + "duration": 3646, + "category": "basic" } ], "highscores": [ @@ -751,13 +1005,13 @@ "rankings": [ { "model": "openai/gpt-4o-mini", - "duration": 1376, - "duration_secs": 1.376 + "duration": 885, + "duration_secs": 0.885 }, { "model": "anthropic/claude-3.5-sonnet", - "duration": 1951, - "duration_secs": 1.951 + "duration": 1689, + "duration_secs": 1.689 } ] }, @@ -766,13 +1020,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 870, - "duration_secs": 0.87 + "duration": 984, + "duration_secs": 0.984 }, { - "model": "anthropic/claude-3.5-sonnet", - "duration": 1096, - "duration_secs": 1.096 + "model": "openai/gpt-4o-mini", + "duration": 1111, + "duration_secs": 1.111 } ] }, @@ -781,16 +1035,16 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 794, - "duration_secs": 0.794 + "duration": 889, + "duration_secs": 0.889 }, { - "model": "openai/gpt-4o-mini", - "duration": 929, - "duration_secs": 0.929 + "model": "qwen/qwq-32b", + "duration": 917, + "duration_secs": 0.917 } ] } ], - "lastUpdated": "2025-04-02T11:26:40.358Z" + "lastUpdated": "2025-04-02T13:45:10.308Z" } \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/basic.md b/packages/kbot/tests/unit/reports/basic.md index ee9d010c..c938831e 100644 --- a/packages/kbot/tests/unit/reports/basic.md +++ b/packages/kbot/tests/unit/reports/basic.md @@ -4,36 +4,130 @@ | Test | Model | Duration (ms) | Duration (s) | |------|-------|--------------|--------------| -| division | openai/gpt-3.5-turbo | 794 | 0.79 | -| multiplication | openai/gpt-3.5-turbo | 870 | 0.87 | -| division | openai/gpt-4o-mini | 929 | 0.93 | -| multiplication | anthropic/claude-3.5-sonnet | 1096 | 1.10 | -| division | anthropic/claude-3.5-sonnet | 1276 | 1.28 | -| addition | openai/gpt-4o-mini | 1376 | 1.38 | -| multiplication | openai/gpt-4o-mini | 1444 | 1.44 | -| division | deepseek/deepseek-r1-distill-qwen-14b:free | 1790 | 1.79 | -| addition | anthropic/claude-3.5-sonnet | 1951 | 1.95 | -| multiplication | qwen/qwq-32b | 3592 | 3.59 | -| addition | qwen/qwq-32b | 3726 | 3.73 | -| multiplication | deepseek/deepseek-r1-distill-qwen-14b:free | 5646 | 5.65 | -| division | qwen/qwq-32b | 5768 | 5.77 | -| addition | openai/gpt-3.5-turbo | 7188 | 7.19 | -| addition | deepseek/deepseek-r1-distill-qwen-14b:free | 7531 | 7.53 | -| multiplication | deepseek/deepseek-r1 | 10983 | 10.98 | -| addition | deepseek/deepseek-r1 | 15157 | 15.16 | -| division | deepseek/deepseek-r1 | 15409 | 15.41 | +| addition | openai/gpt-4o-mini | 885 | 0.89 | +| division | openai/gpt-3.5-turbo | 889 | 0.89 | +| division | qwen/qwq-32b | 917 | 0.92 | +| multiplication | openai/gpt-3.5-turbo | 984 | 0.98 | +| division | openai/gpt-4o-mini | 1104 | 1.10 | +| multiplication | openai/gpt-4o-mini | 1111 | 1.11 | +| multiplication | anthropic/claude-3.5-sonnet | 1190 | 1.19 | +| division | anthropic/claude-3.5-sonnet | 1405 | 1.41 | +| multiplication | deepseek/deepseek-r1-distill-qwen-14b:free | 1558 | 1.56 | +| addition | anthropic/claude-3.5-sonnet | 1689 | 1.69 | +| division | deepseek/deepseek-r1-distill-qwen-14b:free | 3646 | 3.65 | +| addition | qwen/qwq-32b | 3807 | 3.81 | +| multiplication | qwen/qwq-32b | 5008 | 5.01 | +| division | deepseek/deepseek-r1 | 7130 | 7.13 | +| addition | openai/gpt-3.5-turbo | 10455 | 10.46 | +| addition | deepseek/deepseek-r1 | 12064 | 12.06 | ## Summary - Total Tests: 18 -- Passed: 18 -- Failed: 0 -- Success Rate: 100.00% -- Average Duration: 4807ms (4.81s) +- Passed: 16 +- Failed: 2 +- Success Rate: 88.89% +- Average Duration: 3639ms (3.64s) ## Failed Tests -*No failed tests* +### addition - deepseek/deepseek-r1-distill-qwen-14b:free + +- Prompt: `add 5 and 3. Return only the number, no explanation.` +- Expected: `8` +- Actual: `The sum of 5 and 3 is 8. Therefore, the result is \boxed{8}.` +- Duration: 6405ms (6405.00s) +- Reason: Expected 8, but got the sum of 5 and 3 is 8. therefore, the result is \boxed{8}. +- Timestamp: 4/2/2025, 3:44:40 PM + +### multiplication - deepseek/deepseek-r1 + +- Prompt: `multiply 8 and 3. Return only the number, no explanation.` +- Expected: `24` +- Actual: `24 + +24 + +The result is 24. + +24 + +Here's the answer: 24 + +The answer will be 24. + +24 + +24 + +The product of 8 and 3 is 24. + +24 + +The answer is 24. + +24 + +24 + +24 + +The result is 24. + +24 + +Here's the numerical result: 24 + +The answer is 24. + +24 + +24 + +The answer is 24.` +- Duration: 5258ms (5258.00s) +- Reason: Expected 24, but got 24 + +24 + +the result is 24. + +24 + +here's the answer: 24 + +the answer will be 24. + +24 + +24 + +the product of 8 and 3 is 24. + +24 + +the answer is 24. + +24 + +24 + +24 + +the result is 24. + +24 + +here's the numerical result: 24 + +the answer is 24. + +24 + +24 + +the answer is 24. +- Timestamp: 4/2/2025, 3:44:53 PM ## Passed Tests @@ -42,142 +136,126 @@ - Prompt: `add 5 and 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 1951ms (1951.00s) -- Timestamp: 4/2/2025, 1:25:15 PM +- Duration: 1689ms (1689.00s) +- Timestamp: 4/2/2025, 3:44:06 PM ### addition - qwen/qwq-32b - Prompt: `add 5 and 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 3726ms (3726.00s) -- Timestamp: 4/2/2025, 1:25:19 PM +- Duration: 3807ms (3807.00s) +- Timestamp: 4/2/2025, 3:44:10 PM ### addition - openai/gpt-4o-mini - Prompt: `add 5 and 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 1376ms (1376.00s) -- Timestamp: 4/2/2025, 1:25:20 PM +- Duration: 885ms (885.00s) +- Timestamp: 4/2/2025, 3:44:11 PM ### addition - openai/gpt-3.5-turbo - Prompt: `add 5 and 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 7188ms (7188.00s) -- Timestamp: 4/2/2025, 1:25:28 PM +- Duration: 10455ms (10455.00s) +- Timestamp: 4/2/2025, 3:44:21 PM ### addition - deepseek/deepseek-r1 - Prompt: `add 5 and 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 15157ms (15157.00s) -- Timestamp: 4/2/2025, 1:25:43 PM - -### addition - deepseek/deepseek-r1-distill-qwen-14b:free - -- Prompt: `add 5 and 3. Return only the number, no explanation.` -- Expected: `8` -- Actual: `8` -- Duration: 7531ms (7531.00s) -- Timestamp: 4/2/2025, 1:25:50 PM +- Duration: 12064ms (12064.00s) +- Timestamp: 4/2/2025, 3:44:33 PM ### multiplication - anthropic/claude-3.5-sonnet - Prompt: `multiply 8 and 3. Return only the number, no explanation.` - Expected: `24` - Actual: `24` -- Duration: 1096ms (1096.00s) -- Timestamp: 4/2/2025, 1:25:51 PM +- Duration: 1190ms (1190.00s) +- Timestamp: 4/2/2025, 3:44:41 PM ### multiplication - qwen/qwq-32b - Prompt: `multiply 8 and 3. Return only the number, no explanation.` - Expected: `24` - Actual: `24` -- Duration: 3592ms (3592.00s) -- Timestamp: 4/2/2025, 1:25:55 PM +- Duration: 5008ms (5008.00s) +- Timestamp: 4/2/2025, 3:44:46 PM ### multiplication - openai/gpt-4o-mini - Prompt: `multiply 8 and 3. Return only the number, no explanation.` - Expected: `24` - Actual: `24` -- Duration: 1444ms (1444.00s) -- Timestamp: 4/2/2025, 1:25:56 PM +- Duration: 1111ms (1111.00s) +- Timestamp: 4/2/2025, 3:44:47 PM ### multiplication - openai/gpt-3.5-turbo - Prompt: `multiply 8 and 3. Return only the number, no explanation.` - Expected: `24` - Actual: `24` -- Duration: 870ms (870.00s) -- Timestamp: 4/2/2025, 1:25:57 PM - -### multiplication - deepseek/deepseek-r1 - -- Prompt: `multiply 8 and 3. Return only the number, no explanation.` -- Expected: `24` -- Actual: `24` -- Duration: 10983ms (10983.00s) -- Timestamp: 4/2/2025, 1:26:08 PM +- Duration: 984ms (984.00s) +- Timestamp: 4/2/2025, 3:44:48 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: 5646ms (5646.00s) -- Timestamp: 4/2/2025, 1:26:14 PM +- Duration: 1558ms (1558.00s) +- Timestamp: 4/2/2025, 3:44:55 PM ### division - anthropic/claude-3.5-sonnet - Prompt: `divide 15 by 3. Return only the number, no explanation.` - Expected: `5` - Actual: `5` -- Duration: 1276ms (1276.00s) -- Timestamp: 4/2/2025, 1:26:15 PM +- Duration: 1405ms (1405.00s) +- Timestamp: 4/2/2025, 3:44:56 PM ### division - qwen/qwq-32b - Prompt: `divide 15 by 3. Return only the number, no explanation.` - Expected: `5` - Actual: `5` -- Duration: 5768ms (5768.00s) -- Timestamp: 4/2/2025, 1:26:21 PM +- Duration: 917ms (917.00s) +- Timestamp: 4/2/2025, 3:44:57 PM ### division - openai/gpt-4o-mini - Prompt: `divide 15 by 3. Return only the number, no explanation.` - Expected: `5` - Actual: `5` -- Duration: 929ms (929.00s) -- Timestamp: 4/2/2025, 1:26:22 PM +- Duration: 1104ms (1104.00s) +- Timestamp: 4/2/2025, 3:44:58 PM ### division - openai/gpt-3.5-turbo - Prompt: `divide 15 by 3. Return only the number, no explanation.` - Expected: `5` - Actual: `5` -- Duration: 794ms (794.00s) -- Timestamp: 4/2/2025, 1:26:23 PM +- Duration: 889ms (889.00s) +- Timestamp: 4/2/2025, 3:44:59 PM ### division - deepseek/deepseek-r1 - Prompt: `divide 15 by 3. Return only the number, no explanation.` - Expected: `5` - Actual: `5` -- Duration: 15409ms (15409.00s) -- Timestamp: 4/2/2025, 1:26:38 PM +- Duration: 7130ms (7130.00s) +- Timestamp: 4/2/2025, 3:45:06 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: 1790ms (1790.00s) -- Timestamp: 4/2/2025, 1:26:40 PM +- Duration: 3646ms (3646.00s) +- Timestamp: 4/2/2025, 3:45:10 PM diff --git a/packages/kbot/tests/unit/reports/math.json b/packages/kbot/tests/unit/reports/math.json index 959ae04e..b29ba364 100644 --- a/packages/kbot/tests/unit/reports/math.json +++ b/packages/kbot/tests/unit/reports/math.json @@ -617,6 +617,1571 @@ "duration": 895, "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:22:28.224Z", + "passed": false, + "duration": 1311, + "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": [], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:22:58.238Z", + "passed": false, + "duration": 30008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:22:59.263Z", + "passed": false, + "duration": 1022, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:23:00.561Z", + "passed": false, + "duration": 1294, + "reason": "Expected -3,-2, 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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:23:17.772Z", + "passed": false, + "duration": 17208, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:23:28.819Z", + "passed": false, + "duration": 11043, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:23:30.914Z", + "passed": true, + "duration": 2093, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:23:36.265Z", + "passed": true, + "duration": 5349, + "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-02T13:23:37.084Z", + "passed": true, + "duration": 816, + "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-02T13:23:38.020Z", + "passed": true, + "duration": 934, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:23:49.147Z", + "passed": true, + "duration": 11125, + "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-02T13:23:52.904Z", + "passed": true, + "duration": 3755, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:23:54.223Z", + "passed": true, + "duration": 1316, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:24:24.234Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:24:25.494Z", + "passed": false, + "duration": 1257, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:24:26.272Z", + "passed": true, + "duration": 776, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:24:56.284Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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." + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:25:06.273Z", + "passed": false, + "duration": 9986, + "reason": "Expected 8, but got the 6th number in the fibonacci sequence is 5.", + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:25:07.072Z", + "passed": true, + "duration": 795, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:25:12.207Z", + "passed": true, + "duration": 5133, + "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-02T13:25:13.308Z", + "passed": true, + "duration": 1099, + "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-02T13:25:14.724Z", + "passed": true, + "duration": 1414, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:25:24.633Z", + "passed": true, + "duration": 9907, + "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-02T13:25:28.285Z", + "passed": true, + "duration": 3650, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:25:31.067Z", + "passed": true, + "duration": 2779, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:25:35.904Z", + "passed": true, + "duration": 4834, + "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-02T13:25:36.993Z", + "passed": true, + "duration": 1087, + "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-02T13:25:37.796Z", + "passed": true, + "duration": 800, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:25:48.323Z", + "passed": true, + "duration": 10524, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "The result of 2 raised to the power of 3 is 8.\n\nAnswer: 8" + ], + "expected": "8", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:26:02.730Z", + "passed": false, + "duration": 14405, + "reason": "Expected 8, but got the result of 2 raised to the power of 3 is 8.\n\nanswer: 8", + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:30:35.457Z", + "passed": false, + "duration": 3064, + "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": [ + "-3,-2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:30:47.981Z", + "passed": true, + "duration": 12517, + "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-02T13:30:49.084Z", + "passed": false, + "duration": 1100, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:30:50.009Z", + "passed": false, + "duration": 921, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:31:24.046Z", + "passed": false, + "duration": 2341, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:32:31.578Z", + "passed": false, + "duration": 3137, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:32:51.448Z", + "passed": false, + "duration": 1892, + "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": [ + "-3,-2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:32:58.250Z", + "passed": true, + "duration": 6795, + "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-02T13:32:59.105Z", + "passed": false, + "duration": 853, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:32:59.942Z", + "passed": false, + "duration": 832, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:33:19.796Z", + "passed": false, + "duration": 19850, + "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 x = -2 and x = -3.\n\n-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:33:35.611Z", + "passed": false, + "duration": 15811, + "reason": "Expected -3,-2, but got the solutions to the quadratic equation x² + 5x + 6 = 0 are x = -2 and x = -3.\n\n-2,-3", + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:33:37.469Z", + "passed": true, + "duration": 1853, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:33:44.364Z", + "passed": true, + "duration": 6892, + "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-02T13:33:45.323Z", + "passed": true, + "duration": 956, + "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-02T13:33:46.153Z", + "passed": true, + "duration": 827, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:33:57.349Z", + "passed": true, + "duration": 11193, + "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-02T13:34:02.166Z", + "passed": true, + "duration": 4814, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:34:04.174Z", + "passed": true, + "duration": 2004, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:34:05.686Z", + "passed": false, + "duration": 1509, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:34:07.363Z", + "passed": true, + "duration": 1673, + "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-02T13:34:08.909Z", + "passed": true, + "duration": 1543, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:34:38.921Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:137:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:34:44.095Z", + "passed": false, + "duration": 5171, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:34:46.111Z", + "passed": true, + "duration": 2012, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:34:52.001Z", + "passed": true, + "duration": 5888, + "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-02T13:34:52.968Z", + "passed": true, + "duration": 964, + "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-02T13:34:54.051Z", + "passed": true, + "duration": 1080, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:35:04.364Z", + "passed": true, + "duration": 10309, + "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-02T13:35:10.480Z", + "passed": true, + "duration": 6114, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:35:11.619Z", + "passed": true, + "duration": 1136, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:35:19.194Z", + "passed": true, + "duration": 7572, + "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-02T13:35:20.455Z", + "passed": true, + "duration": 1259, + "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-02T13:35:21.956Z", + "passed": true, + "duration": 1498, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:35:27.372Z", + "passed": true, + "duration": 5414, + "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-02T13:35:37.266Z", + "passed": true, + "duration": 9891, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:36:22.644Z", + "passed": false, + "duration": 1358, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:36:31.987Z", + "passed": false, + "duration": 1375, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:00.757Z", + "passed": false, + "duration": 1589, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:38.502Z", + "passed": false, + "duration": 2344, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:51.538Z", + "passed": false, + "duration": 2010, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:37:59.511Z", + "passed": false, + "duration": 1399, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:39:33.082Z", + "passed": false, + "duration": 1792, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:40:21.065Z", + "passed": false, + "duration": 1221, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:40:47.110Z", + "passed": false, + "duration": 2367, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:40:56.377Z", + "passed": false, + "duration": 9259, + "reason": "Expected -3,-2, 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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:40:57.391Z", + "passed": false, + "duration": 1010, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:40:58.209Z", + "passed": false, + "duration": 815, + "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": [ + "-2,-3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:41:02.148Z", + "passed": false, + "duration": 3934, + "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 equation x² + 5x + 6 = 0 are -2 and -3.\n\n-2, -3" + ], + "expected": "-3,-2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:41:10.265Z", + "passed": false, + "duration": 8112, + "reason": "Expected -3,-2, but got the solutions to the equation x² + 5x + 6 = 0 are -2 and -3.\n\n-2, -3", + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:41:11.723Z", + "passed": true, + "duration": 1454, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:41:21.969Z", + "passed": true, + "duration": 10242, + "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-02T13:41:22.848Z", + "passed": true, + "duration": 876, + "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-02T13:41:23.636Z", + "passed": true, + "duration": 785, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:41:30.847Z", + "passed": true, + "duration": 7208, + "category": "math" + }, + { + "test": "factorial", + "prompt": "Calculate 5! (factorial of 5). Return only the number, no explanation.", + "result": [ + "5! is equal to 120. \n\nAnswer: 120" + ], + "expected": "120", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:41:34.615Z", + "passed": false, + "duration": 3765, + "reason": "Expected 120, but got 5! is equal to 120. \n\nanswer: 120", + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:41:36.384Z", + "passed": true, + "duration": 1765, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [ + "5" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:41:56.369Z", + "passed": false, + "duration": 19981, + "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": [ + "8" + ], + "expected": "8", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:41:57.522Z", + "passed": true, + "duration": 1149, + "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-02T13:41:58.423Z", + "passed": true, + "duration": 898, + "category": "math" + }, + { + "test": "fibonacci", + "prompt": "Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.", + "result": [], + "expected": "8", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:42:28.442Z", + "passed": false, + "duration": 30014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "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-02T13:42:33.805Z", + "passed": false, + "duration": 5358, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:42:34.628Z", + "passed": true, + "duration": 819, + "category": "math" + }, + { + "test": "square_root", + "prompt": "Calculate the square root of 16. Return only the number, no explanation.", + "result": [ + "4" + ], + "expected": "4", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:42:35.522Z", + "passed": true, + "duration": 890, + "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-02T13:42:36.791Z", + "passed": true, + "duration": 1266, + "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-02T13:42:37.938Z", + "passed": true, + "duration": 1144, + "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", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:42:42.967Z", + "passed": true, + "duration": 5026, + "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-02T13:42:51.135Z", + "passed": true, + "duration": 8165, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:42:52.650Z", + "passed": true, + "duration": 1512, + "category": "math" + }, + { + "test": "power", + "prompt": "Calculate 2 raised to the power of 3. Return only the number, no explanation.", + "result": [ + "8" + ], + "expected": "8", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:42:57.896Z", + "passed": true, + "duration": 5243, + "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-02T13:42:58.774Z", + "passed": true, + "duration": 875, + "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-02T13:42:59.643Z", + "passed": true, + "duration": 866, + "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": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:43:13.962Z", + "passed": false, + "duration": 1435, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:43:39.174Z", + "passed": false, + "duration": 25202, + "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": [ + "-2, -3" + ], + "expected": "-3,-2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:43:40.474Z", + "passed": false, + "duration": 1295, + "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": [ + "-3, -2" + ], + "expected": "-3,-2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:43:41.957Z", + "passed": false, + "duration": 1478, + "reason": "Expected -3,-2, but got -3, -2", + "category": "math" } ], "highscores": [ @@ -625,13 +2190,13 @@ "rankings": [ { "model": "openai/gpt-4o-mini", - "duration": 859, - "duration_secs": 0.859 + "duration": 1295, + "duration_secs": 1.295 }, { - "model": "openai/gpt-3.5-turbo", - "duration": 895, - "duration_secs": 0.895 + "model": "anthropic/claude-3.5-sonnet", + "duration": 1435, + "duration_secs": 1.435 } ] }, @@ -640,13 +2205,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 782, - "duration_secs": 0.782 + "duration": 785, + "duration_secs": 0.785 }, { "model": "openai/gpt-4o-mini", - "duration": 872, - "duration_secs": 0.872 + "duration": 876, + "duration_secs": 0.876 } ] }, @@ -655,13 +2220,13 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 800, - "duration_secs": 0.8 + "duration": 898, + "duration_secs": 0.898 }, { "model": "openai/gpt-4o-mini", - "duration": 974, - "duration_secs": 0.974 + "duration": 1149, + "duration_secs": 1.149 } ] }, @@ -669,14 +2234,14 @@ "test": "square_root", "rankings": [ { - "model": "openai/gpt-3.5-turbo", - "duration": 751, - "duration_secs": 0.751 + "model": "anthropic/claude-3.5-sonnet", + "duration": 819, + "duration_secs": 0.819 }, { - "model": "anthropic/claude-3.5-sonnet", - "duration": 756, - "duration_secs": 0.756 + "model": "qwen/qwq-32b", + "duration": 890, + "duration_secs": 0.89 } ] }, @@ -685,16 +2250,16 @@ "rankings": [ { "model": "openai/gpt-3.5-turbo", - "duration": 719, - "duration_secs": 0.719 + "duration": 866, + "duration_secs": 0.866 }, { "model": "openai/gpt-4o-mini", - "duration": 743, - "duration_secs": 0.743 + "duration": 875, + "duration_secs": 0.875 } ] } ], - "lastUpdated": "2025-04-02T11:24:51.939Z" + "lastUpdated": "2025-04-02T13:43:41.958Z" } \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/math.md b/packages/kbot/tests/unit/reports/math.md index 7149f727..4c0b19f2 100644 --- a/packages/kbot/tests/unit/reports/math.md +++ b/packages/kbot/tests/unit/reports/math.md @@ -1,38 +1,39 @@ # Math Operations Test Results - ## Highscores | Test | Model | Duration (ms) | Duration (s) | |------|-------|--------------|--------------| -| power | openai/gpt-3.5-turbo | 719 | 0.72 | -| power | openai/gpt-4o-mini | 743 | 0.74 | -| square_root | openai/gpt-3.5-turbo | 751 | 0.75 | -| square_root | anthropic/claude-3.5-sonnet | 756 | 0.76 | -| factorial | openai/gpt-3.5-turbo | 782 | 0.78 | -| square_root | openai/gpt-4o-mini | 785 | 0.79 | -| fibonacci | openai/gpt-3.5-turbo | 800 | 0.80 | -| factorial | openai/gpt-4o-mini | 872 | 0.87 | -| quadratic | openai/gpt-3.5-turbo | 878 | 0.88 | -| factorial | anthropic/claude-3.5-sonnet | 970 | 0.97 | -| fibonacci | openai/gpt-4o-mini | 974 | 0.97 | -| quadratic | openai/gpt-4o-mini | 994 | 0.99 | -| power | anthropic/claude-3.5-sonnet | 1241 | 1.24 | -| quadratic | anthropic/claude-3.5-sonnet | 1650 | 1.65 | -| fibonacci | anthropic/claude-3.5-sonnet | 3791 | 3.79 | -| factorial | qwen/qwq-32b | 4954 | 4.95 | -| power | qwen/qwq-32b | 6255 | 6.25 | -| square_root | qwen/qwq-32b | 6745 | 6.75 | -| quadratic | qwen/qwq-32b | 10222 | 10.22 | -| fibonacci | qwen/qwq-32b | 12322 | 12.32 | +| factorial | openai/gpt-3.5-turbo | 827 | 0.83 | +| factorial | openai/gpt-4o-mini | 956 | 0.96 | +| square_root | openai/gpt-4o-mini | 964 | 0.96 | +| square_root | openai/gpt-3.5-turbo | 1080 | 1.08 | +| power | anthropic/claude-3.5-sonnet | 1136 | 1.14 | +| power | openai/gpt-4o-mini | 1259 | 1.26 | +| power | openai/gpt-3.5-turbo | 1498 | 1.50 | +| fibonacci | openai/gpt-3.5-turbo | 1543 | 1.54 | +| fibonacci | openai/gpt-4o-mini | 1673 | 1.67 | +| factorial | anthropic/claude-3.5-sonnet | 1853 | 1.85 | +| fibonacci | anthropic/claude-3.5-sonnet | 2004 | 2.00 | +| square_root | anthropic/claude-3.5-sonnet | 2012 | 2.01 | +| factorial | deepseek/deepseek-r1-distill-qwen-14b:free | 4814 | 4.81 | +| power | deepseek/deepseek-r1 | 5414 | 5.41 | +| square_root | qwen/qwq-32b | 5888 | 5.89 | +| 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 -- Total Tests: 20 -- Passed: 14 -- Failed: 6 -- Success Rate: 70.00% -- Average Duration: 2860ms (2.86s) +- Total Tests: 29 +- Passed: 22 +- Failed: 7 +- Success Rate: 75.86% +- Average Duration: 4745ms (4.75s) ## Failed Tests @@ -41,54 +42,67 @@ - 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: 1650ms (1650.00s) +- Duration: 1892ms (1892.00s) - Reason: Expected -3,-2, but got -2,-3 -- Timestamp: 4/2/2025, 1:22:10 PM +- 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: 994ms (994.00s) +- Duration: 853ms (853.00s) - Reason: Expected -3,-2, but got -2, -3 -- Timestamp: 4/2/2025, 1:22:21 PM +- Timestamp: 4/2/2025, 3:32:59 PM ### 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.` - Expected: `-3,-2` - Actual: `-2, -3` -- Duration: 878ms (878.00s) +- Duration: 832ms (832.00s) - Reason: Expected -3,-2, but got -2, -3 -- Timestamp: 4/2/2025, 1:22:22 PM +- Timestamp: 4/2/2025, 3:32:59 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 + +- Prompt: `Solve the quadratic equation x² + 5x + 6 = 0. Return only the solutions as comma-separated numbers, no explanation.` +- Expected: `-3,-2` +- Actual: `The solutions to the quadratic equation x² + 5x + 6 = 0 are x = -2 and x = -3. + +-2,-3` +- 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 +- Timestamp: 4/2/2025, 3:33:35 PM ### fibonacci - qwen/qwq-32b - Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.` - Expected: `8` - Actual: `5` -- Duration: 12322ms (12322.00s) +- Duration: 1509ms (1509.00s) - Reason: Expected 8, but got 5 -- Timestamp: 4/2/2025, 1:22:46 PM +- Timestamp: 4/2/2025, 3:34:05 PM -### fibonacci - openai/gpt-4o-mini +### fibonacci - deepseek/deepseek-r1-distill-qwen-14b:free - Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.` - Expected: `8` - Actual: `5` -- Duration: 974ms (974.00s) +- Duration: 5171ms (5171.00s) - Reason: Expected 8, but got 5 -- Timestamp: 4/2/2025, 1:22:47 PM - -### power - qwen/qwq-32b - -- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.` -- Expected: `8` -- Actual: `` -- Duration: 6255ms (6255.00s) -- Reason: Model returned empty response -- Timestamp: 4/2/2025, 1:23:04 PM +- Timestamp: 4/2/2025, 3:34:44 PM ## Passed Tests @@ -97,110 +111,174 @@ - 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: 10222ms (10222.00s) -- Timestamp: 4/2/2025, 1:22:20 PM +- 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: 970ms (970.00s) -- Timestamp: 4/2/2025, 1:22:23 PM +- 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: 4954ms (4954.00s) -- Timestamp: 4/2/2025, 1:22:28 PM +- 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: 872ms (872.00s) -- Timestamp: 4/2/2025, 1:22:29 PM +- Duration: 956ms (956.00s) +- Timestamp: 4/2/2025, 3:33:45 PM ### factorial - openai/gpt-3.5-turbo - Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.` - Expected: `120` - Actual: `120` -- Duration: 782ms (782.00s) -- Timestamp: 4/2/2025, 1:22:30 PM +- Duration: 827ms (827.00s) +- Timestamp: 4/2/2025, 3:33:46 PM + +### factorial - deepseek/deepseek-r1 + +- Prompt: `Calculate 5! (factorial of 5). Return only the number, no explanation.` +- Expected: `120` +- Actual: `120` +- Duration: 11193ms (11193.00s) +- Timestamp: 4/2/2025, 3:33:57 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: 3791ms (3791.00s) -- Timestamp: 4/2/2025, 1:22:33 PM +- 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 - Prompt: `Calculate the 6th number in the Fibonacci sequence. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 800ms (800.00s) -- Timestamp: 4/2/2025, 1:22:48 PM +- Duration: 1543ms (1543.00s) +- Timestamp: 4/2/2025, 3:34:08 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: 756ms (756.00s) -- Timestamp: 4/2/2025, 1:22:48 PM +- 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: 6745ms (6745.00s) -- Timestamp: 4/2/2025, 1:22:55 PM +- 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: 785ms (785.00s) -- Timestamp: 4/2/2025, 1:22:56 PM +- Duration: 964ms (964.00s) +- Timestamp: 4/2/2025, 3:34:52 PM ### square_root - openai/gpt-3.5-turbo - Prompt: `Calculate the square root of 16. Return only the number, no explanation.` - Expected: `4` - Actual: `4` -- Duration: 751ms (751.00s) -- Timestamp: 4/2/2025, 1:22:57 PM +- Duration: 1080ms (1080.00s) +- Timestamp: 4/2/2025, 3:34:54 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 + +- Prompt: `Calculate the square root of 16. Return only the number, no explanation.` +- Expected: `4` +- Actual: `4` +- Duration: 6114ms (6114.00s) +- Timestamp: 4/2/2025, 3:35:10 PM ### power - anthropic/claude-3.5-sonnet - Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 1241ms (1241.00s) -- Timestamp: 4/2/2025, 1:22:58 PM +- Duration: 1136ms (1136.00s) +- Timestamp: 4/2/2025, 3:35:11 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: 743ms (743.00s) -- Timestamp: 4/2/2025, 1:23:05 PM +- Duration: 1259ms (1259.00s) +- Timestamp: 4/2/2025, 3:35:20 PM ### power - openai/gpt-3.5-turbo - Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.` - Expected: `8` - Actual: `8` -- Duration: 719ms (719.00s) -- Timestamp: 4/2/2025, 1:23:06 PM +- Duration: 1498ms (1498.00s) +- Timestamp: 4/2/2025, 3:35:21 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 + +- Prompt: `Calculate 2 raised to the power of 3. Return only the number, no explanation.` +- Expected: `8` +- Actual: `8` +- Duration: 9891ms (9891.00s) +- Timestamp: 4/2/2025, 3:35:37 PM diff --git a/packages/kbot/tests/unit/reports/seo.json b/packages/kbot/tests/unit/reports/seo.json new file mode 100644 index 00000000..2f1a8662 --- /dev/null +++ b/packages/kbot/tests/unit/reports/seo.json @@ -0,0 +1,3086 @@ +{ + "results": [ + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:53:58.867Z", + "passed": false, + "duration": 1756, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:54:28.879Z", + "passed": false, + "duration": 30008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome tourism, Colosseum history, Roman Forum attractions, Vatican City travel, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:54:30.304Z", + "passed": false, + "duration": 1417, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome tourism, colosseum history, roman forum attractions, vatican city travel, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:54:32.272Z", + "passed": false, + "duration": 1965, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:54:48.242Z", + "passed": false, + "duration": 15967, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History of Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:54:53.813Z", + "passed": false, + "duration": 5568, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history of rome", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical learning, automated data analysis, predictive modeling, artificial intelligence training" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:54:55.134Z", + "passed": false, + "duration": 1318, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical learning, automated data analysis, predictive modeling, artificial intelligence training", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:55:25.143Z", + "passed": false, + "duration": 30006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, algorithms, statistical methods, data analysis, performance improvement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:55:26.487Z", + "passed": false, + "duration": 1341, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, data analysis, performance improvement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:55:27.413Z", + "passed": false, + "duration": 924, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods in machine learning, data-driven performance improvement, automated computer learning, self-improving algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:55:31.262Z", + "passed": false, + "duration": 3846, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods in machine learning, data-driven performance improvement, automated computer learning, self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, data learning, automated learning, self-improving systems" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:55:38.627Z", + "passed": false, + "duration": 7362, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data learning, automated learning, self-improving systems", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican City attractions, Colosseum tourism, Roman Forum history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:57:14.773Z", + "passed": false, + "duration": 2756, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican city attractions, colosseum tourism, roman forum history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City attractions, Roman Forum ruins, historical landmarks Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:57:46.922Z", + "passed": false, + "duration": 1364, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city attractions, roman forum ruins, historical landmarks rome", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman architecture landmarks, Vatican City attractions, historic Roman sites, Colosseum Rome" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:58:14.587Z", + "passed": false, + "duration": 2624, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman architecture landmarks, vatican city attractions, historic roman sites, colosseum rome", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:58:44.596Z", + "passed": false, + "duration": 30004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:58:46.039Z", + "passed": false, + "duration": 1435, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city, Rome, Colosseum, history, art" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:58:47.063Z", + "passed": false, + "duration": 1019, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city, rome, colosseum, history, art", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, Rome history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T13:59:00.408Z", + "passed": false, + "duration": 13342, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, rome history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History, Art, Culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T13:59:05.427Z", + "passed": false, + "duration": 5015, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data science, predictive algorithms, automated learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T13:59:07.120Z", + "passed": false, + "duration": 1689, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data science, predictive algorithms, automated learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T13:59:37.128Z", + "passed": false, + "duration": 30005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data analysis, improve performance, computer learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T13:59:38.643Z", + "passed": false, + "duration": 1510, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data analysis, improve performance, computer learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, improve performance, data" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T13:59:40.004Z", + "passed": false, + "duration": 1358, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, improve performance, data", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:00:10.018Z", + "passed": false, + "duration": 30011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning, Algorithms, Statistical Methods, Learning from Data, Improving Performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:00:17.625Z", + "passed": false, + "duration": 7604, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, learning from data, improving performance", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican City attractions, Colosseum tourism, Roman Forum history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:03:54.017Z", + "passed": false, + "duration": 2676, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican city attractions, colosseum tourism, roman forum history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:03:59.025Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:04:00.133Z", + "passed": false, + "duration": 1099, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city, Rome, Colosseum, Vatican City, history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:04:01.480Z", + "passed": false, + "duration": 1343, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city, rome, colosseum, vatican city, history", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:04:06.485Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:04:11.505Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data-driven algorithms, automated learning, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:04:12.607Z", + "passed": false, + "duration": 1098, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data-driven algorithms, automated learning, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods learning, data-driven learning systems, adaptive algorithms performance, self-improving machine learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:04:15.471Z", + "passed": false, + "duration": 2860, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods learning, data-driven learning systems, adaptive algorithms performance, self-improving machine learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicitly programmed" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:04:16.984Z", + "passed": false, + "duration": 1510, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicitly programmed", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:04:18.098Z", + "passed": false, + "duration": 1110, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:04:23.114Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms, Statistical Methods in Machine Learning, Self-Improving AI Algorithms, Data-Driven Machine Learning, Efficient Performance Improvement." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:04:27.907Z", + "passed": false, + "duration": 4788, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods in machine learning, self-improving ai algorithms, data-driven machine learning, efficient performance improvement.", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:06:10.947Z", + "passed": false, + "duration": 2261, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:06:15.957Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:06:17.129Z", + "passed": false, + "duration": 1164, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:06:19.075Z", + "passed": false, + "duration": 1943, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:06:24.095Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:06:29.106Z", + "passed": false, + "duration": 5006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated pattern recognition, performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:06:31.194Z", + "passed": false, + "duration": 2083, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated pattern recognition, performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:06:36.201Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:06:37.581Z", + "passed": false, + "duration": 1376, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:06:38.721Z", + "passed": false, + "duration": 1136, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:06:43.735Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:06:48.743Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tourism, Roman Forum ruins, historic Rome landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:08:18.282Z", + "passed": false, + "duration": 1556, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tourism, roman forum ruins, historic rome landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:08:23.302Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:08:24.515Z", + "passed": false, + "duration": 1203, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, magnificent Colosseum, historic Roman Forum, stunning Vatican City, blend of history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:08:25.485Z", + "passed": false, + "duration": 966, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, magnificent colosseum, historic roman forum, stunning vatican city, blend of history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:08:30.500Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:08:35.518Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning basics, statistical algorithms, data-driven learning, automated programming, computer performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:08:37.665Z", + "passed": false, + "duration": 2142, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning basics, statistical algorithms, data-driven learning, automated programming, computer performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms,Statistical Methods in AI,Data-Driven Learning Systems,Automated Performance Improvement,Self-Improving Algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:08:38.848Z", + "passed": false, + "duration": 1179, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms,statistical methods in ai,data-driven learning systems,automated performance improvement,self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, data-driven learning, computer programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:08:40.193Z", + "passed": false, + "duration": 1339, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, data-driven learning, computer programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:08:41.233Z", + "passed": false, + "duration": 1036, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, learning from data, performance improvement over time, unprogrammed computer learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:08:44.151Z", + "passed": false, + "duration": 2914, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, learning from data, performance improvement over time, unprogrammed computer learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:08:49.167Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Empire history, Colosseum tourism, Vatican City attractions, Roman Forum landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:09:37.561Z", + "passed": false, + "duration": 2041, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman empire history, colosseum tourism, vatican city attractions, roman forum landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:09:42.582Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:09:44.349Z", + "passed": false, + "duration": 1757, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:09:45.432Z", + "passed": false, + "duration": 1079, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:09:50.446Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, History" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:09:55.444Z", + "passed": false, + "duration": 4992, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical data analysis, automated learning systems, predictive modeling, data-driven programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:09:57.245Z", + "passed": false, + "duration": 1796, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical data analysis, automated learning systems, predictive modeling, data-driven programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:10:02.263Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learning from data, improve performance over time, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:10:04.357Z", + "passed": false, + "duration": 2089, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learning from data, improve performance over time, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:10:05.365Z", + "passed": false, + "duration": 1003, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:10:10.381Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:10:15.395Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tourism, historic Roman Forum, Rome cultural attractions" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:10:49.147Z", + "passed": false, + "duration": 2477, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tourism, historic roman forum, rome cultural attractions", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:10:54.164Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:10:55.469Z", + "passed": false, + "duration": 1296, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:10:56.445Z", + "passed": false, + "duration": 971, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:11:01.460Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:11:06.481Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:11:07.998Z", + "passed": false, + "duration": 1512, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:11:13.011Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:11:14.348Z", + "passed": false, + "duration": 1332, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, improve performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:11:16.146Z", + "passed": false, + "duration": 1794, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, improve performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:11:21.158Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:11:26.168Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City, Roman Forum, historic Italian landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:21.933Z", + "passed": false, + "duration": 1921, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city, roman forum, historic italian landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:12:26.952Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman Colosseum, Vatican City tours, Roman Forum ruins, historic Rome attractions" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:37.437Z", + "passed": false, + "duration": 2438, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman colosseum, vatican city tours, roman forum ruins, historic rome attractions", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:12:42.449Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum history, Roman Forum visitors, Vatican City attractions, Rome art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:12:43.676Z", + "passed": false, + "duration": 1212, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum history, roman forum visitors, vatican city attractions, rome art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, magnificent Colosseum, historic Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:12:44.912Z", + "passed": false, + "duration": 1231, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, magnificent colosseum, historic roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:12:49.919Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:12:54.939Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data-driven algorithms, automated learning systems, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:12:56.470Z", + "passed": false, + "duration": 1525, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data-driven algorithms, automated learning systems, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:13:01.489Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, algorithms, statistical methods, data analysis, improve performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:13:02.739Z", + "passed": false, + "duration": 1244, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, algorithms, statistical methods, data analysis, improve performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, learn from data, improve performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:13:03.946Z", + "passed": false, + "duration": 1201, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, learn from data, improve performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data-driven learning, performance improvement, automated machine learning" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:13:08.709Z", + "passed": false, + "duration": 4759, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, performance improvement, automated machine learning", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:13:13.723Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:176:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum landmarks, historical monuments" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:15:10.989Z", + "passed": false, + "duration": 1931, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum landmarks, historical monuments", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:15:16.002Z", + "passed": false, + "duration": 5007, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:15:17.078Z", + "passed": false, + "duration": 1064, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:15:18.626Z", + "passed": false, + "duration": 1543, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:15:23.647Z", + "passed": false, + "duration": 5017, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:15:28.670Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated model training, predictive analytics" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:15:30.797Z", + "passed": false, + "duration": 2120, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated model training, predictive analytics", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:15:35.817Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, optimize performance, computer learning, data improvement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:15:37.800Z", + "passed": false, + "duration": 1975, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, optimize performance, computer learning, data improvement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:15:39.068Z", + "passed": false, + "duration": 1262, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:15:44.079Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine Learning Algorithms, Statistical Methods, Data-Driven Learning, Automated Improvement, Unsupervised Programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:15:48.388Z", + "passed": false, + "duration": 4303, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, automated improvement, unsupervised programming", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Ancient Rome tourism, Roman Colosseum attractions, Vatican City sightseeing, historic Roman Forum, Rome cultural landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:18:01.333Z", + "passed": false, + "duration": 1981, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum attractions, vatican city sightseeing, historic roman forum, rome cultural landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:18:06.353Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum attractions, Roman Forum history, Vatican City art, Rome cultural experiences" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:18:07.939Z", + "passed": false, + "duration": 1576, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum attractions, roman forum history, vatican city art, rome cultural experiences", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:18:09.011Z", + "passed": false, + "duration": 1068, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:18:14.019Z", + "passed": false, + "duration": 5004, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, Italian history" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:18:18.278Z", + "passed": false, + "duration": 4253, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, italian history", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning, statistical analysis, data science, artificial intelligence, predictive algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:18:19.203Z", + "passed": false, + "duration": 920, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning, statistical analysis, data science, artificial intelligence, predictive algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:18:24.214Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:18:25.284Z", + "passed": false, + "duration": 1065, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, improve performance, data" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:18:28.908Z", + "passed": false, + "duration": 3619, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, improve performance, data", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:18:33.928Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:18:38.942Z", + "passed": false, + "duration": 5009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman Colosseum attractions, Vatican City landmarks, historic Roman Forum, Rome cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:19:46.962Z", + "passed": false, + "duration": 2552, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum attractions, vatican city landmarks, historic roman forum, rome cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:19:51.972Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Colosseum visitors guide, Roman Forum history, Vatican City travel tips, Rome art and culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:19:53.129Z", + "passed": false, + "duration": 1147, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, colosseum visitors guide, roman forum history, vatican city travel tips, rome art and culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:19:54.207Z", + "passed": false, + "duration": 1073, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:19:59.229Z", + "passed": false, + "duration": 5017, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:20:04.243Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, computer performance optimization" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:20:05.931Z", + "passed": false, + "duration": 1682, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, computer performance optimization", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:20:10.946Z", + "passed": false, + "duration": 5010, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data analysis, computer learning, algorithm performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:20:12.421Z", + "passed": false, + "duration": 1470, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data analysis, computer learning, algorithm performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:20:13.722Z", + "passed": false, + "duration": 1296, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:20:18.741Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:20:23.749Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Roman architecture, Vatican tourism, Colosseum history, Italian cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:21:38.678Z", + "passed": false, + "duration": 1437, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, roman architecture, vatican tourism, colosseum history, italian cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome,Colosseum,Roman Forum,Vatican City,history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:21:40.263Z", + "passed": false, + "duration": 1577, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome,colosseum,roman forum,vatican city,history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:21:41.195Z", + "passed": false, + "duration": 926, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:21:43.283Z", + "passed": false, + "duration": 2083, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:21:48.295Z", + "passed": false, + "duration": 5006, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Colosseum, Roman Forum, Vatican City, ancient Rome, cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:21:53.227Z", + "passed": false, + "duration": 4923, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got colosseum, roman forum, vatican city, ancient rome, cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning techniques, statistical algorithms, data-driven learning, automated pattern recognition, AI training methods" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:21:54.430Z", + "passed": false, + "duration": 1198, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning techniques, statistical algorithms, data-driven learning, automated pattern recognition, ai training methods", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:21:59.447Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:22:01.398Z", + "passed": false, + "duration": 1946, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, improve performance, learn from data, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:22:02.526Z", + "passed": false, + "duration": 1121, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:22:07.546Z", + "passed": false, + "duration": 5015, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:22:12.566Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome tourism, Roman Colosseum landmarks, Vatican City attractions, historic Roman Forum, Rome cultural heritage" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:05.501Z", + "passed": false, + "duration": 2224, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome tourism, roman colosseum landmarks, vatican city attractions, historic roman forum, rome cultural heritage", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:24:10.522Z", + "passed": false, + "duration": 5014, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome tourism, Colosseum history, Roman Forum attractions, Vatican City art, ancient Roman culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:24:11.691Z", + "passed": false, + "duration": 1159, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome tourism, colosseum history, roman forum attractions, vatican city art, ancient roman culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:24:16.700Z", + "passed": false, + "duration": 5003, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:24:21.709Z", + "passed": false, + "duration": 5002, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:24:26.091Z", + "passed": false, + "duration": 4375, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical analysis, data-driven learning, automated programming, AI model training" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:27.364Z", + "passed": false, + "duration": 1268, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical analysis, data-driven learning, automated programming, ai model training", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:24:32.386Z", + "passed": false, + "duration": 5016, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:24:33.642Z", + "passed": false, + "duration": 1251, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers learn from data, improve performance, explicit programming", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:24:34.602Z", + "passed": false, + "duration": 954, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, data-driven learning, automated performance improvement, self-improving algorithms" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:24:39.037Z", + "passed": false, + "duration": 4430, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, data-driven learning, automated performance improvement, self-improving algorithms", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:24:44.055Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum tourism, Roman Forum attractions, Vatican City sightseeing, historic Rome landmarks" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:24:58.096Z", + "passed": false, + "duration": 1719, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum tourism, roman forum attractions, vatican city sightseeing, historic rome landmarks", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:25:03.115Z", + "passed": false, + "duration": 5013, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:25:04.665Z", + "passed": false, + "duration": 1539, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient rome, colosseum, roman forum, vatican city, history art culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture" + ], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:25:05.673Z", + "passed": false, + "duration": 1002, + "reason": "Expected Rome, Colosseum, Roman Forum, Vatican City, ancient history, but got ancient city of rome, colosseum, roman forum, vatican city, history, art, culture", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:25:10.689Z", + "passed": false, + "duration": 5011, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_text", + "prompt": "Generate 5 SEO keywords for this text: \"The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "Rome, Colosseum, Roman Forum, Vatican City, ancient history", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:25:15.703Z", + "passed": false, + "duration": 5007, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical learning, data science, automated learning, predictive modeling" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "anthropic/claude-3.5-sonnet", + "router": "anthropic/claude-3.5-sonnet", + "timestamp": "2025-04-02T14:25:17.540Z", + "passed": false, + "duration": 1830, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical learning, data science, automated learning, predictive modeling", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "qwen/qwq-32b", + "router": "qwen/qwq-32b", + "timestamp": "2025-04-02T14:25:22.559Z", + "passed": false, + "duration": 5012, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "machine learning algorithms, statistical methods, computer learning, data improvement, performance enhancement" + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-02T14:25:24.259Z", + "passed": false, + "duration": 1694, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computer learning, data improvement, performance enhancement", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [ + "Machine learning algorithms, statistical methods, computers, data, performance." + ], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-02T14:25:25.146Z", + "passed": false, + "duration": 881, + "reason": "Expected machine learning, algorithms, artificial intelligence, data science, statistical methods, but got machine learning algorithms, statistical methods, computers, data, performance.", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1", + "router": "deepseek/deepseek-r1", + "timestamp": "2025-04-02T14:25:30.156Z", + "passed": false, + "duration": 5005, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + }, + { + "test": "seo_keywords_technical", + "prompt": "Generate 5 SEO keywords for this text: \"Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed.\" Return only the keywords separated by commas, no explanation.", + "result": [], + "expected": "machine learning, algorithms, artificial intelligence, data science, statistical methods", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-02T14:25:35.171Z", + "passed": false, + "duration": 5008, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:138:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "seo" + } + ], + "highscores": [ + { + "test": "seo_keywords_text", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 1002, + "duration_secs": 1.002 + }, + { + "model": "openai/gpt-4o-mini", + "duration": 1539, + "duration_secs": 1.539 + } + ] + }, + { + "test": "seo_keywords_technical", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 881, + "duration_secs": 0.881 + }, + { + "model": "openai/gpt-4o-mini", + "duration": 1694, + "duration_secs": 1.694 + } + ] + } + ], + "lastUpdated": "2025-04-02T14:25:35.172Z" +} \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/seo.md b/packages/kbot/tests/unit/reports/seo.md new file mode 100644 index 00000000..aa6bfecc --- /dev/null +++ b/packages/kbot/tests/unit/reports/seo.md @@ -0,0 +1,124 @@ +# SEO Keyword Generation Test Results + +## Model Rankings + +| Model | Avg Matches | Total Matches | Tests Run | +|-------|-------------|---------------|-----------| +| anthropic/claude-3.5-sonnet | 3.50 | 7/10 | 2 | +| openai/gpt-4o-mini | 3.50 | 7/10 | 2 | +| openai/gpt-3.5-turbo | 3.50 | 7/10 | 2 | + +## Summary + +- Total Tests: 12 +- Passed: 6 +- Failed: 6 +- Success Rate: 50.00% +- Average Duration: 3222ms (3.22s) + +## Failed Tests + +### seo_keywords_text - qwen/qwq-32b + +- Prompt: `Generate SEO keywords for descriptive text` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:03 PM + +### seo_keywords_text - deepseek/deepseek-r1 + +- Prompt: `Generate SEO keywords for descriptive text` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:10 PM + +### seo_keywords_text - deepseek/deepseek-r1-distill-qwen-14b:free + +- Prompt: `Generate SEO keywords for descriptive text` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:15 PM + +### seo_keywords_technical - qwen/qwq-32b + +- Prompt: `Generate SEO keywords for technical text` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:22 PM + +### seo_keywords_technical - deepseek/deepseek-r1 + +- Prompt: `Generate SEO keywords for technical text` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:30 PM + +### seo_keywords_technical - deepseek/deepseek-r1-distill-qwen-14b:free + +- Prompt: `Generate SEO keywords for technical text` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `` +- Duration: 5000ms (5.00s) +- Reason: API call timed out +- Timestamp: 4/2/2025, 4:25:35 PM + +## Passed Tests + +### seo_keywords_text - anthropic/claude-3.5-sonnet + +- Prompt: `Generate 5 SEO keywords for this text: "The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture." Return only the keywords separated by commas, no explanation.` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `ancient Rome, Colosseum tourism, Roman Forum attractions, Vatican City sightseeing, historic Rome landmarks` +- Duration: 1719ms (1.72s) +- Timestamp: 4/2/2025, 4:24:58 PM + +### seo_keywords_text - openai/gpt-4o-mini + +- Prompt: `Generate 5 SEO keywords for this text: "The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture." Return only the keywords separated by commas, no explanation.` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `ancient Rome, Colosseum, Roman Forum, Vatican City, history art culture` +- Duration: 1539ms (1.54s) +- Timestamp: 4/2/2025, 4:25:04 PM + +### seo_keywords_text - openai/gpt-3.5-turbo + +- Prompt: `Generate 5 SEO keywords for this text: "The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture." Return only the keywords separated by commas, no explanation.` +- Expected: `Rome, Colosseum, Roman Forum, Vatican City, ancient history` +- Actual: `ancient city of Rome, Colosseum, Roman Forum, Vatican City, history, art, culture` +- Duration: 1002ms (1.00s) +- Timestamp: 4/2/2025, 4:25:05 PM + +### seo_keywords_technical - anthropic/claude-3.5-sonnet + +- Prompt: `Generate 5 SEO keywords for this text: "Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed." Return only the keywords separated by commas, no explanation.` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `machine learning algorithms, statistical learning, data science, automated learning, predictive modeling` +- Duration: 1830ms (1.83s) +- Timestamp: 4/2/2025, 4:25:17 PM + +### seo_keywords_technical - openai/gpt-4o-mini + +- Prompt: `Generate 5 SEO keywords for this text: "Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed." Return only the keywords separated by commas, no explanation.` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `machine learning algorithms, statistical methods, computer learning, data improvement, performance enhancement` +- Duration: 1694ms (1.69s) +- Timestamp: 4/2/2025, 4:25:24 PM + +### seo_keywords_technical - openai/gpt-3.5-turbo + +- Prompt: `Generate 5 SEO keywords for this text: "Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed." Return only the keywords separated by commas, no explanation.` +- Expected: `machine learning, algorithms, artificial intelligence, data science, statistical methods` +- Actual: `Machine learning algorithms, statistical methods, computers, data, performance.` +- Duration: 881ms (0.88s) +- Timestamp: 4/2/2025, 4:25:25 PM + diff --git a/packages/kbot/tests/unit/seo.test.ts b/packages/kbot/tests/unit/seo.test.ts new file mode 100644 index 00000000..2ad635a2 --- /dev/null +++ b/packages/kbot/tests/unit/seo.test.ts @@ -0,0 +1,245 @@ +import { describe, it, expect } from 'vitest' +import * as path from 'node:path' +import { sync as exists } from "@polymech/fs/exists" +import { sync as write } from "@polymech/fs/write" +import { + getDefaultModels, + TEST_BASE_PATH, + TEST_LOGS_PATH, + TEST_PREFERENCES_PATH, + TEST_TIMEOUT, + TestResult, + runTest, + getReportPaths +} from './commons' + +// Optionally override models for this specific test file +const models = getDefaultModels() + +describe('SEO Keyword Generation', () => { + let testResults: TestResult[] = [] + const TEST_LOG_PATH = getReportPaths('seo', 'json') + const TEST_REPORT_PATH = getReportPaths('seo', 'md') + + // Track model performance + const modelScores: Record = {} + + it.each(models)('should generate SEO keywords for a descriptive text with model %s', async (modelName) => { + try { + const result = await runTest( + 'Generate 5 SEO keywords for this text: "The ancient city of Rome, with its magnificent Colosseum, historic Roman Forum, and stunning Vatican City, offers visitors a unique blend of history, art, and culture." Return only the keywords separated by commas, no explanation.', + 'Rome, Colosseum, Roman Forum, Vatican City, ancient history', + 'seo_keywords_text', + modelName, + TEST_LOG_PATH + ) + testResults.push(result) + + // Handle potential empty or invalid results + if (!result.result?.[0]) { + result.passed = false + result.reason = 'No keywords generated' + return + } + + const resultKeywords = result.result[0] + .trim() + .toLowerCase() + .split(',') + .map(k => k.trim()) + .filter(k => k.length > 0) + + const expectedKeywords = ['rome', 'colosseum', 'roman forum', 'vatican city', 'ancient history'] + const matchedKeywords = expectedKeywords.filter(keyword => + resultKeywords.some(result => result.includes(keyword)) + ) + + // Update model score + if (!modelScores[modelName]) { + modelScores[modelName] = { total: 0, tests: 0 } + } + modelScores[modelName].total += matchedKeywords.length + modelScores[modelName].tests += 1 + + // Log the actual results for debugging + console.log(`Model ${modelName} generated keywords:`, resultKeywords) + console.log(`Matched keywords:`, matchedKeywords) + console.log(`Current score for ${modelName}: ${matchedKeywords.length}/${expectedKeywords.length}`) + + // Update test result to reflect passing if we have at least 2 matches + result.passed = matchedKeywords.length >= 2 + result.reason = result.passed ? undefined : `Only matched ${matchedKeywords.length} keywords, expected at least 2` + } catch (error) { + // Handle timeout or other errors gracefully + const result: TestResult = { + test: 'seo_keywords_text', + prompt: 'Generate SEO keywords for descriptive text', + result: [], + expected: 'Rome, Colosseum, Roman Forum, Vatican City, ancient history', + model: modelName, + router: 'openrouter', + timestamp: new Date().toISOString(), + passed: false, + duration: TEST_TIMEOUT, + reason: error instanceof Error ? error.message : 'Unknown error occurred' + } + testResults.push(result) + } + }, { timeout: TEST_TIMEOUT }) + + it.each(models)('should generate SEO keywords for a technical text with model %s', async (modelName) => { + try { + const result = await runTest( + 'Generate 5 SEO keywords for this text: "Machine learning algorithms use statistical methods to enable computers to learn from data and improve their performance over time without being explicitly programmed." Return only the keywords separated by commas, no explanation.', + 'machine learning, algorithms, artificial intelligence, data science, statistical methods', + 'seo_keywords_technical', + modelName, + TEST_LOG_PATH + ) + testResults.push(result) + + // Handle potential empty or invalid results + if (!result.result?.[0]) { + result.passed = false + result.reason = 'No keywords generated' + return + } + + const resultKeywords = result.result[0] + .trim() + .toLowerCase() + .split(',') + .map(k => k.trim()) + .filter(k => k.length > 0) + + const expectedKeywords = ['machine learning', 'algorithms', 'artificial intelligence', 'data science', 'statistical methods'] + const matchedKeywords = expectedKeywords.filter(keyword => + resultKeywords.some(result => result.includes(keyword)) + ) + + // Update model score + if (!modelScores[modelName]) { + modelScores[modelName] = { total: 0, tests: 0 } + } + modelScores[modelName].total += matchedKeywords.length + modelScores[modelName].tests += 1 + + // Log the actual results for debugging + console.log(`Model ${modelName} generated keywords:`, resultKeywords) + console.log(`Matched keywords:`, matchedKeywords) + console.log(`Current score for ${modelName}: ${matchedKeywords.length}/${expectedKeywords.length}`) + + // Update test result to reflect passing if we have at least 2 matches + result.passed = matchedKeywords.length >= 2 + result.reason = result.passed ? undefined : `Only matched ${matchedKeywords.length} keywords, expected at least 2` + } catch (error) { + // Handle timeout or other errors gracefully + const result: TestResult = { + test: 'seo_keywords_technical', + prompt: 'Generate SEO keywords for technical text', + result: [], + expected: 'machine learning, algorithms, artificial intelligence, data science, statistical methods', + model: modelName, + router: 'openrouter', + timestamp: new Date().toISOString(), + passed: false, + duration: TEST_TIMEOUT, + reason: error instanceof Error ? error.message : 'Unknown error occurred' + } + testResults.push(result) + } + }, { timeout: TEST_TIMEOUT }) + + it('should generate markdown report with model rankings', () => { + // Calculate average scores and sort models + const modelRankings = Object.entries(modelScores) + .map(([model, scores]) => ({ + model, + averageScore: scores.total / scores.tests, + totalMatches: scores.total, + testsRun: scores.tests, + maxPossibleMatches: scores.tests * 5 // Each test has 5 expected keywords + })) + .sort((a, b) => b.averageScore - a.averageScore) + + // Log the rankings + console.log('\nSEO Keyword Generation Rankings:') + console.log('--------------------------------') + modelRankings.forEach((ranking, index) => { + console.log(`${index + 1}. ${ranking.model}:`) + console.log(` Average matches per test: ${ranking.averageScore.toFixed(2)}`) + console.log(` Total matches: ${ranking.totalMatches}/${ranking.maxPossibleMatches}`) + console.log(` Tests run: ${ranking.testsRun}`) + }) + + // Generate markdown report + let report = `# SEO Keyword Generation Test Results\n\n` + + // Add SEO rankings section + report += '## Model Rankings\n\n' + report += '| Model | Avg Matches | Total Matches | Tests Run |\n' + report += '|-------|-------------|---------------|-----------|' + + modelRankings.forEach(({ model, averageScore, totalMatches, testsRun, maxPossibleMatches }) => { + report += `\n| ${model} | ${averageScore.toFixed(2)} | ${totalMatches}/${maxPossibleMatches} | ${testsRun} |` + }) + report += '\n\n' + + // Add summary section + const totalTests = testResults.length + const passedTests = testResults.filter(r => r.passed).length + const failedTests = totalTests - passedTests + const avgDuration = testResults.reduce((sum, r) => sum + (r.duration || 0), 0) / totalTests + + report += '## Summary\n\n' + report += `- Total Tests: ${totalTests}\n` + report += `- Passed: ${passedTests}\n` + report += `- Failed: ${failedTests}\n` + report += `- Success Rate: ${((passedTests / totalTests) * 100).toFixed(2)}%\n` + report += `- Average Duration: ${avgDuration.toFixed(0)}ms (${(avgDuration / 1000).toFixed(2)}s)\n\n` + + // Add failed tests section + report += '## Failed Tests\n\n' + const failedResults = testResults.filter(r => !r.passed) + + if (failedResults.length === 0) { + report += '*No failed tests*\n\n' + } else { + failedResults.forEach(result => { + report += `### ${result.test} - ${result.model}\n\n` + report += `- Prompt: \`${result.prompt}\`\n` + report += `- Expected: \`${result.expected}\`\n` + report += `- Actual: \`${result.result[0] || ''}\`\n` + report += `- Duration: ${result.duration || 0}ms (${((result.duration || 0) / 1000).toFixed(2)}s)\n` + if (result.error) { + report += `- Error: ${result.error.message}\n` + } + if (result.reason) { + report += `- Reason: ${result.reason}\n` + } + report += `- Timestamp: ${new Date(result.timestamp).toLocaleString()}\n\n` + }) + } + + // Add passed tests section + report += '## Passed Tests\n\n' + const passedResults = testResults.filter(r => r.passed) + + if (passedResults.length === 0) { + report += '*No passed tests*\n\n' + } else { + passedResults.forEach(result => { + report += `### ${result.test} - ${result.model}\n\n` + report += `- Prompt: \`${result.prompt}\`\n` + report += `- Expected: \`${result.expected}\`\n` + report += `- Actual: \`${result.result[0] || ''}\`\n` + report += `- Duration: ${result.duration || 0}ms (${((result.duration || 0) / 1000).toFixed(2)}s)\n` + report += `- Timestamp: ${new Date(result.timestamp).toLocaleString()}\n\n` + }) + } + + // Write report to file + write(TEST_REPORT_PATH, report) + expect(exists(TEST_REPORT_PATH) === 'file').toBe(true) + }) +}) \ No newline at end of file