mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-11 21:31:04 +00:00
Add support for some extended parameters of llama.cpp(top_k, top_p, min_p, and repeat_penalty) (#311)
* Add support for some extended parameters of llama.cpp(top_k, top_p, min_p, and repeat_penalty) Added 'top_k,' 'top_p,' 'min_p,' and 'repeat_penalty' fields to the llama.cpp request configuration. The default values for these fields match the defaults of llama.cpp. If left untouched, they do not affect the model's response to the request. * Bump llm-client --------- Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
This commit is contained in:
parent
52c1b5d68c
commit
9d83107dd5
6 changed files with 142 additions and 1 deletions
|
|
@ -109,6 +109,10 @@ public class CompletionRequestProvider {
|
|||
return new LlamaCompletionRequest.Builder(prompt)
|
||||
.setN_predict(configuration.getMaxTokens())
|
||||
.setTemperature(configuration.getTemperature())
|
||||
.setTop_k(configuration.getTopK())
|
||||
.setTop_p(configuration.getTopP())
|
||||
.setMin_p(configuration.getMinP())
|
||||
.setRepeat_penalty(configuration.getRepeatPenalty())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ public class ConfigurationComponent {
|
|||
private final JTextArea commitMessagePromptTextArea;
|
||||
private final IntegerField maxTokensField;
|
||||
private final JBTextField temperatureField;
|
||||
private final IntegerField topKField;
|
||||
private final JBTextField topPField;
|
||||
private final JBTextField minPField;
|
||||
private final JBTextField repeatPenaltyField;
|
||||
|
||||
public ConfigurationComponent(Disposable parentDisposable, ConfigurationState configuration) {
|
||||
table = new JBTable(new DefaultTableModel(
|
||||
|
|
@ -68,6 +72,19 @@ public class ConfigurationComponent {
|
|||
temperatureField = new JBTextField(12);
|
||||
temperatureField.setText(String.valueOf(configuration.getTemperature()));
|
||||
|
||||
topKField = new IntegerField();
|
||||
topKField.setColumns(12);
|
||||
topKField.setValue(configuration.getTopK());
|
||||
|
||||
topPField = new JBTextField(12);
|
||||
topPField.setText(String.valueOf(configuration.getTopP()));
|
||||
|
||||
minPField = new JBTextField(12);
|
||||
minPField.setText(String.valueOf(configuration.getMinP()));
|
||||
|
||||
repeatPenaltyField = new JBTextField(12);
|
||||
repeatPenaltyField.setText(String.valueOf(configuration.getRepeatPenalty()));
|
||||
|
||||
var temperatureFieldValidator = createInputValidator(parentDisposable, temperatureField);
|
||||
temperatureField.getDocument().addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
|
|
@ -131,6 +148,9 @@ public class ConfigurationComponent {
|
|||
CodeGPTBundle.get("configurationConfigurable.section.assistant.title")))
|
||||
.addComponent(createAssistantConfigurationForm())
|
||||
.addComponentFillVertically(new JPanel(), 0)
|
||||
.addComponent(new TitledSeparator(
|
||||
CodeGPTBundle.get("configurationConfigurable.section.assistant.llamacppParams.title")))
|
||||
.addComponent(createLlamaAssistantConfigurationForm())
|
||||
.addComponent(new TitledSeparator(
|
||||
CodeGPTBundle.get("configurationConfigurable.section.commitMessage.title")))
|
||||
.addComponent(createCommitMessageConfigurationForm())
|
||||
|
|
@ -210,6 +230,34 @@ public class ConfigurationComponent {
|
|||
return form;
|
||||
}
|
||||
|
||||
private JPanel createLlamaAssistantConfigurationForm() {
|
||||
var formBuilder = FormBuilder.createFormBuilder();
|
||||
addAssistantFormLabeledComponent(
|
||||
formBuilder,
|
||||
"configurationConfigurable.section.assistant.topKField.label",
|
||||
"configurationConfigurable.section.assistant.topKField.comment",
|
||||
topKField);
|
||||
addAssistantFormLabeledComponent(
|
||||
formBuilder,
|
||||
"configurationConfigurable.section.assistant.topPField.label",
|
||||
"configurationConfigurable.section.assistant.topPField.comment",
|
||||
topPField);
|
||||
addAssistantFormLabeledComponent(
|
||||
formBuilder,
|
||||
"configurationConfigurable.section.assistant.minPField.label",
|
||||
"configurationConfigurable.section.assistant.minPField.comment",
|
||||
minPField);
|
||||
addAssistantFormLabeledComponent(
|
||||
formBuilder,
|
||||
"configurationConfigurable.section.assistant.repeatPenaltyField.label",
|
||||
"configurationConfigurable.section.assistant.repeatPenaltyField.comment",
|
||||
repeatPenaltyField);
|
||||
|
||||
var form = formBuilder.getPanel();
|
||||
form.setBorder(JBUI.Borders.emptyLeft(16));
|
||||
return form;
|
||||
}
|
||||
|
||||
private JPanel createCommitMessageConfigurationForm() {
|
||||
var formBuilder = FormBuilder.createFormBuilder();
|
||||
addAssistantFormLabeledComponent(
|
||||
|
|
@ -296,6 +344,38 @@ public class ConfigurationComponent {
|
|||
maxTokensField.setValue(maxTokens);
|
||||
}
|
||||
|
||||
public int getTopK() {
|
||||
return topKField.getValue();
|
||||
}
|
||||
|
||||
public void setTopK(int topK) {
|
||||
topKField.setValue(topK);
|
||||
}
|
||||
|
||||
public double getTopP() {
|
||||
return Double.parseDouble(topPField.getText());
|
||||
}
|
||||
|
||||
public void setTopP(double topP) {
|
||||
topPField.setText(String.valueOf(topP));
|
||||
}
|
||||
|
||||
public double getMinP() {
|
||||
return Double.parseDouble(minPField.getText());
|
||||
}
|
||||
|
||||
public void setMinP(double minP) {
|
||||
minPField.setText(String.valueOf(minP));
|
||||
}
|
||||
|
||||
public double getRepeatPenalty() {
|
||||
return Double.parseDouble(repeatPenaltyField.getText());
|
||||
}
|
||||
|
||||
public void setRepeatPenalty(double repeatPenalty) {
|
||||
repeatPenaltyField.setText(String.valueOf(repeatPenalty));
|
||||
}
|
||||
|
||||
public boolean isCheckForPluginUpdates() {
|
||||
return checkForPluginUpdatesCheckBox.isSelected();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@ public class ConfigurationConfigurable implements Configurable {
|
|||
return !configurationComponent.getTableData().equals(configuration.getTableData())
|
||||
|| configurationComponent.getMaxTokens() != configuration.getMaxTokens()
|
||||
|| configurationComponent.getTemperature() != configuration.getTemperature()
|
||||
|| configurationComponent.getTopK() != configuration.getTopK()
|
||||
|| configurationComponent.getTopP() != configuration.getTopP()
|
||||
|| configurationComponent.getMinP() != configuration.getMinP()
|
||||
|| configurationComponent.getRepeatPenalty() != configuration.getRepeatPenalty()
|
||||
|| !configurationComponent.getSystemPrompt().equals(configuration.getSystemPrompt())
|
||||
|| !configurationComponent.getCommitMessagePrompt()
|
||||
.equals(configuration.getCommitMessagePrompt())
|
||||
|
|
@ -55,6 +59,10 @@ public class ConfigurationConfigurable implements Configurable {
|
|||
configuration.setTableData(configurationComponent.getTableData());
|
||||
configuration.setMaxTokens(configurationComponent.getMaxTokens());
|
||||
configuration.setTemperature(configurationComponent.getTemperature());
|
||||
configuration.setTopK(configurationComponent.getTopK());
|
||||
configuration.setTopP(configurationComponent.getTopP());
|
||||
configuration.setMinP(configurationComponent.getMinP());
|
||||
configuration.setRepeatPenalty(configurationComponent.getRepeatPenalty());
|
||||
configuration.setSystemPrompt(configurationComponent.getSystemPrompt());
|
||||
configuration.setCommitMessagePrompt(configurationComponent.getCommitMessagePrompt());
|
||||
configuration.setCheckForPluginUpdates(configurationComponent.isCheckForPluginUpdates());
|
||||
|
|
@ -72,6 +80,10 @@ public class ConfigurationConfigurable implements Configurable {
|
|||
configurationComponent.setTableData(configuration.getTableData());
|
||||
configurationComponent.setMaxTokens(configuration.getMaxTokens());
|
||||
configurationComponent.setTemperature(configuration.getTemperature());
|
||||
configurationComponent.setTopK(configuration.getTopK());
|
||||
configurationComponent.setTopP(configuration.getTopP());
|
||||
configurationComponent.setMinP(configuration.getMinP());
|
||||
configurationComponent.setRepeatPenalty(configuration.getRepeatPenalty());
|
||||
configurationComponent.setSystemPrompt(configuration.getSystemPrompt());
|
||||
configurationComponent.setCommitMessagePrompt(configuration.getCommitMessagePrompt());
|
||||
configurationComponent.setCheckForPluginUpdates(configuration.isCheckForPluginUpdates());
|
||||
|
|
|
|||
|
|
@ -22,6 +22,10 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
private String commitMessagePrompt = COMPLETION_COMMIT_MESSAGE_PROMPT;
|
||||
private int maxTokens = 1000;
|
||||
private double temperature = 0.1;
|
||||
private int topK = 40;
|
||||
private double topP = 0.9;
|
||||
private double minP = 0.05;
|
||||
private double repeatPenalty = 1.1;
|
||||
private boolean checkForPluginUpdates = true;
|
||||
private boolean createNewChatOnEachAction;
|
||||
private boolean ignoreGitCommitTokenLimit;
|
||||
|
|
@ -76,6 +80,38 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
this.temperature = temperature;
|
||||
}
|
||||
|
||||
public int getTopK() {
|
||||
return topK;
|
||||
}
|
||||
|
||||
public void setTopK(int topK) {
|
||||
this.topK = topK;
|
||||
}
|
||||
|
||||
public double getTopP() {
|
||||
return topP;
|
||||
}
|
||||
|
||||
public void setTopP(double topP) {
|
||||
this.topP = topP;
|
||||
}
|
||||
|
||||
public double getMinP() {
|
||||
return minP;
|
||||
}
|
||||
|
||||
public void setMinP(double minP) {
|
||||
this.minP = minP;
|
||||
}
|
||||
|
||||
public double getRepeatPenalty() {
|
||||
return repeatPenalty;
|
||||
}
|
||||
|
||||
public void setRepeatPenalty(double repeatPenalty) {
|
||||
this.repeatPenalty = repeatPenalty;
|
||||
}
|
||||
|
||||
public boolean isCreateNewChatOnEachAction() {
|
||||
return createNewChatOnEachAction;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue