fix: Gemini streaming return being truncated by FinishReason. #1477
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
close #1408
close #1386
我已确认该 PR 已自测通过,相关截图如下:
(此处放上测试通过的截图,如果不涉及前端改动或从 UI 上无法看出,请放终端启动成功的截图)
理论上早期的版本应该没有返回FinishReason?所以流不会被截断。


但是在v0.6.7左右的版本修复stream流问题时这部分被修正了#1382,引入了FinishReason字段。涉及问题#1345、
#1328。
但是有个比较尴尬的地方在于,实际上Gemini的API本身就在每个流message中返回STOP(看起来跟早期的Gemini的表现不太一致,不知道为什么会出现这个问题)。
因为是流式返回,没法准确预知哪个是最后一条message,只能暂时去掉FinishReason字段了。
启动: