Skip to content

Commit

Permalink
fix: empty msg
Browse files Browse the repository at this point in the history
  • Loading branch information
c121914yu committed Mar 20, 2024
1 parent 4dd5114 commit 0d76e53
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions packages/service/core/chat/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@ import axios from 'axios';
import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants';

/* slice chat context by tokens */
const filterEmptyMessages = (messages: ChatCompletionMessageParam[]) => {
return messages.filter((item) => {
if (item.role === ChatCompletionRequestMessageRoleEnum.System) return !!item.content;
if (item.role === ChatCompletionRequestMessageRoleEnum.User) return !!item.content;
if (item.role === ChatCompletionRequestMessageRoleEnum.Assistant)
return !!item.content || !!item.function_call || !!item.tool_calls;
return true;
});
};
export function filterGPTMessageByMaxTokens({
messages = [],
maxTokens
Expand Down Expand Up @@ -38,7 +47,7 @@ export function filterGPTMessageByMaxTokens({

// If the text length is less than half of the maximum token, no calculation is required
if (rawTextLen < maxTokens * 0.5) {
return messages.filter((item) => !!item.content);
return filterEmptyMessages(messages);
}

// filter startWith system prompt
Expand Down Expand Up @@ -81,7 +90,7 @@ export function filterGPTMessageByMaxTokens({
}
}

return [...systemPrompts, ...chats].filter((item) => !!item.content);
return filterEmptyMessages([...systemPrompts, ...chats]);
}
export const formatGPTMessagesInRequestBefore = (messages: ChatCompletionMessageParam[]) => {
return messages
Expand Down

0 comments on commit 0d76e53

Please sign in to comment.