letterm commited on
Commit
eaf7532
·
verified ·
1 Parent(s): 908c9f7

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +38 -7
index.js CHANGED
@@ -202,14 +202,45 @@ class TwitterGrokApiClient {
202
  }
203
 
204
  async transformMessages(messages) {
 
 
 
 
205
  const processedMessages = [];
206
- for (let i = 0; i < messages.length; i++) {
207
- const isLastTwoMessages = i >= messages.length - 2;
208
- const content = await this.processMessageContent(messages[i], isLastTwoMessages);
209
- if (content) {
210
- processedMessages.push(content);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  }
212
  }
 
 
 
 
 
 
 
 
 
 
 
 
213
  return processedMessages;
214
  }
215
 
@@ -228,7 +259,7 @@ class TwitterGrokApiClient {
228
 
229
  return {
230
  message,
231
- sender: role === 'user' ? 1 : 2,
232
  ...(role === 'user' && { fileAttachments })
233
  };
234
  }
@@ -539,7 +570,7 @@ app.post('/hf/v1/chat/completions', async (req, res) => {
539
 
540
  // 404 处理
541
  app.use((req, res) => {
542
- res.status(404).json({ error: '请求路径不存在' });
543
  });
544
 
545
  // 启动服务器
 
202
  }
203
 
204
  async transformMessages(messages) {
205
+ if (messages[0].role === 'assistant') {
206
+ throw new Error('ai不能是第一个消息');
207
+ }
208
+
209
  const processedMessages = [];
210
+ let currentMessage = null;
211
+
212
+ for (const msg of messages) {
213
+ const normalizedMsg = msg.role === 'system' ? { ...msg, role: 'user' } : msg;
214
+
215
+ if (!currentMessage || currentMessage.role !== normalizedMsg.role) {
216
+ if (currentMessage) {
217
+ const processedContent = await this.processMessageContent(
218
+ currentMessage,
219
+ processedMessages.length >= messages.length - 2
220
+ );
221
+ if (processedContent) {
222
+ processedMessages.push(processedContent);
223
+ }
224
+ }
225
+ currentMessage = normalizedMsg;
226
+ } else {
227
+ currentMessage.content = typeof currentMessage.content === 'string' && typeof normalizedMsg.content === 'string'
228
+ ? `${currentMessage.content}\n${normalizedMsg.content}`
229
+ : normalizedMsg.content;
230
  }
231
  }
232
+
233
+ // 处理最后一个消息
234
+ if (currentMessage) {
235
+ const processedContent = await this.processMessageContent(
236
+ currentMessage,
237
+ true
238
+ );
239
+ if (processedContent) {
240
+ processedMessages.push(processedContent);
241
+ }
242
+ }
243
+
244
  return processedMessages;
245
  }
246
 
 
259
 
260
  return {
261
  message,
262
+ sender: role === 'assistant' ? 2 : 1,
263
  ...(role === 'user' && { fileAttachments })
264
  };
265
  }
 
570
 
571
  // 404 处理
572
  app.use((req, res) => {
573
+ res.status(404).json({ message: '服务创建成功,正在运行' });
574
  });
575
 
576
  // 启动服务器