ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов Stage 3.6 Усилина оркестрация и детект data-scope для живого сленга. Убрана шаблонность soft-refusal в limited-ответах. Подрезана словарнаю жирность в фильтр-экстракторе
This commit is contained in:
+29
-2
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.__evalRouteTestUtils = void 0;
|
||||
exports.__evalRouteAsyncTestUtils = exports.__evalRouteTestUtils = void 0;
|
||||
exports.buildEvalRouter = buildEvalRouter;
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
const path_1 = __importDefault(require("path"));
|
||||
@@ -153,6 +153,10 @@ exports.__evalRouteTestUtils = {
|
||||
splitQuestionCandidate,
|
||||
normalizeRuntimeQuestions
|
||||
};
|
||||
exports.__evalRouteAsyncTestUtils = {
|
||||
readReportedCaseIds,
|
||||
syncJobWithSessions
|
||||
};
|
||||
function normalizeCaseIds(value) {
|
||||
if (!Array.isArray(value)) {
|
||||
return undefined;
|
||||
@@ -296,10 +300,28 @@ function readSessionConversation(runId, caseId) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
function readReportedCaseIds(job) {
|
||||
const output = new Set();
|
||||
const reportRecord = toRecord(job.report);
|
||||
const reportResults = toArray(reportRecord?.results)
|
||||
.map((item) => toRecord(item))
|
||||
.filter((item) => item !== null);
|
||||
for (const result of reportResults) {
|
||||
const caseId = toStringSafe(result.case_id);
|
||||
if (!caseId)
|
||||
continue;
|
||||
output.add(caseId);
|
||||
}
|
||||
return output;
|
||||
}
|
||||
function isTerminalCaseStatus(status) {
|
||||
return status === "completed" || status === "failed";
|
||||
}
|
||||
function syncJobWithSessions(job) {
|
||||
if (!job.run_id || !job.eval_target.startsWith("assistant_")) {
|
||||
return;
|
||||
}
|
||||
const reportCaseIds = readReportedCaseIds(job);
|
||||
let completed = 0;
|
||||
let hasRunning = false;
|
||||
for (const item of job.cases) {
|
||||
@@ -307,11 +329,16 @@ function syncJobWithSessions(job) {
|
||||
item.messages = messages;
|
||||
const assistantMessages = messages.filter((entry) => entry.role === "assistant").length;
|
||||
const userMessages = messages.filter((entry) => entry.role === "user").length;
|
||||
if (assistantMessages >= item.turns_total && item.turns_total > 0) {
|
||||
const reportMarkedDone = reportCaseIds.has(item.case_id);
|
||||
if ((assistantMessages >= item.turns_total && item.turns_total > 0) || reportMarkedDone) {
|
||||
item.status = "completed";
|
||||
completed += 1;
|
||||
continue;
|
||||
}
|
||||
if (isTerminalCaseStatus(item.status) && isTerminalCaseStatus(job.status)) {
|
||||
completed += 1;
|
||||
continue;
|
||||
}
|
||||
if (userMessages > 0 || messages.length > 0) {
|
||||
item.status = "running";
|
||||
hasRunning = true;
|
||||
|
||||
Reference in New Issue
Block a user