- assistantProfileConfig: KB answer prompt改为分层策略(严格产品信息+灵活常识补充) - nativeVoiceGateway: S2S upstream自动重连(最多50次)、event 351字幕debounce(800ms取最长文本) - toolExecutor: 确定性query改写增强、KB查询传递session上下文 - contextKeywordTracker: 支持KB话题记忆优先enrichment - contentSafeGuard: 新增品牌安全内容过滤服务 - assistantProfileService: 新增助手配置CRUD服务 - routes/assistantProfile: 新增助手配置API路由 - knowledgeKeywords: 扩展KB关键词词典 - fastAsrCorrector: ASR纠错规则更新 - tests/: KB prompt测试、保护窗口测试、Viking性能测试 - docs/: 助手配置API文档、系统提示词目录
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
const path = require('path');
|
|
const VikingRetrievalPerformanceTester = require('./viking_retrieval_performance');
|
|
|
|
require('dotenv').config({ path: path.join(__dirname, '../.env') });
|
|
|
|
async function main() {
|
|
const args = process.argv.slice(2);
|
|
const testType = args[0] || 'full';
|
|
|
|
const tester = new VikingRetrievalPerformanceTester();
|
|
|
|
const testQueries = [
|
|
{ name: 'Product Query - Xiaohong', query: '小红产品有什么功效' },
|
|
{ name: 'Product Query - Dabai', query: '大白产品怎么吃' },
|
|
{ name: 'Company Info', query: '德国PM公司介绍' },
|
|
{ name: 'NTC Technology', query: 'NTC营养保送系统原理' },
|
|
{ name: 'Hot Answer', query: '基础三合一怎么吃' },
|
|
{ name: 'No Hit Query', query: '今天天气怎么样' }
|
|
];
|
|
|
|
switch (testType) {
|
|
case 'latency':
|
|
console.log('Running latency test only...');
|
|
await tester.warmup(testQueries.map(q => q.query));
|
|
await tester.testLatency(testQueries, 5);
|
|
tester.printSummary();
|
|
tester.saveReport('latency_test.json');
|
|
break;
|
|
|
|
case 'cache':
|
|
console.log('Running cache efficiency test only...');
|
|
await tester.warmup(testQueries.map(q => q.query));
|
|
await tester.testCacheEfficiency(testQueries.slice(0, 3), 5);
|
|
tester.printSummary();
|
|
tester.saveReport('cache_test.json');
|
|
break;
|
|
|
|
case 'concurrency':
|
|
console.log('Running concurrency test only...');
|
|
await tester.warmup(testQueries.map(q => q.query));
|
|
await tester.testConcurrency(testQueries.slice(0, 3), [1, 2, 3, 5]);
|
|
tester.printSummary();
|
|
tester.saveReport('concurrency_test.json');
|
|
break;
|
|
|
|
case 'full':
|
|
default:
|
|
console.log('Running full performance test suite...');
|
|
await tester.runFullSuite();
|
|
break;
|
|
}
|
|
|
|
console.log('\nTest completed!');
|
|
}
|
|
|
|
main().catch(err => {
|
|
console.error('Test failed:', err);
|
|
process.exit(1);
|
|
});
|