Add dummy reasoning_content for deepseek-reasoner tool calls #4857

9aff57c9c43d2b006709cc79f5e311659048abdd

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +24 -0Ignore whitespace
src/endpoints/backends/chat-completions.js+5 -0
@@ -44,6 +44,7 @@ import {
44 PROMPT_PROCESSING_TYPE,44 PROMPT_PROCESSING_TYPE,
45 addAssistantPrefix,45 addAssistantPrefix,
46 embedOpenRouterMedia,46 embedOpenRouterMedia,
47 addReasoningContentToToolCalls,
47} from '../../prompt-converters.js';48} from '../../prompt-converters.js';
4849
49import { readSecret, SECRET_KEYS } from '../secrets.js';50import { readSecret, SECRET_KEYS } from '../secrets.js';
@@ -981,6 +982,10 @@ async function sendDeepSeekRequest(request, response) {
981982
982 const processedMessages = addAssistantPrefix(postProcessPrompt(request.body.messages, PROMPT_PROCESSING_TYPE.SEMI_TOOLS, getPromptNames(request)), bodyParams.tools, 'prefix');983 const processedMessages = addAssistantPrefix(postProcessPrompt(request.body.messages, PROMPT_PROCESSING_TYPE.SEMI_TOOLS, getPromptNames(request)), bodyParams.tools, 'prefix');
983984
985 if (/-reasoner/.test(request.body.model)) {
986 addReasoningContentToToolCalls(processedMessages);
987 }
988
984 const requestBody = {989 const requestBody = {
985 'messages': processedMessages,990 'messages': processedMessages,
986 'model': request.body.model,991 'model': request.body.model,
src/prompt-converters.js+19 -0
@@ -1209,3 +1209,22 @@ export function embedOpenRouterMedia(messages) {
1209 }1209 }
1210 }1210 }
1211}1211}
1212
1213/**
1214 * Adds a dummy reasoning_content field to messages with tool calls for DeepSeek reasoner.
1215 * @param {object[]} messages Array of messages
1216 * @returns {void}
1217 */
1218export function addReasoningContentToToolCalls(messages) {
1219 if (!Array.isArray(messages)) {
1220 return;
1221 }
1222
1223 for (const message of messages) {
1224 if (!Array.isArray(message.tool_calls) || 'reasoning_content' in message) {
1225 continue;
1226 }
1227
1228 message.reasoning_content = '';
1229 }
1230}