mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-13 23:53:02 +00:00
Support you.com gpt-4 model (#233)
This commit is contained in:
parent
0343842af9
commit
21fa61d2af
18 changed files with 311 additions and 168 deletions
|
|
@ -1,5 +1,7 @@
|
|||
package ee.carlrobert.codegpt.completions;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import ee.carlrobert.codegpt.completions.you.YouUserManager;
|
||||
import ee.carlrobert.codegpt.conversations.Conversation;
|
||||
import ee.carlrobert.codegpt.conversations.message.Message;
|
||||
import ee.carlrobert.codegpt.settings.state.AzureSettingsState;
|
||||
|
|
@ -20,6 +22,8 @@ import org.jetbrains.annotations.Nullable;
|
|||
|
||||
public class CompletionRequestHandler {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(CompletionRequestHandler.class);
|
||||
|
||||
private final StringBuilder messageBuilder = new StringBuilder();
|
||||
private SwingWorker<Void, String> swingWorker;
|
||||
private EventSource eventSource;
|
||||
|
|
@ -77,8 +81,21 @@ public class CompletionRequestHandler {
|
|||
|
||||
try {
|
||||
if (settings.isUseYouService()) {
|
||||
return CompletionClientProvider.getYouClient("", "")
|
||||
.getChatCompletion(requestProvider.buildYouCompletionRequest(message), eventListener);
|
||||
var sessionId = "";
|
||||
var accessToken = "";
|
||||
var youUserManager = YouUserManager.getInstance();
|
||||
if (youUserManager.isAuthenticated()) {
|
||||
var authenticationResponse =
|
||||
youUserManager.getAuthenticationResponse().getData();
|
||||
sessionId = authenticationResponse.getSession().getSessionId();
|
||||
accessToken = authenticationResponse.getSessionJwt();
|
||||
}
|
||||
var request = requestProvider.buildYouCompletionRequest(message);
|
||||
LOG.info("Initiating completion request using model: " +
|
||||
(request.isUseGPT4Model() ? "GPT-4" : "YouBot"));
|
||||
|
||||
return CompletionClientProvider.getYouClient(sessionId, accessToken)
|
||||
.getChatCompletion(request, eventListener);
|
||||
}
|
||||
|
||||
if (settings.isUseAzureService()) {
|
||||
|
|
@ -130,8 +147,8 @@ public class CompletionRequestHandler {
|
|||
message,
|
||||
isRetry,
|
||||
settings.isUseYouService() ?
|
||||
getYouCompletionEventListener() :
|
||||
getCompletionEventListener());
|
||||
new BaseCompletionEventListener() :
|
||||
new YouRequestCompletionEventListener());
|
||||
} catch (TotalUsageExceededException e) {
|
||||
if (tokensExceededListener != null) {
|
||||
tokensExceededListener.run();
|
||||
|
|
@ -152,66 +169,41 @@ public class CompletionRequestHandler {
|
|||
}
|
||||
}
|
||||
|
||||
private CompletionEventListener getCompletionEventListener() {
|
||||
return new CompletionEventListener() {
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
publish(message);
|
||||
}
|
||||
class BaseCompletionEventListener implements CompletionEventListener {
|
||||
|
||||
@Override
|
||||
public void onComplete(StringBuilder messageBuilder) {
|
||||
if (completedListener != null) {
|
||||
completedListener.accept(messageBuilder.toString());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
publish(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorDetails error, Throwable ex) {
|
||||
try {
|
||||
if (errorListener != null) {
|
||||
errorListener.accept(error, ex);
|
||||
}
|
||||
} finally {
|
||||
sendError(error, ex);
|
||||
}
|
||||
@Override
|
||||
public void onComplete(StringBuilder messageBuilder) {
|
||||
if (completedListener != null) {
|
||||
completedListener.accept(messageBuilder.toString());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorDetails error, Throwable ex) {
|
||||
try {
|
||||
if (errorListener != null) {
|
||||
errorListener.accept(error, ex);
|
||||
}
|
||||
} finally {
|
||||
sendError(error, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Refactor
|
||||
private YouCompletionEventListener getYouCompletionEventListener() {
|
||||
return new YouCompletionEventListener() {
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
publish(message);
|
||||
}
|
||||
class YouRequestCompletionEventListener extends BaseCompletionEventListener
|
||||
implements YouCompletionEventListener {
|
||||
|
||||
@Override
|
||||
public void onComplete(StringBuilder messageBuilder) {
|
||||
if (completedListener != null) {
|
||||
completedListener.accept(messageBuilder.toString());
|
||||
}
|
||||
@Override
|
||||
public void onSerpResults(List<YouSerpResult> results) {
|
||||
if (serpResultsListener != null) {
|
||||
serpResultsListener.accept(results);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(ErrorDetails error, Throwable ex) {
|
||||
try {
|
||||
if (errorListener != null) {
|
||||
errorListener.accept(error, ex);
|
||||
}
|
||||
} finally {
|
||||
sendError(error, ex);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSerpResults(List<YouSerpResult> results) {
|
||||
if (serpResultsListener != null) {
|
||||
serpResultsListener.accept(results);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private void sendInfo(SettingsState settings) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue