Verified Owner
Top Description Fields Constructors Methods
org.jabref.logic.ai.preferences

public Class AiPreferences

extends Object
Class Inheritance
Imports
java.util.List, .Map, java.util.stream.Stream, javafx.beans.binding.BooleanBinding, javafx.beans.property.BooleanProperty, .DoubleProperty, .IntegerProperty, .ObjectProperty, .Property, .ReadOnlyBooleanProperty, .SimpleBooleanProperty, .SimpleDoubleProperty, .SimpleIntegerProperty, .SimpleObjectProperty, .SimpleStringProperty, .StringProperty, org.jabref.logic.ai.chatting.PredefinedChatModelUtil, org.jabref.logic.util.strings.StringUtil, org.jabref.model.ai.llm.AiProvider, .PredefinedChatModel, org.jabref.model.ai.pipeline.DocumentSplitterKind, .ResponseEngineKind, org.jabref.model.ai.summarization.SummarizatorKind, org.jabref.model.ai.tokenization.TokenEstimatorKind, com.github.javakeyring.Keyring, .PasswordAccessException, org.slf4j.Logger, .LoggerFactory

AI preferences.

Quick note about aiFeaturesEnabledInitially and aiFeaturesEnabledCurrently: As per req~ai.general.enabling.restart~1, when enabled property is changed, a restart required. This implies that AI processes should start and work only if they were initially enabled. So whenever you want to guard some code from executing only if AI is enabled, please use aiFeaturesEnabledInitially via getAiFeaturesEnabled()`.

Field Summary

Modifier and TypeField and Description
private final BooleanProperty
aiFeaturesEnabledCurrently

Controls whether to show the privacy policy banner and whether to request a restart.

private final BooleanProperty
aiFeaturesEnabledInitially

Controls whether the AI features should start/work in a JabRef session.

private final ObjectProperty<AiProvider>
private final BooleanProperty
private final BooleanProperty
private final StringProperty
private final StringProperty
private final StringProperty
private final IntegerProperty
private final BooleanProperty
private static final AiProvider
private static final Map<AiProvider, PredefinedChatModel>
private final IntegerProperty
private final ObjectProperty<DocumentSplitterKind>
private final IntegerProperty
private final StringProperty
private final IntegerProperty
private final StringProperty
private final StringProperty
private final StringProperty
private final BooleanProperty
private final StringProperty
private final StringProperty
private static final String
private static final String
private static final Logger
private final StringProperty
private final StringProperty
private final StringProperty
private final StringProperty
private final StringProperty
private final IntegerProperty
private final DoubleProperty
private final ObjectProperty<ResponseEngineKind>
private final StringProperty
private final StringProperty
private final StringProperty
private final ObjectProperty<SummarizatorKind>
private final DoubleProperty
private final ObjectProperty<TokenEstimatorKind>

Constructor Summary

AccessConstructor and Description
private
public
AiPreferences(boolean aiFeaturesEnabledCurrently, boolean autoGenerateEmbeddings, boolean autoGenerateSummaries, AiProvider aiProvider, String openAiChatModel, String mistralAiChatModel, String geminiChatModel, String huggingFaceChatModel, boolean customizeExpertSettings, String openAiApiBaseUrl, String mistralAiApiBaseUrl, String geminiApiBaseUrl, String huggingFaceApiBaseUrl, SummarizatorKind summarizatorKind, TokenEstimatorKind tokenEstimatorKind, String embeddingModel, double temperature, int contextWindowSize, DocumentSplitterKind documentSplitterKind, int documentSplitterChunkSize, int documentSplitterOverlapSize, ResponseEngineKind responseEngineKind, int ragMaxResultsCount, double ragMinScore, String chattingSystemMessageTemplate, String chattingUserMessageTemplate, String summarizationChunkSystemMessageTemplate, String summarizationCombineSystemMessageTemplate, String summarizationFullDocumentSystemMessageTemplate, String citationParsingSystemMessageTemplate, String markdownChatExportTemplate, boolean generateFollowUpQuestions, int followUpQuestionsCount, String followUpQuestionsTemplate)

Method Summary

Modifier and TypeMethod and Description
public BooleanProperty
public ReadOnlyBooleanProperty
public ObjectProperty<AiProvider>
public BooleanProperty
public BooleanProperty
public StringProperty
public StringProperty
public StringProperty
public IntegerProperty
public void
copyFrom(AiPreferences other)

Copies all persisted, user-editable values from other into this instance.

public static AiPreferences
copyOf(AiPreferences other)

Creates an independent copy of other, e.g. as a dialog-scoped working copy that is edited freely and flushed back via copyFrom(AiPreferences) on save.

public BooleanProperty
public IntegerProperty
public ObjectProperty<DocumentSplitterKind>
public IntegerProperty
public StringProperty
public IntegerProperty
public StringProperty
public StringProperty
public StringProperty
public BooleanProperty
public boolean
public boolean
public AiProvider
private List<Property<?>>
public String
public boolean
public boolean
private List<Property<?>>
public List<Property<?>>
public String
public String
public String
public int
public boolean
public static AiPreferences
public int
public DocumentSplitterKind
public int
public List<? extends Property<?>>
public String
public List<Property<?>>
public int
public String
public String
public String
public boolean
public String
public String
public String
public String
public String
public String
public String
public int
public double
public ResponseEngineKind
public List<? extends Property<?>>
public String
public String
public String
public String
public String
public SummarizatorKind
public List<? extends Property<?>>
public double
public TokenEstimatorKind
public StringProperty
public StringProperty
public StringProperty
public StringProperty
public StringProperty
public StringProperty
public StringProperty
public IntegerProperty
public DoubleProperty
public ObjectProperty<ResponseEngineKind>
public BooleanBinding
public void
setAiFeaturesEnabledCurrently(boolean aiFeaturesEnabledCurrently)

public void
public void
setAutoGenerateEmbeddings(boolean autoGenerateEmbeddings)

public void
setAutoGenerateSummaries(boolean autoGenerateSummaries)

public void
public void
public void
public void
setContextWindowSize(int contextWindowSize)

public void
setCustomizeExpertSettings(boolean customizeExpertSettings)

public void
setDocumentSplitterChunkSize(int documentSplitterChunkSize)

public void
public void
setDocumentSplitterOverlapSize(int documentSplitterOverlapSize)

public void
setEmbeddingModel(String embeddingModel)

public void
setFollowUpQuestionsCount(int followUpQuestionsCount)

public void
setFollowUpQuestionsTemplate(String followUpQuestionsTemplate)

public void
setGeminiApiBaseUrl(String geminiApiBaseUrl)

public void
setGeminiChatModel(String geminiChatModel)

public void
setGenerateFollowUpQuestions(boolean generateFollowUpQuestions)

public void
setHuggingFaceApiBaseUrl(String huggingFaceApiBaseUrl)

public void
setHuggingFaceChatModel(String huggingFaceChatModel)

public void
public void
setMistralAiApiBaseUrl(String mistralAiApiBaseUrl)

public void
setMistralAiChatModel(String mistralAiChatModel)

public void
setOpenAiApiBaseUrl(String openAiApiBaseUrl)

public void
setOpenAiChatModel(String openAiChatModel)

public void
setRagMaxResultsCount(int ragMaxResultsCount)

public void
setRagMinScore(double ragMinScore)

public void
public void
public void
public void
public void
public void
setTemperature(double temperature)

public void
public void
public StringProperty
public StringProperty
public StringProperty
public ObjectProperty<SummarizatorKind>
public DoubleProperty
public ObjectProperty<TokenEstimatorKind>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait