Skip to content

Commit 16df789

Browse files
fix: set response model from actual response body in image generation and remove streaming as its not supported
Signed-off-by: Hrushikesh Patil <[email protected]>
1 parent 6d9bfa2 commit 16df789

File tree

1 file changed

+3
-14
lines changed

1 file changed

+3
-14
lines changed

internal/extproc/imagegeneration_processor.go

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,6 @@ func (i *imageGenerationProcessorRouterFilter) ProcessRequestBody(ctx context.Co
109109
return nil, fmt.Errorf("failed to parse request body: %w", err)
110110
}
111111

112-
// OpenAI SDK doesn't expose a generic Stream flag for image generation; keep false for now.
113-
isStreamingRequest := false
114-
115112
i.requestHeaders[internalapi.ModelNameHeaderKeyDefault] = model
116113

117114
var additionalHeaders []*corev3.HeaderValueOption
@@ -122,20 +119,14 @@ func (i *imageGenerationProcessorRouterFilter) ProcessRequestBody(ctx context.Co
122119
Header: &corev3.HeaderValue{Key: originalPathHeader, RawValue: []byte(i.requestHeaders[":path"])},
123120
})
124121

125-
// Add streaming indicator header for downstream processing
126-
if isStreamingRequest {
127-
additionalHeaders = append(additionalHeaders, &corev3.HeaderValueOption{
128-
Header: &corev3.HeaderValue{Key: "x-ai-eg-streaming", RawValue: []byte("true")},
129-
})
130-
}
131-
132122
i.originalRequestBody = body
133123
i.originalRequestBodyRaw = rawBody.Body
134124

135125
// Tracing may need to inject headers, so create a header mutation here.
136126
headerMutation := &extprocv3.HeaderMutation{
137127
SetHeaders: additionalHeaders,
138128
}
129+
139130
i.span = i.tracer.StartSpanAndInjectHeaders(
140131
ctx,
141132
i.requestHeaders,
@@ -190,9 +181,6 @@ func (i *imageGenerationProcessorUpstreamFilter) selectTranslator(out filterapi.
190181
switch out.Name {
191182
case filterapi.APISchemaOpenAI:
192183
i.translator = translator.NewImageGenerationOpenAIToOpenAITranslator(out.Version, i.modelNameOverride, i.span)
193-
case filterapi.APISchemaAWSBedrock:
194-
// i.translator = translator.NewImageGenerationOpenAIToAWSBedrockTranslator(i.modelNameOverride)
195-
i.translator = nil // Placeholder
196184
default:
197185
return fmt.Errorf("unsupported API schema: backend=%s", out)
198186
}
@@ -219,7 +207,6 @@ func (i *imageGenerationProcessorUpstreamFilter) ProcessRequestHeaders(ctx conte
219207
// Set the request model for metrics from the original model or override if applied.
220208
reqModel := cmp.Or(i.requestHeaders[internalapi.ModelNameHeaderKeyDefault], i.originalRequestBody.Model)
221209
i.metrics.SetRequestModel(reqModel)
222-
i.metrics.SetResponseModel(reqModel)
223210

224211
// We force the body mutation in the following cases:
225212
// * The request is a retry request because the body mutation might have happened the previous iteration.
@@ -421,6 +408,8 @@ func (i *imageGenerationProcessorUpstreamFilter) ProcessResponseBody(ctx context
421408
// Update metrics with token usage (input/output only per OTEL spec).
422409
i.metrics.RecordTokenUsage(ctx, tokenUsage.InputTokens, tokenUsage.OutputTokens, i.requestHeaders)
423410

411+
i.metrics.SetResponseModel(imageMetadata.Model)
412+
424413
// Record image generation metrics
425414
i.metrics.RecordImageGeneration(ctx, imageMetadata.ImageCount, imageMetadata.Model, imageMetadata.Size, i.requestHeaders)
426415

0 commit comments

Comments
 (0)