Commit 5316c3ca by Archer Committed by GitHub

perf: adapt reason text (#6812)

parent 331d44aa
...@@ -115,6 +115,14 @@ export const chats2GPTMessages = ({ ...@@ -115,6 +115,14 @@ export const chats2GPTMessages = ({
const hasTools = Array.isArray(value.tools) && value.tools.length > 0; const hasTools = Array.isArray(value.tools) && value.tools.length > 0;
if (typeof value.reasoning?.content === 'string') {
aiResults.push({
dataId,
role: ChatCompletionRequestMessageRoleEnum.Assistant,
reasoning_content: value.reasoning.content
});
}
if (reserveTool && (hasTools || value.tool)) { if (reserveTool && (hasTools || value.tool)) {
const tools = hasTools ? value.tools! : [value.tool!]; const tools = hasTools ? value.tools! : [value.tool!];
const tool_calls: ChatCompletionMessageToolCall[] = []; const tool_calls: ChatCompletionMessageToolCall[] = [];
...@@ -134,13 +142,25 @@ export const chats2GPTMessages = ({ ...@@ -134,13 +142,25 @@ export const chats2GPTMessages = ({
content: tool.response || '' content: tool.response || ''
}); });
}); });
aiResults.push({
dataId, const lastResult = aiResults[aiResults.length - 1];
role: ChatCompletionRequestMessageRoleEnum.Assistant, if (
tool_calls lastResult &&
}); lastResult.role === ChatCompletionRequestMessageRoleEnum.Assistant &&
lastResult.reasoning_content
) {
lastResult.tool_calls = tool_calls;
} else {
aiResults.push({
dataId,
role: ChatCompletionRequestMessageRoleEnum.Assistant,
tool_calls
});
}
aiResults.push(...toolResponse); aiResults.push(...toolResponse);
} else if (typeof value.text?.content === 'string') { }
if (typeof value.text?.content === 'string') {
if (!value.text.content && item.value.length > 1) { if (!value.text.content && item.value.length > 1) {
return; return;
} }
...@@ -151,6 +171,8 @@ export const chats2GPTMessages = ({ ...@@ -151,6 +171,8 @@ export const chats2GPTMessages = ({
typeof lastResult?.content === 'string' typeof lastResult?.content === 'string'
) { ) {
lastResult.content += value.text.content; lastResult.content += value.text.content;
} else if (lastResult.reasoning_content) {
lastResult.content = value.text.content;
} else { } else {
aiResults.push({ aiResults.push({
dataId, dataId,
...@@ -158,7 +180,8 @@ export const chats2GPTMessages = ({ ...@@ -158,7 +180,8 @@ export const chats2GPTMessages = ({
content: value.text.content content: value.text.content
}); });
} }
} else if (value.plan) { }
if (value.plan) {
// 查找该 Plan 产生的上下文,组成一个 toolcall // 查找该 Plan 产生的上下文,组成一个 toolcall
// 需要跨所有历史消息收集同 planId 的 values(ask 信息可能在之前的 AI 消息中) // 需要跨所有历史消息收集同 planId 的 values(ask 信息可能在之前的 AI 消息中)
const planId = value.plan.planId; const planId = value.plan.planId;
...@@ -195,7 +218,8 @@ export const chats2GPTMessages = ({ ...@@ -195,7 +218,8 @@ export const chats2GPTMessages = ({
tool_call_id: planId, tool_call_id: planId,
content: planResponseText content: planResponseText
}); });
} else if (value.interactive) { }
if (value.interactive) {
// 目前只有 plan 里会有交互,所以这里暂时不需要处理 // 目前只有 plan 里会有交互,所以这里暂时不需要处理
} }
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment