feat: add gpt-4o model (closes #547)

This commit is contained in:
Carl-Robert Linnupuu 2024-05-14 00:01:33 +03:00
parent ab7d06608d
commit de3db77755
4 changed files with 16 additions and 6 deletions

View file

@ -84,6 +84,7 @@ public class ModelComboBoxAction extends ComboBoxAction {
actionGroup.addAll(getCodeGPTModelActions(presentation));
actionGroup.addSeparator("OpenAI");
List.of(
OpenAIChatCompletionModel.GPT_4_O,
OpenAIChatCompletionModel.GPT_4_VISION_PREVIEW,
OpenAIChatCompletionModel.GPT_4_0125_128k,
OpenAIChatCompletionModel.GPT_3_5_0125_16k)

View file

@ -3,6 +3,7 @@ package ee.carlrobert.codegpt.toolwindow.chat.ui.textarea;
import static ee.carlrobert.codegpt.settings.service.ServiceType.ANTHROPIC;
import static ee.carlrobert.codegpt.settings.service.ServiceType.OLLAMA;
import static ee.carlrobert.codegpt.settings.service.ServiceType.OPENAI;
import static ee.carlrobert.llm.client.openai.completion.OpenAIChatCompletionModel.GPT_4_O;
import static ee.carlrobert.llm.client.openai.completion.OpenAIChatCompletionModel.GPT_4_VISION_PREVIEW;
import com.intellij.icons.AllIcons;
@ -191,17 +192,24 @@ public class UserPromptTextArea extends JPanel {
handleSubmit();
}
}));
var selectedService = GeneralSettings.getSelectedService();
if (selectedService == ANTHROPIC
|| selectedService == OLLAMA
|| (selectedService == OPENAI
&& GPT_4_VISION_PREVIEW.getCode().equals(OpenAISettings.getCurrentState().getModel()))) {
if (isImageActionSupported()) {
iconsPanel.add(new IconActionButton(new AttachImageAction()));
}
iconsPanel.add(stopButton);
add(iconsPanel, BorderLayout.EAST);
}
private boolean isImageActionSupported() {
var selectedService = GeneralSettings.getSelectedService();
if (selectedService == ANTHROPIC || selectedService == OLLAMA) {
return true;
}
var model = OpenAISettings.getCurrentState().getModel();
return selectedService == OPENAI && (
GPT_4_VISION_PREVIEW.getCode().equals(model) || GPT_4_O.getCode().equals(model));
}
private void updateFont() {
if (Registry.is("ide.find.use.editor.font", false)) {
textArea.setFont(EditorUtil.getEditorFont());