deepseek reasoner

Closes #3322
This commit is contained in:
Cohee
2025-01-20 23:31:40 +02:00
parent d87b925488
commit d7bb92be54
5 changed files with 77 additions and 22 deletions

View File

@@ -61,6 +61,7 @@ const API_DEEPSEEK = 'https://api.deepseek.com/beta';
* @returns
*/
function postProcessPrompt(messages, type, names) {
const addAssistantPrefix = x => x.length && (x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true)) ? x : x;
switch (type) {
case 'merge':
case 'claude':
@@ -70,7 +71,9 @@ function postProcessPrompt(messages, type, names) {
case 'strict':
return mergeMessages(messages, names, true, true);
case 'deepseek':
return (x => x.length && (x[x.length - 1].role !== 'assistant' || (x[x.length - 1].prefix = true)) ? x : x)(mergeMessages(messages, names, true, false));
return addAssistantPrefix(mergeMessages(messages, names, true, false));
case 'deepseek-reasoner':
return addAssistantPrefix(mergeMessages(messages, names, true, true));
default:
return messages;
}
@@ -965,7 +968,8 @@ router.post('/generate', jsonParser, function (request, response) {
bodyParams['logprobs'] = true;
}
request.body.messages = postProcessPrompt(request.body.messages, 'deepseek', getPromptNames(request));
const postProcessType = String(request.body.model).endsWith('-reasoner') ? 'deepseek-reasoner' : 'deepseek';
request.body.messages = postProcessPrompt(request.body.messages, postProcessType, getPromptNames(request));
} else {
console.log('This chat completion source is not supported yet.');
return response.status(400).send({ error: true });