mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
feat: Add test scripts for Bedrock models and model mapping functionality
This commit is contained in:
35
scripts/test-bedrock-models.js
Normal file
35
scripts/test-bedrock-models.js
Normal 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 };
|
||||
47
scripts/test-model-mapping.js
Normal file
47
scripts/test-model-mapping.js
Normal 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 };
|
||||
Reference in New Issue
Block a user