File tree Expand file tree Collapse file tree 1 file changed +15
-19
lines changed Expand file tree Collapse file tree 1 file changed +15
-19
lines changed Original file line number Diff line number Diff line change @@ -657,26 +657,22 @@ func (w *ChatWriter) writeResponse(data []byte) (int, error) {
657657
658658 // chat chunk
659659 if w .stream {
660- c := toChunk (w .id , chatResponse )
661- if w .streamUsage {
662- c .Usage = & nullChunkUsage
663- }
664- if w .finished {
665- // we've already finished the chat, usually for tool calls, so do
666- // not continue to send empty choices.
667- c .Choices = nil
668- } else if len (c .Choices ) > 0 && c .Choices [0 ].FinishReason != nil {
669- w .finished = true
670- }
671- d , err := json .Marshal (c )
672- if err != nil {
673- return 0 , err
674- }
660+ // If we've already finished, don't send any more chunks with choices.
661+ if ! w .finished {
662+ c := toChunk (w .id , chatResponse )
663+ if w .streamUsage {
664+ c .Usage = & nullChunkUsage
665+ }
666+ d , err := json .Marshal (c )
667+ if err != nil {
668+ return 0 , err
669+ }
675670
676- w .ResponseWriter .Header ().Set ("Content-Type" , "text/event-stream" )
677- _ , err = w .ResponseWriter .Write ([]byte (fmt .Sprintf ("data: %s\n \n " , d )))
678- if err != nil {
679- return 0 , err
671+ w .ResponseWriter .Header ().Set ("Content-Type" , "text/event-stream" )
672+ _ , err = w .ResponseWriter .Write ([]byte (fmt .Sprintf ("data: %s\n \n " , d )))
673+ if err != nil {
674+ return 0 , err
675+ }
680676 }
681677
682678 if chatResponse .Done {
You can’t perform that action at this time.
0 commit comments