feat: image support for Custom OpenAI provider (#649)

This commit is contained in:
Carl-Robert Linnupuu 2024-08-19 01:17:52 +03:00
parent 53693f3326
commit 2ddcde1363
2 changed files with 33 additions and 39 deletions

View file

@ -1,15 +1,7 @@
package ee.carlrobert.codegpt.settings.service;
import static ee.carlrobert.llm.client.openai.completion.OpenAIChatCompletionModel.GPT_4_O;
import static ee.carlrobert.llm.client.openai.completion.OpenAIChatCompletionModel.GPT_4_O_MINI;
import static ee.carlrobert.llm.client.openai.completion.OpenAIChatCompletionModel.GPT_4_VISION_PREVIEW;
import com.intellij.openapi.application.ApplicationManager;
import ee.carlrobert.codegpt.CodeGPTBundle;
import ee.carlrobert.codegpt.settings.service.codegpt.CodeGPTServiceSettings;
import ee.carlrobert.codegpt.settings.service.openai.OpenAISettings;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public enum ServiceType {
@ -64,34 +56,4 @@ public enum ServiceType {
}
return serviceType;
}
public boolean isImageActionSupported() {
return switch (this) {
case ANTHROPIC:
case OLLAMA:
yield true;
case CODEGPT:
var codegptModel = ApplicationManager.getApplication()
.getService(CodeGPTServiceSettings.class)
.getState()
.getChatCompletionSettings()
.getModel();
yield List.of(
"gpt-4o",
"gpt-4o-mini",
"claude-3-opus",
"claude-3.5-sonnet"
).contains(codegptModel);
case OPENAI:
var openaiModel = ApplicationManager.getApplication().getService(OpenAISettings.class)
.getState()
.getModel();
yield List.of(
GPT_4_VISION_PREVIEW.getCode(),
GPT_4_O.getCode(),
GPT_4_O_MINI.getCode()).contains(openaiModel);
default:
yield false;
};
}
}