Skip to content

Commit 47795d1

Browse files
authored
Merge pull request #759 from jaginn/regional-inference-config
Regional inference config
2 parents e455401 + a8e2c43 commit 47795d1

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

src/main/java/com/devoxx/genie/chatmodel/cloud/bedrock/BedrockModelFactory.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,18 @@ public Region getRegion() {
203203
private @NotNull String getModelId(String modelName) {
204204
Region userProvidedRegion = getRegion();
205205
String strRegion = userProvidedRegion.toString().toLowerCase();
206-
if (strRegion.startsWith("eu")) {
207-
return "eu." + modelName;
208-
} else if (strRegion.startsWith("ap")) {
209-
return "apac." + modelName;
210-
} else {
211-
return "us." + modelName;
206+
String strPrefix = "";
207+
208+
if (DevoxxGenieStateService.getInstance().getShouldEnableAWSRegionalInference()) {
209+
if (strRegion.startsWith("eu")) {
210+
strPrefix = "eu.";
211+
} else if (strRegion.startsWith("ap")) {
212+
strPrefix = "apac.";
213+
} else if (strRegion.startsWith("us")) {
214+
strPrefix = "us.";
215+
}
212216
}
217+
218+
return strPrefix + modelName;
213219
}
214220
}

src/main/java/com/devoxx/genie/service/models/LLMModelRegistryService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,18 @@ private void addBedrockModels() {
838838
.inputMaxTokens(200_000)
839839
.build());
840840

841+
// Anthropic - Claude 3.5 Sonnet v2 - anthropic.claude-3-5-sonnet-20241022-v2:0
842+
String claude3dot5v2 = "anthropic.claude-3-5-sonnet-20241022-v2:0";
843+
models.put(ModelProvider.Bedrock.getName() + ":" + claude3dot5v2,
844+
LanguageModel.builder()
845+
.provider(ModelProvider.Bedrock)
846+
.modelName(claude3dot5v2)
847+
.displayName("Claude 3.5 Sonnet v2")
848+
.inputCost(3)
849+
.outputCost(15)
850+
.inputMaxTokens(200_000)
851+
.build());
852+
841853
// Anthropic - Claude 3.5 Sonnet - anthropic.claude-3-5-sonnet-20240620-v1:0
842854
String claude3dot5v1 = "anthropic.claude-3-5-sonnet-20240620-v1:0";
843855
models.put(ModelProvider.Bedrock.getName() + ":" + claude3dot5v1,

src/main/java/com/devoxx/genie/ui/settings/DevoxxGenieStateService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ public static DevoxxGenieStateService getInstance() {
172172
private Boolean showAzureOpenAIFields = false;
173173
private Boolean showAwsFields = false;
174174
private Boolean shouldPowerFromAWSProfile = false;
175+
private Boolean shouldEnableAWSRegionalInference = true;
175176

176177
@Setter
177178
private Boolean useGitIgnore = true;

src/main/java/com/devoxx/genie/ui/settings/llm/LLMProvidersComponent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ public class LLMProvidersComponent extends AbstractSettingsComponent {
109109
private final JCheckBox enableAWSCheckBox = new JCheckBox("", stateService.getShowAwsFields());
110110
@Getter
111111
private final JCheckBox enableAWSProfileCheckBox = new JCheckBox("", stateService.getShouldPowerFromAWSProfile());
112+
@Getter
113+
private final JCheckBox enableAWSRegionalInferenceCheckBox = new JCheckBox("", stateService.getShouldEnableAWSRegionalInference());
112114

113115
private final List<JComponent> azureComponents = new ArrayList<>();
114116

@@ -248,6 +250,7 @@ private void addAWSPanel(JPanel panel, GridBagConstraints gbc) {
248250
addSettingRow(panel, gbc, "Enable AWS Bedrock", enableAWSCheckBox);
249251

250252
addNestedSettingsRow(panel, gbc, "Power from AWS Profile", enableAWSProfileCheckBox, awsCommonComponents);
253+
addNestedSettingsRow(panel, gbc, "Enable Regional Inference", enableAWSRegionalInferenceCheckBox, awsCommonComponents);
251254
addNestedSettingsRow(panel, gbc, "AWS region", createTextWithPasswordButton(awsRegion, bedrockURL), awsCommonComponents);
252255

253256
addNestedSettingsRow(panel, gbc, "AWS Access Key ID", createTextWithLinkButton(awsAccessKeyIdField, bedrockURL), awsDirectCredentialsComponents);

src/main/java/com/devoxx/genie/ui/settings/llm/LLMProvidersConfigurable.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public boolean isModified() {
8686
isModified |= isFieldModified(llmSettingsComponent.getAwsSecretKeyField(), stateService.getAwsSecretKey());
8787
isModified |= isFieldModified(llmSettingsComponent.getAwsAccessKeyIdField(), stateService.getAwsAccessKeyId());
8888
isModified |= !stateService.getShouldPowerFromAWSProfile().equals(llmSettingsComponent.getEnableAWSProfileCheckBox().isSelected());
89+
isModified |= !stateService.getShouldEnableAWSRegionalInference().equals(llmSettingsComponent.getEnableAWSRegionalInferenceCheckBox().isSelected());
8990
isModified |= isFieldModified(llmSettingsComponent.getAwsProfileName(), stateService.getAwsProfileName());
9091
isModified |= isFieldModified(llmSettingsComponent.getAwsRegion(), stateService.getAwsRegion());
9192

@@ -156,6 +157,7 @@ public void apply() {
156157
settings.setAwsSecretKey(new String(llmSettingsComponent.getAwsSecretKeyField().getPassword()));
157158
settings.setAwsRegion(llmSettingsComponent.getAwsRegion().getText());
158159
settings.setShouldPowerFromAWSProfile(llmSettingsComponent.getEnableAWSProfileCheckBox().isSelected());
160+
settings.setShouldEnableAWSRegionalInference(llmSettingsComponent.getEnableAWSRegionalInferenceCheckBox().isSelected());
159161
settings.setAwsProfileName(llmSettingsComponent.getAwsProfileName().getText());
160162

161163
settings.setOllamaEnabled(llmSettingsComponent.getOllamaEnabledCheckBox().isSelected());

0 commit comments

Comments
 (0)