Merge pull request #3 from SolarifyDev/deepseek-r1-clean-assistant-content

Deepseek r1 clean assistant content
This commit is contained in:
MonesyH 2025-02-18 17:15:28 +08:00 committed by GitHub
commit e65a33d801
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 8 deletions

View File

@ -85,7 +85,7 @@ async function request(req: NextRequest) {
fetchOptions.body = clonedBody; fetchOptions.body = clonedBody;
const jsonBody = JSON.parse(clonedBody) as { model?: string }; const jsonBody = JSON.parse(clonedBody) as { model?: string };
console.log(jsonBody);
// not undefined and is false // not undefined and is false
if ( if (
isModelNotavailableInServer( isModelNotavailableInServer(

View File

@ -65,13 +65,24 @@ export class DeepSeekApi implements LLMApi {
async chat(options: ChatOptions) { async chat(options: ChatOptions) {
const messages: ChatOptions["messages"] = []; const messages: ChatOptions["messages"] = [];
for (const v of options.messages) { if (options.config.model === "deepseek-reasoner") {
if (v.role === "assistant") { // Only take the last message
const content = getMessageTextContentWithoutThinking(v); const lastMessage = options.messages[options.messages.length - 1];
messages.push({ role: v.role, content }); const content =
} else { lastMessage.role === "assistant"
const content = getMessageTextContent(v); ? getMessageTextContentWithoutThinking(lastMessage)
messages.push({ role: v.role, content }); : getMessageTextContent(lastMessage);
messages.push({ role: lastMessage.role, content });
} else {
// Process all messages
for (const v of options.messages) {
if (v.role === "assistant") {
const content = getMessageTextContentWithoutThinking(v);
messages.push({ role: v.role, content });
} else {
const content = getMessageTextContent(v);
messages.push({ role: v.role, content });
}
} }
} }