Propagate model through streamed responses

StreamAccumulator never set its model field, so
Response().Model was always empty for streamed
completions. Add a Model field to stream events
and populate it in all three providers (OpenAI,
Anthropic, Bedrock).

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-03-13 19:17:17 +01:00
parent 9e842b8ef3
commit 2df9a3fe59
5 changed files with 35 additions and 15 deletions

View File

@@ -508,7 +508,7 @@ func TestStreamAccumulator(t *testing.T) {
t.Parallel()
events := []llm.ChatCompletionStreamEvent{
{Delta: llm.MessageDelta{Content: "Hello"}},
{Model: "gpt-4o", Delta: llm.MessageDelta{Content: "Hello"}},
{Delta: llm.MessageDelta{Content: " world"}},
{Delta: llm.MessageDelta{
ToolCalls: []llm.ToolCallDelta{
@@ -537,6 +537,7 @@ func TestStreamAccumulator(t *testing.T) {
require.NoError(t, acc.Err())
resp := acc.Response()
assert.Equal(t, "gpt-4o", resp.Model)
assert.Equal(t, "Hello world", resp.Message.Text())
assert.Equal(t, llm.RoleAssistant, resp.Message.Role)
assert.Equal(t, llm.FinishReasonToolCalls, resp.FinishReason)