(streamResponse dto.ChatCompletionsStreamResponse, responseTextBuilder *strings.Builder, toolCount *int)
| 42 | } |
| 43 | |
| 44 | func ProcessStreamResponse(streamResponse dto.ChatCompletionsStreamResponse, responseTextBuilder *strings.Builder, toolCount *int) error { |
| 45 | for _, choice := range streamResponse.Choices { |
| 46 | responseTextBuilder.WriteString(choice.Delta.GetContentString()) |
| 47 | responseTextBuilder.WriteString(choice.Delta.GetReasoningContent()) |
| 48 | if choice.Delta.ToolCalls != nil { |
| 49 | if len(choice.Delta.ToolCalls) > *toolCount { |
| 50 | *toolCount = len(choice.Delta.ToolCalls) |
| 51 | } |
| 52 | for _, tool := range choice.Delta.ToolCalls { |
| 53 | responseTextBuilder.WriteString(tool.Function.Name) |
| 54 | responseTextBuilder.WriteString(tool.Function.Arguments) |
| 55 | } |
| 56 | } |
| 57 | } |
| 58 | return nil |
| 59 | } |
| 60 | |
| 61 | func processTokens(relayMode int, streamItems []string, responseTextBuilder *strings.Builder, toolCount *int) error { |
| 62 | streamResp := "[" + strings.Join(streamItems, ",") + "]" |
no test coverage detected