| | |
| | | isTalking.value = !isTalking.value; |
| | | }); |
| | | }; |
| | | |
| | | let streamOutputIsStart = false; |
| | | let position: Position = null; |
| | | const questionAi = async (text) => { |
| | | let judgeParams = null; |
| | |
| | | params, |
| | | (chunkRes) => { |
| | | Logger.info('chunk response:\n\n' + JSON.stringify(chunkRes)); |
| | | |
| | | if (chunkRes.mode === 'result') { |
| | | lastIsResult = true; |
| | | const res = chunkRes.value; |
| | |
| | | const lastGroup = computedMessageList.value.at(-1).stepGroup[0]; |
| | | const stepList = lastGroup?.value ?? []; |
| | | const currentTimeStamp = new Date().getTime(); |
| | | const ms = toMyFixed(currentTimeStamp - lastTimestamp, 2) + ' ms'; |
| | | if (chunkRes.mode === 'finish') { |
| | | const ms = toMyFixed(currentTimeStamp - lastTimestamp, 2) + ' ms'; |
| | | stepList.at(-1).ms = ms; |
| | | isTalking.value = false; |
| | | streamOutputIsStart = false; |
| | | return; |
| | | } |
| | | |
| | | if (stepList?.length >= 1) { |
| | | const ms = toMyFixed(currentTimeStamp - lastTimestamp, 2) + ' ms'; |
| | | |
| | | stepList.at(-1).ms = ms; |
| | | } else { |
| | | const stepGroup = computedMessageList.value.at(-1).stepGroup; |
| | | if (stepGroup.length > 1) { |
| | | const lastStepList = stepGroup.at(-2).value; |
| | | const ms = toMyFixed(currentTimeStamp - lastTimestamp, 2) + ' ms'; |
| | | |
| | | lastStepList.at(-1).ms = ms; |
| | | } |
| | | } |
| | | lastTimestamp = currentTimeStamp; |
| | | const stepItem = convertProcessItem(chunkRes); |
| | | |
| | | stepList.push(stepItem); |
| | | if (!streamOutputIsStart) { |
| | | const stepItem = convertProcessItem(chunkRes); |
| | | stepList.push(stepItem); |
| | | } else { |
| | | const lastItem = stepList.at(-1); |
| | | lastItem.title += chunkRes.value ?? ''; |
| | | } |
| | | |
| | | if (chunkRes.mode === 'begin_stream') { |
| | | streamOutputIsStart = true; |
| | | } |
| | | if (chunkRes.mode === 'end_stream') { |
| | | streamOutputIsStart = false; |
| | | } |
| | | |
| | | // 强制触发更新 |
| | | |
| | | scrollToBottom(); |