diff --git a/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter.go b/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter.go index b3aa19fb..7f834584 100644 --- a/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter.go +++ b/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter.go @@ -28,6 +28,7 @@ type LMStudioLargeLanguageModelAdapter struct { // LMStudioChatRequest defines the structure of LM Studio chat request type LMStudioChatRequest struct { Model string `json:"model"` + Stream bool `json:"stream"` SystemPrompt string `json:"system_prompt,omitempty"` Input []*LMStudioChatRequestInput `json:"input"` } @@ -100,8 +101,9 @@ func (p *LMStudioLargeLanguageModelAdapter) buildJsonRequestBody(c core.Context, } chatRequest := &LMStudioChatRequest{ - Model: p.LMStudioModelID, - Input: make([]*LMStudioChatRequestInput, 0, 1), + Model: p.LMStudioModelID, + Stream: request.Stream, + Input: make([]*LMStudioChatRequestInput, 0, 1), } if request.SystemPrompt != "" { diff --git a/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter_test.go b/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter_test.go index 8b3cab50..22c2a34c 100644 --- a/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter_test.go +++ b/pkg/llm/provider/lmstudio/lm_studio_large_language_model_adapter_test.go @@ -27,7 +27,7 @@ func TestLMStudioLargeLanguageModelAdapter_buildJsonRequestBody_TextualUserPromp err = json.Unmarshal(bodyBytes, &body) assert.Nil(t, err) - assert.Equal(t, "{\"model\":\"test\",\"system_prompt\":\"You are a helpful assistant.\",\"input\":[{\"type\":\"text\",\"content\":\"Hello, how are you?\"}]}", string(bodyBytes)) + assert.Equal(t, "{\"model\":\"test\",\"stream\":false,\"system_prompt\":\"You are a helpful assistant.\",\"input\":[{\"type\":\"text\",\"content\":\"Hello, how are you?\"}]}", string(bodyBytes)) } func TestLMStudioLargeLanguageModelAdapter_buildJsonRequestBody_ImageUserPrompt(t *testing.T) { @@ -49,7 +49,7 @@ func TestLMStudioLargeLanguageModelAdapter_buildJsonRequestBody_ImageUserPrompt( err = json.Unmarshal(bodyBytes, &body) assert.Nil(t, err) - assert.Equal(t, "{\"model\":\"test\",\"system_prompt\":\"What's in this image?\",\"input\":[{\"type\":\"image\",\"data_url\":\"data:image/png;base64,ZmFrZWRhdGE=\"}]}", string(bodyBytes)) + assert.Equal(t, "{\"model\":\"test\",\"stream\":false,\"system_prompt\":\"What's in this image?\",\"input\":[{\"type\":\"image\",\"data_url\":\"data:image/png;base64,ZmFrZWRhdGE=\"}]}", string(bodyBytes)) } func TestLMStudioLargeLanguageModelAdapter_ParseTextualResponse_ValidJsonResponse(t *testing.T) {