mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-04-29 12:11:26 +00:00
You API integration (#203)
* Ability to configure custom service * Add example preset templates, rename module * Custom service client impl * Add YOU API integration * Remove/ignore generated antlr classes * Remove text completion models(deprecated) * Remove unused code, fix settings state sync * Display model name/icon in the tool window * Update chat history UI * Fix model/service sync * Clear plugin state * Fix minor bugs, add settings sync tests * UI changes * Separate model configuration * Add support for overriding the completion path * Update Find Bugs prompt
This commit is contained in:
parent
a860054360
commit
37af74ebdf
125 changed files with 1673 additions and 1537 deletions
|
|
@ -2,9 +2,12 @@ package ee.carlrobert.codegpt.conversations;
|
|||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.Service;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.state.ModelSettingsState;
|
||||
import ee.carlrobert.openai.client.ClientCode;
|
||||
import ee.carlrobert.codegpt.settings.state.AzureSettingsState;
|
||||
import ee.carlrobert.codegpt.settings.state.OpenAISettingsState;
|
||||
import ee.carlrobert.codegpt.settings.state.SettingsState;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
|
|
@ -13,19 +16,16 @@ import java.util.Optional;
|
|||
import java.util.UUID;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ConversationService {
|
||||
@Service
|
||||
public final class ConversationService {
|
||||
|
||||
private static ConversationService instance;
|
||||
private final ConversationsState conversationState = ConversationsState.getInstance();
|
||||
|
||||
private ConversationService() {
|
||||
}
|
||||
|
||||
public static ConversationService getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new ConversationService();
|
||||
}
|
||||
return instance;
|
||||
return ApplicationManager.getApplication().getService(ConversationService.class);
|
||||
}
|
||||
|
||||
public List<Conversation> getSortedConversations() {
|
||||
|
|
@ -37,11 +37,18 @@ public class ConversationService {
|
|||
.collect(toList());
|
||||
}
|
||||
|
||||
public Conversation createConversation(ClientCode clientCode) {
|
||||
public Conversation createConversation(String clientCode) {
|
||||
var settings = SettingsState.getInstance();
|
||||
var conversation = new Conversation();
|
||||
conversation.setId(UUID.randomUUID());
|
||||
conversation.setClientCode(clientCode);
|
||||
conversation.setModel(ModelSettingsState.getInstance().getCompletionModel());
|
||||
if (settings.isUseYouService()) {
|
||||
conversation.setModel("YouCode");
|
||||
} else if (settings.isUseAzureService()) {
|
||||
conversation.setModel(AzureSettingsState.getInstance().getModel());
|
||||
} else {
|
||||
conversation.setModel(OpenAISettingsState.getInstance().getModel());
|
||||
}
|
||||
conversation.setCreatedOn(LocalDateTime.now());
|
||||
conversation.setUpdatedOn(LocalDateTime.now());
|
||||
return conversation;
|
||||
|
|
@ -107,9 +114,19 @@ public class ConversationService {
|
|||
conversationState.setCurrentConversation(conversation);
|
||||
}
|
||||
|
||||
private String getClientCode() {
|
||||
var settings = SettingsState.getInstance();
|
||||
if (settings.isUseOpenAIService()) {
|
||||
return "chat.completion";
|
||||
}
|
||||
if (settings.isUseAzureService()) {
|
||||
return "azure.chat.completion";
|
||||
}
|
||||
return "you.chat.completion";
|
||||
}
|
||||
|
||||
public Conversation startConversation() {
|
||||
var currentClientCode = ModelSettingsState.getInstance().isUseChatCompletion() ? ClientCode.CHAT_COMPLETION : ClientCode.TEXT_COMPLETION;
|
||||
var conversation = createConversation(currentClientCode);
|
||||
var conversation = createConversation(getClientCode());
|
||||
conversationState.setCurrentConversation(conversation);
|
||||
addConversation(conversation);
|
||||
return conversation;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue