001project_wildgrowth/backend/scripts/test-doubao-api.ts

92 lines
3.5 KiB
TypeScript
Raw Normal View History

2026-02-11 15:26:03 +08:00
/**
* API
*/
import OpenAI from 'openai';
const DOUBAO_API_KEY = process.env.DOUBAO_API_KEY || '79250955-70db-4f84-a3be-dada39a62b1f';
const DOUBAO_BASE_URL = 'https://ark.cn-beijing.volces.com/api/v3';
const DOUBAO_MODEL = 'doubao-seed-1-6-lite-251015';
const openai = new OpenAI({
apiKey: DOUBAO_API_KEY,
baseURL: DOUBAO_BASE_URL,
});
async function testDoubaoAPI() {
console.log('═══════════════════════════════════════════════════════════');
console.log(' 🧪 测试豆包 API 连接');
console.log('═══════════════════════════════════════════════════════════');
console.log('');
console.log(`API Key: ${DOUBAO_API_KEY.substring(0, 20)}...`);
console.log(`Base URL: ${DOUBAO_BASE_URL}`);
console.log(`Model: ${DOUBAO_MODEL}`);
console.log('');
try {
console.log('📤 发送测试请求...');
const startTime = Date.now();
const response = await openai.chat.completions.create({
model: DOUBAO_MODEL,
messages: [
{
role: 'system',
content: '你是一个专业的AI助手。',
},
{
role: 'user',
content: '请用一句话介绍你自己。',
},
],
max_tokens: 100,
temperature: 0.7,
});
const duration = Date.now() - startTime;
const content = response.choices[0]?.message?.content;
console.log('✅ API 调用成功!');
console.log('');
console.log('📊 响应信息:');
console.log(` 响应时间: ${duration}ms`);
console.log(` 使用 Token: ${response.usage?.total_tokens || 'N/A'}`);
console.log(` 模型: ${response.model || DOUBAO_MODEL}`);
console.log('');
console.log('💬 AI 回复:');
console.log(` ${content}`);
console.log('');
console.log('═══════════════════════════════════════════════════════════');
console.log(' ✅ 豆包 API 测试通过!');
console.log('═══════════════════════════════════════════════════════════');
return true;
} catch (error: any) {
console.error('❌ API 调用失败!');
console.error('');
console.error('错误信息:');
console.error(` 类型: ${error.constructor.name}`);
console.error(` 消息: ${error.message}`);
if (error.response) {
console.error(` 状态码: ${error.response.status}`);
console.error(` 响应: ${JSON.stringify(error.response.data, null, 2)}`);
}
console.error('');
console.error('═══════════════════════════════════════════════════════════');
console.error(' ❌ 豆包 API 测试失败!');
console.error('═══════════════════════════════════════════════════════════');
return false;
}
}
// 执行测试
testDoubaoAPI()
.then((success) => {
process.exit(success ? 0 : 1);
})
.catch((error) => {
console.error('未预期的错误:', error);
process.exit(1);
});