mirror of
https://github.com/idootop/mi-gpt.git
synced 2024-09-20 06:45:38 +00:00
misc: polish first batch submit logic
This commit is contained in:
parent
7f464aa9cb
commit
af7fedc079
|
@ -104,7 +104,8 @@ export class StreamResponse {
|
||||||
private _chunks: string[] = [];
|
private _chunks: string[] = [];
|
||||||
private _tempText = "";
|
private _tempText = "";
|
||||||
private _remainingText: string = "";
|
private _remainingText: string = "";
|
||||||
private _preSubmitTimestamp = 0;
|
private _isFirstSubmit = true;
|
||||||
|
|
||||||
private _submitCount = 0;
|
private _submitCount = 0;
|
||||||
private _batchSubmitImmediately() {
|
private _batchSubmitImmediately() {
|
||||||
if (this._tempText) {
|
if (this._tempText) {
|
||||||
|
@ -121,18 +122,19 @@ export class StreamResponse {
|
||||||
*/
|
*/
|
||||||
private _batchSubmit(text: string) {
|
private _batchSubmit(text: string) {
|
||||||
this._tempText += text;
|
this._tempText += text;
|
||||||
const isFirstSubmit = this._preSubmitTimestamp === 0;
|
if (this._isFirstSubmit) {
|
||||||
if (isFirstSubmit) {
|
this._isFirstSubmit = false;
|
||||||
this._preSubmitTimestamp = Date.now();
|
// 达到首次消息收集时长后,批量提交消息
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 当消息长度积攒到一定长度,或达到一定时间间隔后,批量提交消息
|
if (this._submitCount < 1) {
|
||||||
if (
|
|
||||||
this._tempText.length > this.maxSentenceLength ||
|
|
||||||
Date.now() - this._preSubmitTimestamp > this.firstSubmitTimeout
|
|
||||||
) {
|
|
||||||
this._batchSubmitImmediately();
|
this._batchSubmitImmediately();
|
||||||
}
|
}
|
||||||
}, this.firstSubmitTimeout);
|
}, this.firstSubmitTimeout);
|
||||||
|
} else if (this._submitCount < 1) {
|
||||||
|
// 当首次消息积攒到一定长度后,也批量提交消息
|
||||||
|
if (this._tempText.length > this.maxSentenceLength) {
|
||||||
|
this._batchSubmitImmediately();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,6 @@ async function testSpeakerStreamResponse(speaker: AISpeaker) {
|
||||||
`地球在赤道处稍微膨胀,而在极地处稍微收缩,最终形成一个近似于球体的形状。因此,地球是圆的`
|
`地球在赤道处稍微膨胀,而在极地处稍微收缩,最终形成一个近似于球体的形状。因此,地球是圆的`
|
||||||
);
|
);
|
||||||
await add(`主要原因是由于地球的引力和自转共同作用所致。`);
|
await add(`主要原因是由于地球的引力和自转共同作用所致。`);
|
||||||
await sleep(10 * 1000);
|
|
||||||
console.log("finished!");
|
console.log("finished!");
|
||||||
stream.finish();
|
stream.finish();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user