Skip to content

Commit 699cc0a

Browse files
committed
fix(llm-provider): correct initial message check and add document listener #271
- Modify CustomLLMProvider to check for empty messages instead of systemPrompt length. - Add DocumentListener to update values in LLMSettingComponent for JsonText and JsonPath fields.
1 parent 5a6aa36 commit 699cc0a

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

core/src/main/kotlin/cc/unitmesh/devti/llms/custom/CustomLLMProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class CustomLLMProvider(val project: Project, var llmConfig: LlmConfig = LlmConf
4343
keepHistory: Boolean,
4444
usePlanForFirst: Boolean
4545
): Flow<String> {
46-
if (usePlanForFirst && systemPrompt.length == 1 && LlmConfig.load(ModelType.Plan).isNotEmpty()) {
46+
if (usePlanForFirst && messages.isEmpty() && LlmConfig.load(ModelType.Plan).isNotEmpty()) {
4747
llmConfig = LlmConfig.load(ModelType.Plan).first()
4848
}
4949

core/src/main/kotlin/cc/unitmesh/devti/settings/LLMSettingComponent.kt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import cc.unitmesh.devti.settings.locale.LanguageChangedCallback
88
import cc.unitmesh.devti.settings.locale.LanguageChangedCallback.jBLabel
99
import com.intellij.lang.Language
1010
import com.intellij.openapi.editor.Document
11+
import com.intellij.openapi.editor.event.DocumentEvent
12+
import com.intellij.openapi.editor.event.DocumentListener
1113
import com.intellij.openapi.project.Project
1214
import com.intellij.openapi.project.ProjectManager
1315
import com.intellij.psi.PsiFile
@@ -84,18 +86,25 @@ class LLMSettingComponent(private val settings: AutoDevSettingsState) {
8486
LLMParam.ParamType.JsonText -> {
8587
formBuilder.addLabeledComponent(jBLabel(this.label), cc.unitmesh.devti.provider.local.JsonLanguageField(
8688
project, this.value, AutoDevBundle.messageWithLanguageFromLLMSetting(this.label), null, true
87-
), 1, false)
89+
).apply {
90+
addDocumentListener(object: DocumentListener {
91+
override fun documentChanged(event: DocumentEvent) {
92+
this@addToFormBuilder.value = this@apply.document.text
93+
}
94+
})
95+
}, 1, false)
8896
}
8997

9098
LLMParam.ParamType.JsonPath -> {
91-
formBuilder.addLabeledComponent(jBLabel(this.label), LanguageTextField(
92-
Language.findLanguageByID("JSONPath"), project, value,
93-
object : SimpleDocumentCreator() {
94-
override fun createDocument(value: String?, language: Language?, project: Project?): Document {
95-
return LanguageTextField.createDocument(value, language, project, this)
99+
formBuilder.addLabeledComponent(jBLabel(this.label), LanguageTextField(
100+
Language.findLanguageByID("JSONPath"), project, value
101+
).apply {
102+
addDocumentListener(object: DocumentListener {
103+
override fun documentChanged(event: DocumentEvent) {
104+
this@addToFormBuilder.value = this@apply.document.text
96105
}
97-
}
98-
), 1, false)
106+
})
107+
}, 1, false)
99108
}
100109

101110
LLMParam.ParamType.ComboBox -> {

0 commit comments

Comments
 (0)