fix: 补齐兼容推理型模型——content空时取reasoning尾部答案,max_tokens提到2000

This commit is contained in:
Hermes Agent
2026-09-19 18:58:39 +08:00
parent 1d742dc6dd
commit acca4fe379
+9 -3
View File
@@ -1199,11 +1199,17 @@ router.post('/trends/fill-plain', requirePermission('trend:write'), async (req,
const r = await fetch(model.apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${model.apiKey}` },
body: JSON.stringify({ model: model.modelId, messages: [{ role: 'user', content: prompt }], max_tokens: 300, temperature: 0.5 }),
signal: AbortSignal.timeout(60_000),
body: JSON.stringify({ model: model.modelId, messages: [{ role: 'user', content: prompt }], max_tokens: 2000, temperature: 0.5 }),
signal: AbortSignal.timeout(90_000),
})
const j = await r.json()
const text = String(j?.choices?.[0]?.message?.content || '').trim()
const msg = j?.choices?.[0]?.message
// 推理型模型(flash-lite 系)正式答案在 content;思考占满时兜底取 reasoning 尾部
let text = String(msg?.content || '').trim()
if (!text && msg?.reasoning) {
const tail = String(msg.reasoning).split('\n').filter(Boolean).pop() || ''
text = tail.replace(/^["'“”]+|["'“”]+$/g, '').trim()
}
const lines = text.split('\n').map(x => x.replace(/^(人话|对你)[::]?\s*/, '').trim()).filter(Boolean)
if (lines.length >= 2) {
await Trend.updateOne({ _id: t._id }, { plainExplain: lines[0].slice(0, 60), takeAway: lines[1].slice(0, 60) })