Unified · Split
| @@ -79,10 +79,11 @@ func (e *KimiExecutor) Execute(ctx context.Context, auth *cliproxyauth.Auth, req · 78 unmodified lines | |||
| 79 | defer reporter.trackFailure(ctx, &err) | 79 | defer reporter.trackFailure(ctx, &err) |
| 80 | 80 | ||
| 81 | to := sdktranslator.FromString("openai") | 81 | to := sdktranslator.FromString("openai") |
| 82 | originalPayload := bytes.Clone(req.Payload) | 82 | originalPayloadSource := req.Payload |
| 83 | if len(opts.OriginalRequest) > 0 { | 83 | if len(opts.OriginalRequest) > 0 { |
| 84 | originalPayload = bytes.Clone(opts.OriginalRequest) | 84 | originalPayloadSource = opts.OriginalRequest |
| 85 | } | 85 | } |
| 86 | originalPayload := bytes.Clone(originalPayloadSource) | ||
| 86 | originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, false) | 87 | originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, false) |
| 87 | body := sdktranslator.TranslateRequest(from, to, baseModel, bytes.Clone(req.Payload), false) | 88 | body := sdktranslator.TranslateRequest(from, to, baseModel, bytes.Clone(req.Payload), false) |
| 88 | 89 | ||
| @@ -154,7 +155,7 @@ func (e *KimiExecutor) Execute(ctx context.Context, auth *cliproxyauth.Auth, req · 65 unmodified lines | |||
| 154 | var param any | 155 | var param any |
| 155 | // Note: TranslateNonStream uses req.Model (original with suffix) to preserve | 156 | // Note: TranslateNonStream uses req.Model (original with suffix) to preserve |
| 156 | // the original model name in the response for client compatibility. | 157 | // the original model name in the response for client compatibility. |
| 157 | out := sdktranslator.TranslateNonStream(ctx, to, from, req.Model, bytes.Clone(opts.OriginalRequest), body, data, ¶m) | 158 | out := sdktranslator.TranslateNonStream(ctx, to, from, req.Model, opts.OriginalRequest, body, data, ¶m) |
| 158 | resp = cliproxyexecutor.Response{Payload: []byte(out)} | 159 | resp = cliproxyexecutor.Response{Payload: []byte(out)} |
| 159 | return resp, nil | 160 | return resp, nil |
| 160 | } | 161 | } |
| @@ -174,10 +175,11 @@ func (e *KimiExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Aut · 13 unmodified lines | |||
| 174 | defer reporter.trackFailure(ctx, &err) | 175 | defer reporter.trackFailure(ctx, &err) |
| 175 | 176 | ||
| 176 | to := sdktranslator.FromString("openai") | 177 | to := sdktranslator.FromString("openai") |
| 177 | originalPayload := bytes.Clone(req.Payload) | 178 | originalPayloadSource := req.Payload |
| 178 | if len(opts.OriginalRequest) > 0 { | 179 | if len(opts.OriginalRequest) > 0 { |
| 179 | originalPayload = bytes.Clone(opts.OriginalRequest) | 180 | originalPayloadSource = opts.OriginalRequest |
| 180 | } | 181 | } |
| 182 | originalPayload := bytes.Clone(originalPayloadSource) | ||
| 181 | originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, true) | 183 | originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, true) |
| 182 | body := sdktranslator.TranslateRequest(from, to, baseModel, bytes.Clone(req.Payload), true) | 184 | body := sdktranslator.TranslateRequest(from, to, baseModel, bytes.Clone(req.Payload), true) |
| 183 | 185 | ||
| @@ -259,12 +261,12 @@ func (e *KimiExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Aut · 75 unmodified lines | |||
| 259 | if detail, ok := parseOpenAIStreamUsage(line); ok { | 261 | if detail, ok := parseOpenAIStreamUsage(line); ok { |
| 260 | reporter.publish(ctx, detail) | 262 | reporter.publish(ctx, detail) |
| 261 | } | 263 | } |
| 262 | chunks := sdktranslator.TranslateStream(ctx, to, from, req.Model, bytes.Clone(opts.OriginalRequest), body, bytes.Clone(line), ¶m) | 264 | chunks := sdktranslator.TranslateStream(ctx, to, from, req.Model, opts.OriginalRequest, body, bytes.Clone(line), ¶m) |
| 263 | for i := range chunks { | 265 | for i := range chunks { |
| 264 | out <- cliproxyexecutor.StreamChunk{Payload: []byte(chunks[i])} | 266 | out <- cliproxyexecutor.StreamChunk{Payload: []byte(chunks[i])} |
| 265 | } | 267 | } |
| 266 | } | 268 | } |
| 267 | doneChunks := sdktranslator.TranslateStream(ctx, to, from, req.Model, bytes.Clone(opts.OriginalRequest), body, bytes.Clone([]byte("[DONE]")), ¶m) | 269 | doneChunks := sdktranslator.TranslateStream(ctx, to, from, req.Model, opts.OriginalRequest, body, []byte("[DONE]"), ¶m) |
| 268 | for i := range doneChunks { | 270 | for i := range doneChunks { |
| 269 | out <- cliproxyexecutor.StreamChunk{Payload: []byte(doneChunks[i])} | 271 | out <- cliproxyexecutor.StreamChunk{Payload: []byte(doneChunks[i])} |
| 270 | } | 272 | } |