mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-18 23:42:49 +00:00
feat: add gemini 2.5 pro model
This commit is contained in:
parent
1ec5e3ad58
commit
4247cbddfb
4 changed files with 26 additions and 23 deletions
|
|
@ -24,10 +24,7 @@ class CodeGPTProjectActivity : ProjectActivity {
|
|||
override suspend fun execute(project: Project) {
|
||||
EditorActionsUtil.refreshActions()
|
||||
|
||||
val settings = service<GeneralSettings>().state
|
||||
if (settings.selectedService == ServiceType.CODEGPT) {
|
||||
project.service<CodeGPTService>().syncUserDetailsAsync()
|
||||
}
|
||||
project.service<CodeGPTService>().syncUserDetailsAsync()
|
||||
|
||||
if (!ApplicationManager.getApplication().isUnitTestMode
|
||||
&& service<ConfigurationSettings>().state.checkForNewScreenshots
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ object CodeGPTAvailableModels {
|
|||
return when (pricingPlan) {
|
||||
null, ANONYMOUS -> listOf(
|
||||
CodeGPTModel("o3-mini", "o3-mini", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.5 Pro", "gemini-pro-2.5", Icons.Google, INDIVIDUAL),
|
||||
CodeGPTModel("Claude 3.7 Sonnet", "claude-3.7-sonnet", Icons.Anthropic, INDIVIDUAL),
|
||||
CodeGPTModel("DeepSeek R1", "deepseek-r1", Icons.DeepSeek, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.0 Flash", "gemini-flash-2.0", Icons.Google, ANONYMOUS),
|
||||
|
|
@ -25,22 +25,23 @@ object CodeGPTAvailableModels {
|
|||
|
||||
FREE -> listOf(
|
||||
CodeGPTModel("o3-mini", "o3-mini", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.5 Pro", "gemini-pro-2.5", Icons.Google, INDIVIDUAL),
|
||||
CodeGPTModel("Claude 3.7 Sonnet", "claude-3.7-sonnet", Icons.Anthropic, INDIVIDUAL),
|
||||
CodeGPTModel("DeepSeek R1", "deepseek-r1", Icons.DeepSeek, INDIVIDUAL),
|
||||
CodeGPTModel("DeepSeek V3", "deepseek-v3", Icons.DeepSeek, FREE),
|
||||
CodeGPTModel("Qwen 2.5 Coder (32B)", "qwen-2.5-32b-chat", Icons.Qwen, FREE),
|
||||
CodeGPTModel("Llama 3.1 (405B)", "llama-3.1-405b", Icons.Meta, FREE),
|
||||
CodeGPTModel("Gemini 2.0 Flash", "gemini-flash-2.0", Icons.Google, ANONYMOUS),
|
||||
CodeGPTModel("GPT-4o mini", "gpt-4o-mini", Icons.OpenAI, ANONYMOUS),
|
||||
)
|
||||
|
||||
INDIVIDUAL -> listOf(
|
||||
CodeGPTModel("o3-mini", "o3-mini", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("Claude 3.7 Sonnet", "claude-3.7-sonnet", Icons.Anthropic, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.5 Pro", "gemini-pro-2.5", Icons.Google, INDIVIDUAL),
|
||||
CodeGPTModel("DeepSeek R1", "deepseek-r1", Icons.DeepSeek, INDIVIDUAL),
|
||||
CodeGPTModel("DeepSeek V3", "deepseek-v3", Icons.DeepSeek, FREE),
|
||||
CodeGPTModel("Gemini 2.0 Flash", "gemini-flash-2.0", Icons.Google, ANONYMOUS),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -51,7 +52,7 @@ object CodeGPTAvailableModels {
|
|||
CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL),
|
||||
CodeGPTModel("GPT-4o mini", "gpt-4o-mini", Icons.OpenAI, ANONYMOUS),
|
||||
CodeGPTModel("Claude 3.7 Sonnet", "claude-3.7-sonnet", Icons.Anthropic, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 1.5 Pro", "gemini-pro-1.5", Icons.Google, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.5 Pro", "gemini-pro-2.5", Icons.Google, INDIVIDUAL),
|
||||
CodeGPTModel("Gemini 2.0 Flash", "gemini-flash-2.0", Icons.Google, ANONYMOUS),
|
||||
CodeGPTModel("Qwen 2.5 Coder (32B)", "qwen-2.5-32b-chat", Icons.Qwen, FREE),
|
||||
CodeGPTModel("Llama 3.1 (405B)", "llama-3.1-405b", Icons.Meta, FREE),
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import ee.carlrobert.codegpt.settings.GeneralSettings
|
|||
import ee.carlrobert.codegpt.settings.service.codegpt.CodeGPTUserDetailsNotifier.Companion.CODEGPT_USER_DETAILS_TOPIC
|
||||
import kotlinx.coroutines.*
|
||||
|
||||
@Service
|
||||
@Service(Service.Level.PROJECT)
|
||||
class CodeGPTService private constructor(val project: Project) {
|
||||
|
||||
private val serviceScope = CoroutineScope(SupervisorJob() + Dispatchers.Default)
|
||||
|
|
@ -22,22 +22,26 @@ class CodeGPTService private constructor(val project: Project) {
|
|||
|
||||
fun syncUserDetailsAsync(apiKey: String?) {
|
||||
serviceScope.launch {
|
||||
val userDetails = withContext(Dispatchers.IO) {
|
||||
if (apiKey.isNullOrEmpty()) null
|
||||
else CompletionClientProvider.getCodeGPTClient().getUserDetails(apiKey)
|
||||
}
|
||||
if (userDetails != null && userDetails.pricingPlan != null) {
|
||||
CODEGPT_USER_DETAILS.set(project, userDetails)
|
||||
if (!userDetails.fullName.isNullOrEmpty()) {
|
||||
service<GeneralSettings>().state.run {
|
||||
displayName = userDetails.fullName
|
||||
avatarBase64 = userDetails.avatarBase64 ?: ""
|
||||
try {
|
||||
val userDetails = withContext(Dispatchers.IO) {
|
||||
if (apiKey.isNullOrEmpty()) null
|
||||
else CompletionClientProvider.getCodeGPTClient().getUserDetails(apiKey)
|
||||
}
|
||||
if (userDetails != null && userDetails.pricingPlan != null) {
|
||||
CODEGPT_USER_DETAILS.set(project, userDetails)
|
||||
if (!userDetails.fullName.isNullOrEmpty()) {
|
||||
service<GeneralSettings>().state.run {
|
||||
displayName = userDetails.fullName
|
||||
avatarBase64 = userDetails.avatarBase64 ?: ""
|
||||
}
|
||||
}
|
||||
}
|
||||
project.messageBus
|
||||
.syncPublisher<CodeGPTUserDetailsNotifier>(CODEGPT_USER_DETAILS_TOPIC)
|
||||
.userDetailsObtained(userDetails)
|
||||
} catch (ex: Exception) {
|
||||
// ignore
|
||||
}
|
||||
project.messageBus
|
||||
.syncPublisher<CodeGPTUserDetailsNotifier>(CODEGPT_USER_DETAILS_TOPIC)
|
||||
.userDetailsObtained(userDetails)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -277,6 +277,7 @@ class UserInputPanel(
|
|||
return when (service<GeneralSettings>().state.selectedService) {
|
||||
ServiceType.CUSTOM_OPENAI,
|
||||
ServiceType.ANTHROPIC,
|
||||
ServiceType.GOOGLE,
|
||||
ServiceType.AZURE,
|
||||
ServiceType.OLLAMA -> true
|
||||
|
||||
|
|
@ -284,7 +285,7 @@ class UserInputPanel(
|
|||
listOf(
|
||||
"gpt-4o",
|
||||
"gpt-4o-mini",
|
||||
"gemini-pro-1.5",
|
||||
"gemini-pro-2.5",
|
||||
"claude-3-opus",
|
||||
"claude-3.5-sonnet",
|
||||
"claude-3.7-sonnet"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue