Reopen plugin's source code (1.10.8 → 2.0.5)

This commit is contained in:
Carl-Robert Linnupuu 2023-08-25 16:36:22 +03:00
parent faf02a5c0a
commit 26a3e07360
231 changed files with 88014 additions and 4271 deletions

View file

@ -1,14 +1,16 @@
package ee.carlrobert.codegpt;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.Service;
import com.knuddels.jtokkit.Encodings;
import com.knuddels.jtokkit.api.Encoding;
import com.knuddels.jtokkit.api.EncodingRegistry;
import ee.carlrobert.codegpt.state.settings.SettingsState;
import ee.carlrobert.codegpt.settings.SettingsState;
import ee.carlrobert.openai.client.completion.chat.request.ChatCompletionMessage;
public class EncodingManager {
@Service
public final class EncodingManager {
private static final EncodingManager instance = new EncodingManager();
private final EncodingRegistry registry = Encodings.newDefaultEncodingRegistry();
private Encoding encoding;
@ -18,7 +20,7 @@ public class EncodingManager {
}
public static EncodingManager getInstance() {
return instance;
return ApplicationManager.getApplication().getService(EncodingManager.class);
}
public void setEncoding(String modelName) {
@ -29,4 +31,8 @@ public class EncodingManager {
var tokensPerMessage = 4; // every message follows <|start|>{role/name}\n{content}<|end|>\n
return encoding.countTokens(message.getRole() + message.getContent()) + tokensPerMessage;
}
public int countTokens(String text) {
return encoding.countTokens(text);
}
}