Support seamless chat experience - GPT-3.5 (#68)

This commit is contained in:
Carl-Robert Linnupuu 2023-04-16 15:05:12 +01:00
parent 36caef792d
commit f4be55b213
12 changed files with 191 additions and 40 deletions

View file

@ -12,7 +12,6 @@ import ee.carlrobert.codegpt.state.settings.SettingsState;
import ee.carlrobert.openai.client.ClientCode;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
@ -33,6 +32,8 @@ public class ConversationsState implements PersistentStateComponent<Conversation
@OptionTag(converter = ConversationConverter.class)
public Conversation currentConversation;
public boolean discardAllTokenLimits;
public static ConversationsState getInstance() {
return ApplicationManager.getApplication().getService(ConversationsState.class);
}
@ -48,6 +49,10 @@ public class ConversationsState implements PersistentStateComponent<Conversation
XmlSerializerUtil.copyBean(state, this);
}
public void discardAllTokenLimits() {
this.discardAllTokenLimits = true;
}
public void setCurrentConversation(@Nullable Conversation conversation) {
this.currentConversation = conversation;
}
@ -160,13 +165,4 @@ public class ConversationsState implements PersistentStateComponent<Conversation
nextConversation.ifPresent(this::setCurrentConversation);
}
public Optional<Conversation> getConversation(UUID conversationId) {
return conversationsContainer.getConversationsMapping()
.values()
.stream()
.flatMap(Collection::stream)
.filter(item -> item.getId().equals(conversationId))
.findFirst();
}
}