fix: OpenAI edit code request building (fixes #737)

This commit is contained in:
Carl-Robert Linnupuu 2024-10-16 15:17:03 +03:00
parent e65aaf4519
commit eeea789c56
4 changed files with 13 additions and 6 deletions

View file

@ -5,11 +5,16 @@ import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import ee.carlrobert.codegpt.Icons
import ee.carlrobert.codegpt.ui.EditCodePopover
import javax.swing.Icon
class EditCodeAction : BaseEditorAction(Icons.Sparkle) {
open class EditCodeAction(icon: Icon) : BaseEditorAction(icon) {
override fun actionPerformed(project: Project, editor: Editor, selectedText: String) {
runInEdt {
EditCodePopover(editor).show()
}
}
}
class EditCodeFloatingMenuAction : EditCodeAction(Icons.DefaultSmall)
class EditCodeContextMenuAction : EditCodeAction(Icons.Sparkle)

View file

@ -31,7 +31,7 @@ interface CompletionRequestFactory {
abstract class BaseRequestFactory : CompletionRequestFactory {
override fun createEditCodeRequest(params: EditCodeRequestParameters): CompletionRequest {
val prompt = "${params.prompt}\n\n${params.selectedText}"
val prompt = "Code to modify:\n${params.selectedText}\n\nInstructions: ${params.prompt}"
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, prompt, 8192, true)
}

View file

@ -50,10 +50,11 @@ class OpenAIRequestFactory : CompletionRequestFactory {
override fun createEditCodeRequest(params: EditCodeRequestParameters): OpenAIChatCompletionRequest {
val model = service<OpenAISettings>().state.model
val prompt = "Code to modify:\n${params.selectedText}\n\nInstructions: ${params.prompt}"
if (model == "o1-mini" || model == "o1-preview") {
return buildBasicO1Request(model, params.prompt, EDIT_CODE_SYSTEM_PROMPT)
return buildBasicO1Request(model, prompt, EDIT_CODE_SYSTEM_PROMPT)
}
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, params.prompt, model, true)
return createBasicCompletionRequest(EDIT_CODE_SYSTEM_PROMPT, prompt, model, true)
}
override fun createCommitMessageRequest(params: CommitMessageRequestParameters): OpenAIChatCompletionRequest {

View file

@ -99,9 +99,10 @@
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift I" replace-all="true"/>
</action>
<action
id="CodeGPT.EditCode"
id="CodeGPT.ContextMenuEditCodeAction"
text="Edit Code"
class="ee.carlrobert.codegpt.actions.editor.EditCodeAction">
description="Edit code in natural language"
class="ee.carlrobert.codegpt.actions.editor.EditCodeContextMenuAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift K" replace-all="true"/>
</action>
<action