Skip to content

Commit 3c4f670

Browse files
committed
兼容r1的参数优化项
1 parent c8b5aa3 commit 3c4f670

File tree

1 file changed

+37
-9
lines changed

1 file changed

+37
-9
lines changed

src/deepseekApi.ts

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,27 +87,55 @@ export async function callDeepSeekApi(
8787
outputChannel.show();
8888
}
8989

90+
let fullResponse = '';
91+
let maxAttempts = 5;
92+
let attempts = 0;
93+
let maxToken = 1024 * 8;
94+
let temperature = 0;
95+
96+
let systemPromot : OpenAI.ChatCompletionMessageParam = {role : "system", content: systemContent};
97+
98+
if (modelName.includes('r')) {
99+
temperature = 0.6;
100+
systemPromot = {role : "user", content: systemContent};
101+
}
102+
90103
// 构造消息体
91104
let messages_body: OpenAI.ChatCompletionMessageParam[] = [];
92105
if (Array.isArray(userContent)) {
93-
messages_body.push({ role: 'system', content: systemContent });
106+
if (systemPromot.role === 'user') {
107+
userContent[0].content = systemPromot.content + "\n\n" + userContent[0].content;
108+
}
109+
else{
110+
messages_body.push(systemPromot);
111+
}
112+
113+
{
114+
const role = (userContent[0].role === 'user') ? 'user' : 'assistant';
115+
messages_body.push({ role, content: userContent[0].content });
116+
}
117+
94118
// 如果 userContent 是数组,按交替方式生成消息
95-
for (let i = 0; i < userContent.length; i++) {
119+
for (let i = 1; i < userContent.length; i++) {
96120
const role = (userContent[i].role === 'user') ? 'user' : 'assistant';
97121
messages_body.push({ role, content: userContent[i].content });
98122
}
99123
} else {
124+
125+
if (systemPromot.role === 'user') {
126+
userContent = systemPromot.content + "\n\n" + userContent;
127+
}
128+
else{
129+
messages_body.push(systemPromot);
130+
}
131+
100132
// 如果是单个字符串,默认是 'user' 角色
101133
messages_body = [
102-
{ role: 'system', content: systemContent },
134+
systemPromot,
103135
{ role: 'user', content: userContent },
104136
];
105137
}
106138

107-
let fullResponse = '';
108-
let maxAttempts = 5;
109-
let attempts = 0;
110-
111139
vscode.window.showInformationMessage('开始上传DeepSeek API');
112140

113141
while (attempts < maxAttempts) {
@@ -116,8 +144,8 @@ export async function callDeepSeekApi(
116144
model: modelName,
117145
messages: messages_body,
118146
stream: streamMode,
119-
max_tokens: 8192,
120-
temperature: 0
147+
max_tokens: maxToken,
148+
temperature: temperature
121149
});
122150
let thinking = false;
123151

0 commit comments

Comments
 (0)