fix bug:support streaming mode content start with "data:" #12171
+3
−3
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.
Summary
When deploying LLM with ms-swift, the streaming data returned does not consistently start with "data: ". Specifically, the data does not include a leading space after "data:". This inconsistency stems from the pull request #11272 return failed,the version of Dify before 0.13.0 is ok. To address this, my code has been updated to support both formats: "data:" and "data: "
streaming content e.g.
"data:{"model": "my-llm", "choices": [{"index": 0, "delta": {"role": "assistant", "content": "Hello! How ", "tool_calls": null}, "finish_reason": null, "logprobs": null}], "usage": {"prompt_tokens": 30, "completion_tokens": 7, "total_tokens": 37}, "id": "chatcmpl-d802c95d766a41a5bf9491aafdba2b36", "object": "chat.completion.chunk", "created": 1735303124}"
Fixes #12143
Screenshots
Before
After
Checklist
Important
Please review the checklist below before submitting your pull request.
dev/reformat
(backend) andcd web && npx lint-staged
(frontend) to appease the lint gods