/** * 检查DC模块任务进度 * 用于诊断LLM是否正常工作 */ import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); async function checkTaskProgress() { try { console.log('📊 检查DC模块任务进度...\n'); // 1. 获取最新的任务 const latestTasks = await prisma.dCExtractionTask.findMany({ orderBy: { createdAt: 'desc' }, take: 3, select: { id: true, projectName: true, status: true, totalCount: true, processedCount: true, cleanCount: true, conflictCount: true, failedCount: true, totalTokens: true, createdAt: true, startedAt: true, completedAt: true, error: true } }); console.log('=== 最近3个任务 ==='); latestTasks.forEach((task, index) => { console.log(`\n${index + 1}. 任务: ${task.projectName}`); console.log(` ID: ${task.id}`); console.log(` 状态: ${task.status}`); console.log(` 进度: ${task.processedCount}/${task.totalCount} (${task.totalCount > 0 ? Math.round(task.processedCount / task.totalCount * 100) : 0}%)`); console.log(` 结果: 一致=${task.cleanCount}, 冲突=${task.conflictCount}, 失败=${task.failedCount}`); console.log(` Tokens: ${task.totalTokens || 0}`); console.log(` 创建时间: ${task.createdAt.toLocaleString('zh-CN')}`); console.log(` 开始时间: ${task.startedAt ? task.startedAt.toLocaleString('zh-CN') : '未开始'}`); console.log(` 完成时间: ${task.completedAt ? task.completedAt.toLocaleString('zh-CN') : '未完成'}`); if (task.error) { console.log(` ❌ 错误: ${task.error}`); } }); // 2. 如果有任务,检查第一个任务的items详情 if (latestTasks.length > 0) { const taskId = latestTasks[0].id; console.log(`\n\n=== 最新任务的Item详情 (${taskId}) ===`); const items = await prisma.dCExtractionItem.findMany({ where: { taskId }, orderBy: { rowIndex: 'asc' }, take: 3, // 只显示前3条 select: { id: true, rowIndex: true, originalText: true, status: true, resultA: true, resultB: true, finalResult: true, tokensA: true, tokensB: true, conflictFields: true, error: true } }); console.log(`\n总共 ${items.length} 条记录(显示前3条):\n`); items.forEach(item => { console.log(`行 ${item.rowIndex}:`); console.log(` 原文: ${item.originalText.substring(0, 60)}...`); console.log(` 状态: ${item.status}`); console.log(` DeepSeek结果: ${item.resultA ? JSON.stringify(item.resultA).substring(0, 100) + '...' : '未提取'}`); console.log(` Qwen结果: ${item.resultB ? JSON.stringify(item.resultB).substring(0, 100) + '...' : '未提取'}`); console.log(` 🎯 最终结果(finalResult): ${item.finalResult ? JSON.stringify(item.finalResult) : 'null'}`); console.log(` Tokens: DeepSeek=${item.tokensA || 0}, Qwen=${item.tokensB || 0}`); console.log(` 冲突字段: ${item.conflictFields.length > 0 ? item.conflictFields.join(', ') : '无'}`); if (item.error) { console.log(` ❌ 错误: ${item.error}`); } console.log(''); }); } } catch (error) { console.error('❌ 检查失败:', error); } finally { await prisma.$disconnect(); } } checkTaskProgress();