Add reasoning streaming

This commit is contained in:
dwrz
2026-06-26 18:03:43 +00:00
parent 42f27f3f6b
commit d21ed0dd4d
3 changed files with 55 additions and 10 deletions

View File

@@ -585,6 +585,8 @@ type StreamMessage struct {
Error string `json:"error,omitempty"`
// Delta is a text fragment from the assistant response.
Delta string `json:"delta,omitempty"`
// ReasoningDelta is a reasoning text fragment from the assistant response.
ReasoningDelta string `json:"reasoning_delta,omitempty"`
// Message is the chat completion message.
Message *llm.Message `json:"message,omitempty"`
// Provider is the LLM provider used for the response.
@@ -709,9 +711,10 @@ func (svc *Service) chatStream(w http.ResponseWriter, r *http.Request) {
// Consume events and send as SSE.
for evt := range events {
msg := StreamMessage{
Delta: evt.Delta,
Provider: provider,
Model: model,
Delta: evt.Delta,
ReasoningDelta: evt.ReasoningDelta,
Provider: provider,
Model: model,
}
if evt.Message.Role != "" {
msg.Message = &evt.Message