feat: Add test scripts for Bedrock models and model mapping functionality

This commit is contained in:
andersonby
2025-08-06 19:23:36 +08:00
parent 9a9a82c86f
commit 657b7b0a05
6 changed files with 253 additions and 76 deletions

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env node
const bedrockAccountService = require('../src/services/bedrockAccountService');
const bedrockRelayService = require('../src/services/bedrockRelayService');
const logger = require('../src/utils/logger');
async function testBedrockModels() {
try {
console.log('🧪 测试Bedrock模型配置...');
// 测试可用模型列表
const models = await bedrockRelayService.getAvailableModels();
console.log(`📋 找到 ${models.length} 个可用模型:`);
models.forEach(model => {
console.log(` - ${model.id} (${model.name})`);
});
// 测试默认模型
console.log(`\n🎯 系统默认模型: ${bedrockRelayService.defaultModel}`);
console.log(`🎯 系统默认小模型: ${bedrockRelayService.defaultSmallModel}`);
console.log('\n✅ Bedrock模型配置测试完成');
process.exit(0);
} catch (error) {
console.error('❌ Bedrock模型测试失败:', error);
process.exit(1);
}
}
// 如果直接运行此脚本
if (require.main === module) {
testBedrockModels();
}
module.exports = { testBedrockModels };

View File

@@ -0,0 +1,47 @@
#!/usr/bin/env node
const bedrockRelayService = require('../src/services/bedrockRelayService');
function testModelMapping() {
console.log('🧪 测试模型映射功能...');
// 测试用例
const testCases = [
// 标准Claude模型名
'claude-3-5-haiku-20241022',
'claude-3-5-sonnet-20241022',
'claude-3-5-sonnet',
'claude-3-5-haiku',
'claude-sonnet-4',
'claude-opus-4-1',
'claude-3-7-sonnet',
// 已经是Bedrock格式的
'us.anthropic.claude-sonnet-4-20250514-v1:0',
'anthropic.claude-3-5-haiku-20241022-v1:0',
// 未知模型
'unknown-model'
];
console.log('\n📋 模型映射测试结果:');
testCases.forEach(testModel => {
const mappedModel = bedrockRelayService._mapToBedrockModel(testModel);
const isChanged = mappedModel !== testModel;
const status = isChanged ? '🔄' : '✅';
console.log(`${status} ${testModel}`);
if (isChanged) {
console.log(`${mappedModel}`);
}
});
console.log('\n✅ 模型映射测试完成');
}
// 如果直接运行此脚本
if (require.main === module) {
testModelMapping();
}
module.exports = { testModelMapping };