mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-12 14:10:29 +00:00
refactor: remove custom Azure service configuration
This commit is contained in:
parent
42105bf308
commit
c0c02d9afb
9 changed files with 31 additions and 144 deletions
|
|
@ -1,7 +1,5 @@
|
|||
package ee.carlrobert.codegpt.completions;
|
||||
|
||||
import static java.lang.String.format;
|
||||
|
||||
import ee.carlrobert.codegpt.CodeGPTPlugin;
|
||||
import ee.carlrobert.codegpt.completions.you.YouUserManager;
|
||||
import ee.carlrobert.codegpt.credentials.AnthropicCredentialsManager;
|
||||
|
|
@ -47,14 +45,9 @@ public class CompletionClientProvider {
|
|||
settings.getResourceName(),
|
||||
settings.getDeploymentId(),
|
||||
settings.getApiVersion());
|
||||
var builder = new AzureClient
|
||||
.Builder(AzureCredentialsManager.getInstance().getCredential(), params)
|
||||
.setActiveDirectoryAuthentication(settings.isUseAzureActiveDirectoryAuthentication());
|
||||
var baseHost = settings.getBaseHost();
|
||||
if (baseHost != null) {
|
||||
builder.setUrl(format(baseHost, params.getResourceName()));
|
||||
}
|
||||
return builder.build(getDefaultClientBuilder());
|
||||
return new AzureClient.Builder(AzureCredentialsManager.getInstance().getCredential(), params)
|
||||
.setActiveDirectoryAuthentication(settings.isUseAzureActiveDirectoryAuthentication())
|
||||
.build(getDefaultClientBuilder());
|
||||
}
|
||||
|
||||
public static YouClient getYouClient() {
|
||||
|
|
|
|||
|
|
@ -177,21 +177,13 @@ public class CompletionRequestProvider {
|
|||
|
||||
public OpenAIChatCompletionRequest buildOpenAIChatCompletionRequest(
|
||||
@Nullable String model,
|
||||
CallParameters callParameters,
|
||||
@Nullable String overriddenPath) {
|
||||
CallParameters callParameters) {
|
||||
var configuration = ConfigurationSettings.getCurrentState();
|
||||
var builder = new OpenAIChatCompletionRequest.Builder(
|
||||
buildMessages(model, callParameters))
|
||||
return new OpenAIChatCompletionRequest.Builder(buildMessages(model, callParameters))
|
||||
.setModel(model)
|
||||
.setMaxTokens(configuration.getMaxTokens())
|
||||
.setStream(true)
|
||||
.setTemperature(configuration.getTemperature());
|
||||
|
||||
if (overriddenPath != null) {
|
||||
builder.setOverriddenPath(overriddenPath);
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
.setTemperature(configuration.getTemperature()).build();
|
||||
}
|
||||
|
||||
public Request buildCustomOpenAIChatCompletionRequest(
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ import ee.carlrobert.codegpt.credentials.OpenAICredentialManager;
|
|||
import ee.carlrobert.codegpt.settings.GeneralSettings;
|
||||
import ee.carlrobert.codegpt.settings.configuration.ConfigurationSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.anthropic.AnthropicSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.azure.AzureSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.custom.CustomServiceSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.llama.LlamaSettings;
|
||||
import ee.carlrobert.codegpt.settings.service.openai.OpenAISettings;
|
||||
|
|
@ -64,35 +63,22 @@ public final class CompletionRequestService {
|
|||
CompletionEventListener<String> eventListener) {
|
||||
var requestProvider = new CompletionRequestProvider(callParameters.getConversation());
|
||||
return switch (GeneralSettings.getCurrentState().getSelectedService()) {
|
||||
case OPENAI -> {
|
||||
var openAISettings = OpenAISettings.getCurrentState();
|
||||
yield CompletionClientProvider.getOpenAIClient().getChatCompletionAsync(
|
||||
requestProvider.buildOpenAIChatCompletionRequest(
|
||||
openAISettings.getModel(),
|
||||
callParameters,
|
||||
null),
|
||||
eventListener);
|
||||
}
|
||||
case CUSTOM_OPENAI -> {
|
||||
var customConfiguration = CustomServiceSettings.getCurrentState();
|
||||
yield getCustomOpenAIChatCompletionAsync(
|
||||
requestProvider.buildCustomOpenAIChatCompletionRequest(
|
||||
customConfiguration,
|
||||
callParameters),
|
||||
eventListener);
|
||||
}
|
||||
case OPENAI -> CompletionClientProvider.getOpenAIClient().getChatCompletionAsync(
|
||||
requestProvider.buildOpenAIChatCompletionRequest(
|
||||
OpenAISettings.getCurrentState().getModel(),
|
||||
callParameters),
|
||||
eventListener);
|
||||
case CUSTOM_OPENAI -> getCustomOpenAIChatCompletionAsync(
|
||||
requestProvider.buildCustomOpenAIChatCompletionRequest(
|
||||
CustomServiceSettings.getCurrentState(),
|
||||
callParameters),
|
||||
eventListener);
|
||||
case ANTHROPIC -> CompletionClientProvider.getClaudeClient().getCompletionAsync(
|
||||
requestProvider.buildAnthropicChatCompletionRequest(callParameters),
|
||||
eventListener);
|
||||
case AZURE -> {
|
||||
var azureSettings = AzureSettings.getCurrentState();
|
||||
yield CompletionClientProvider.getAzureClient().getChatCompletionAsync(
|
||||
requestProvider.buildOpenAIChatCompletionRequest(
|
||||
null,
|
||||
callParameters,
|
||||
azureSettings.isUsingCustomPath() ? azureSettings.getPath() : null),
|
||||
eventListener);
|
||||
}
|
||||
case AZURE -> CompletionClientProvider.getAzureClient().getChatCompletionAsync(
|
||||
requestProvider.buildOpenAIChatCompletionRequest(null, callParameters),
|
||||
eventListener);
|
||||
case YOU -> CompletionClientProvider.getYouClient().getChatCompletionAsync(
|
||||
requestProvider.buildYouCompletionRequest(callParameters.getMessage()),
|
||||
eventListener);
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ public class AzureSettingsForm {
|
|||
private final JBRadioButton useAzureActiveDirectoryAuthenticationRadioButton;
|
||||
private final JBPasswordField azureActiveDirectoryTokenField;
|
||||
private final JPanel azureActiveDirectoryTokenFieldPanel;
|
||||
private final JBTextField azureBaseHostField;
|
||||
private final JBTextField azurePathField;
|
||||
private final JBTextField azureResourceNameField;
|
||||
private final JBTextField azureDeploymentIdField;
|
||||
private final JBTextField azureApiVersionField;
|
||||
|
|
@ -52,8 +50,6 @@ public class AzureSettingsForm {
|
|||
.withLabel(CodeGPTBundle.get("settingsConfigurable.service.azure.bearerToken.label"))
|
||||
.resizeX(false)
|
||||
.createPanel();
|
||||
azureBaseHostField = new JBTextField(settings.getBaseHost(), 35);
|
||||
azurePathField = new JBTextField(settings.getPath(), 35);
|
||||
azureResourceNameField = new JBTextField(settings.getResourceName(), 35);
|
||||
azureDeploymentIdField = new JBTextField(settings.getDeploymentId(), 35);
|
||||
azureApiVersionField = new JBTextField(settings.getApiVersion(), 35);
|
||||
|
|
@ -95,12 +91,6 @@ public class AzureSettingsForm {
|
|||
.resizeX(false)
|
||||
.withComment(CodeGPTBundle.get(
|
||||
"settingsConfigurable.service.azure.apiVersion.comment")))
|
||||
.add(UI.PanelFactory.panel(azureBaseHostField)
|
||||
.withLabel(CodeGPTBundle.get("settingsConfigurable.shared.baseHost.label"))
|
||||
.resizeX(false))
|
||||
.add(UI.PanelFactory.panel(azurePathField)
|
||||
.withLabel(CodeGPTBundle.get("settingsConfigurable.shared.path.label"))
|
||||
.resizeX(false))
|
||||
.createPanel());
|
||||
|
||||
return FormBuilder.createFormBuilder()
|
||||
|
|
@ -122,8 +112,6 @@ public class AzureSettingsForm {
|
|||
state.setResourceName(azureResourceNameField.getText());
|
||||
state.setDeploymentId(azureDeploymentIdField.getText());
|
||||
state.setApiVersion(azureApiVersionField.getText());
|
||||
state.setBaseHost(azureBaseHostField.getText());
|
||||
state.setPath(azurePathField.getText());
|
||||
return state;
|
||||
}
|
||||
|
||||
|
|
@ -138,8 +126,6 @@ public class AzureSettingsForm {
|
|||
azureResourceNameField.setText(state.getResourceName());
|
||||
azureDeploymentIdField.setText(state.getDeploymentId());
|
||||
azureApiVersionField.setText(state.getApiVersion());
|
||||
azureBaseHostField.setText(state.getBaseHost());
|
||||
azurePathField.setText(state.getPath());
|
||||
}
|
||||
|
||||
public @Nullable String getActiveDirectoryToken() {
|
||||
|
|
|
|||
|
|
@ -1,25 +1,15 @@
|
|||
package ee.carlrobert.codegpt.settings.service.azure;
|
||||
|
||||
import com.intellij.util.xmlb.annotations.Transient;
|
||||
import java.util.Objects;
|
||||
|
||||
public class AzureSettingsState {
|
||||
|
||||
private static final String BASE_PATH = "/openai/deployments/%s/chat/completions?api-version=%s";
|
||||
|
||||
private String resourceName = "";
|
||||
private String deploymentId = "";
|
||||
private String apiVersion = "";
|
||||
private String baseHost = "https://%s.openai.azure.com";
|
||||
private String path = BASE_PATH;
|
||||
private boolean useAzureApiKeyAuthentication = true;
|
||||
private boolean useAzureActiveDirectoryAuthentication;
|
||||
|
||||
@Transient
|
||||
public boolean isUsingCustomPath() {
|
||||
return !BASE_PATH.equals(path);
|
||||
}
|
||||
|
||||
public String getResourceName() {
|
||||
return resourceName;
|
||||
}
|
||||
|
|
@ -44,22 +34,6 @@ public class AzureSettingsState {
|
|||
this.apiVersion = apiVersion;
|
||||
}
|
||||
|
||||
public String getBaseHost() {
|
||||
return baseHost;
|
||||
}
|
||||
|
||||
public void setBaseHost(String baseHost) {
|
||||
this.baseHost = baseHost;
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
public void setPath(String path) {
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public boolean isUseAzureApiKeyAuthentication() {
|
||||
return useAzureApiKeyAuthentication;
|
||||
}
|
||||
|
|
@ -90,14 +64,12 @@ public class AzureSettingsState {
|
|||
&& useAzureActiveDirectoryAuthentication == that.useAzureActiveDirectoryAuthentication
|
||||
&& Objects.equals(resourceName, that.resourceName)
|
||||
&& Objects.equals(deploymentId, that.deploymentId)
|
||||
&& Objects.equals(apiVersion, that.apiVersion)
|
||||
&& Objects.equals(baseHost, that.baseHost)
|
||||
&& Objects.equals(path, that.path);
|
||||
&& Objects.equals(apiVersion, that.apiVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(resourceName, deploymentId, apiVersion, baseHost, path,
|
||||
useAzureApiKeyAuthentication, useAzureActiveDirectoryAuthentication);
|
||||
return Objects.hash(resourceName, deploymentId, apiVersion, useAzureApiKeyAuthentication,
|
||||
useAzureActiveDirectoryAuthentication);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue