dan92 commited on
Commit
53be646
·
verified ·
1 Parent(s): 97552f6

Upload index.js

Browse files
Files changed (1) hide show
  1. index.js +15 -5
index.js CHANGED
@@ -416,15 +416,15 @@ class MessageProcessor {
416
  };
417
  }
418
 
 
 
 
419
  return {
420
  ...baseResponse,
421
  object: 'chat.completion',
422
  choices: [{
423
  index: 0,
424
- message: {
425
- role: 'assistant',
426
- content: message
427
- },
428
  finish_reason: 'stop'
429
  }],
430
  usage: null
@@ -509,6 +509,7 @@ async function handleNormalResponse(response, model, res) {
509
 
510
  try {
511
  const responseText = await response.text();
 
512
  const lines = responseText.split('\n');
513
 
514
  for (const line of lines) {
@@ -517,33 +518,42 @@ async function handleNormalResponse(response, model, res) {
517
  const data = line.slice(6);
518
  if (data === '[DONE]') continue;
519
  let linejosn = JSON.parse(data);
 
 
520
  if (linejosn.response === "token") {
521
  const token = linejosn.token;
522
  if (token && token.length > 0) {
523
  fullResponse += token;
524
  }
525
  } else if (linejosn.response === "modelResponse" && model === 'grok-latest-image') {
 
526
  if (linejosn?.modelResponse?.generatedImageUrls) {
527
  imageUrl = linejosn.modelResponse.generatedImageUrls;
 
528
  }
529
  }
530
  }
531
 
532
  if (imageUrl) {
 
533
  const dataImage = await handleImageResponse(imageUrl);
 
534
  fullResponse = [{
535
  type: "image_url",
536
  image_url: {
537
  url: dataImage
538
  }
539
- }]
 
540
  const responseData = MessageProcessor.createChatResponse(fullResponse, model);
541
  res.json(responseData);
542
  } else {
 
543
  const responseData = MessageProcessor.createChatResponse(fullResponse, model);
544
  res.json(responseData);
545
  }
546
  } catch (error) {
 
547
  Utils.handleError(error, res);
548
  }
549
  }
 
416
  };
417
  }
418
 
419
+ // 检查message是否为数组(图片响应的情况)
420
+ const messageContent = Array.isArray(message) ? message : { role: 'assistant', content: message };
421
+
422
  return {
423
  ...baseResponse,
424
  object: 'chat.completion',
425
  choices: [{
426
  index: 0,
427
+ message: Array.isArray(message) ? { role: 'assistant', content: message } : messageContent,
 
 
 
428
  finish_reason: 'stop'
429
  }],
430
  usage: null
 
509
 
510
  try {
511
  const responseText = await response.text();
512
+ console.log('原始响应文本:', responseText);
513
  const lines = responseText.split('\n');
514
 
515
  for (const line of lines) {
 
518
  const data = line.slice(6);
519
  if (data === '[DONE]') continue;
520
  let linejosn = JSON.parse(data);
521
+ console.log('解析的JSON数据:', linejosn);
522
+
523
  if (linejosn.response === "token") {
524
  const token = linejosn.token;
525
  if (token && token.length > 0) {
526
  fullResponse += token;
527
  }
528
  } else if (linejosn.response === "modelResponse" && model === 'grok-latest-image') {
529
+ console.log('检测到图片响应:', linejosn.modelResponse);
530
  if (linejosn?.modelResponse?.generatedImageUrls) {
531
  imageUrl = linejosn.modelResponse.generatedImageUrls;
532
+ console.log('获取到图片URL:', imageUrl);
533
  }
534
  }
535
  }
536
 
537
  if (imageUrl) {
538
+ console.log('开始处理图片URL:', imageUrl);
539
  const dataImage = await handleImageResponse(imageUrl);
540
+ console.log('处理后的图片数据:', dataImage.substring(0, 100) + '...');
541
  fullResponse = [{
542
  type: "image_url",
543
  image_url: {
544
  url: dataImage
545
  }
546
+ }];
547
+ console.log('最终的响应对象:', JSON.stringify(fullResponse));
548
  const responseData = MessageProcessor.createChatResponse(fullResponse, model);
549
  res.json(responseData);
550
  } else {
551
+ console.log('没有图片URL,返回文本响应:', fullResponse);
552
  const responseData = MessageProcessor.createChatResponse(fullResponse, model);
553
  res.json(responseData);
554
  }
555
  } catch (error) {
556
+ console.error('处理响应时发生错误:', error);
557
  Utils.handleError(error, res);
558
  }
559
  }