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

public Class AiService

extends Object
implements AutoCloseable
Class Inheritance
All Implemented Interfaces
java.lang.AutoCloseable
Imports
java.util.UUID, javafx.beans.property.ObjectProperty, .SimpleObjectProperty, org.jabref.logic.FilePreferences, org.jabref.logic.ai.chatting.ChatModel, .InMemoryChatHistoryCache, org.jabref.logic.ai.chatting.migrations.ChatHistoryMigrationV1, org.jabref.logic.ai.chatting.repositories.ChatHistoryRepository, .MVStoreChatHistoryRepository, org.jabref.logic.ai.chatting.util.ChatModelFactory, org.jabref.logic.ai.embedding.AsyncEmbeddingModel, .EmbeddingModelCache, .EmbeddingModelFactory, .EmbeddingModelMetadataService, .MVStoreEmbeddingStore, org.jabref.logic.ai.ingestion.IngestionTaskAggregator, org.jabref.logic.ai.ingestion.listeners.GenerateEmbeddingsAiDatabaseListener, org.jabref.logic.ai.ingestion.logic.EmbeddingsCleaner, org.jabref.logic.ai.ingestion.logic.documentsplitting.DocumentSplitter, org.jabref.logic.ai.ingestion.repositories.IngestedDocumentsRepository, .MVStoreIngestedDocumentsRepository, org.jabref.logic.ai.ingestion.util.DocumentSplitterFactory, org.jabref.logic.ai.models.AiModelService, org.jabref.logic.ai.preferences.AiPreferences, org.jabref.logic.ai.summarization.InMemorySummaryCache, .SummarizationTaskAggregator, org.jabref.logic.ai.summarization.listeners.GenerateSummaryAiDatabaseListener, org.jabref.logic.ai.summarization.logic.summarizationalgorithms.Summarizator, org.jabref.logic.ai.summarization.migration.SummariesMigrationV1, org.jabref.logic.ai.summarization.repositories.MVStoreSummariesRepository, .SummariesRepository, org.jabref.logic.ai.summarization.util.SummarizatorFactory, org.jabref.logic.util.BackgroundTask, .Directories, .NotificationService, .ObservablesHelper, .TaskExecutor, org.jabref.model.database.BibDatabaseContext, dev.langchain4j.data.segment.TextSegment, dev.langchain4j.store.embedding.EmbeddingStore

The main class for the AI functionality. Holds all the AI components: LLM and embedding model, chat history and embedding cache.

Field Summary

Modifier and TypeField and Description
private final AiPreferences
private static final String
private final ObjectProperty<ChatModel>
private final ObjectProperty<DocumentSplitter>
private final ObjectProperty<AsyncEmbeddingModel>
private final ObjectProperty<Summarizator>
private final EmbeddingModelCache
private final EmbeddingModelMetadataService
private static final String
private final EmbeddingsCleaner
private static final String
private final GenerateEmbeddingsAiDatabaseListener
private final GenerateSummaryAiDatabaseListener
private final IngestionTaskAggregator
private final InMemoryChatHistoryCache
private final InMemorySummaryCache
private final AiModelService
private final MVStoreChatHistoryRepository
private final MVStoreEmbeddingStore
private final MVStoreIngestedDocumentsRepository
private final MVStoreSummariesRepository
private final NotificationService
private static final String
private final SummarizationTaskAggregator
private final TaskExecutor
public static final String

Constructor Summary

AccessConstructor and Description
public
AiService(AiPreferences aiPreferences, FilePreferences filePreferences, NotificationService notificationService, TaskExecutor taskExecutor)

Method Summary

Modifier and TypeMethod and Description
public void
close()

Implements java.lang.AutoCloseable.close.

Closes this resource, relinquishing any underlying resources.

private void
public InMemoryChatHistoryCache
public ChatHistoryRepository
public ChatModel
public DocumentSplitter
public AsyncEmbeddingModel
public Summarizator
public EmbeddingModelCache
public EmbeddingModelMetadataService
public EmbeddingsCleaner
public dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
public IngestedDocumentsRepository
public IngestionTaskAggregator
public AiModelService
public SummariesRepository
public SummarizationTaskAggregator
public InMemorySummaryCache
private void
public void
setupDatabase(BibDatabaseContext context, boolean isDummyContext)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

aiPreferencesback to summary
private final AiPreferences aiPreferences
CHAT_HISTORY_FILE_NAMEback to summary
private static final String CHAT_HISTORY_FILE_NAME
currentChatModelback to summary
private final ObjectProperty<ChatModel> currentChatModel
currentDocumentSplitterback to summary
private final ObjectProperty<DocumentSplitter> currentDocumentSplitter
currentEmbeddingModelback to summary
private final ObjectProperty<AsyncEmbeddingModel> currentEmbeddingModel
currentSummarizatorback to summary
private final ObjectProperty<Summarizator> currentSummarizator
embeddingModelCacheback to summary
private final EmbeddingModelCache embeddingModelCache
embeddingModelMetadataServiceback to summary
private final EmbeddingModelMetadataService embeddingModelMetadataService
EMBEDDINGS_FILE_NAMEback to summary
private static final String EMBEDDINGS_FILE_NAME
embeddingsCleanerback to summary
private final EmbeddingsCleaner embeddingsCleaner
FULLY_INGESTED_FILE_NAMEback to summary
private static final String FULLY_INGESTED_FILE_NAME
generateEmbeddingsAiDatabaseListenerback to summary
private final GenerateEmbeddingsAiDatabaseListener generateEmbeddingsAiDatabaseListener
generateSummaryAiDatabaseListenerback to summary
private final GenerateSummaryAiDatabaseListener generateSummaryAiDatabaseListener
ingestionTaskAggregatorback to summary
private final IngestionTaskAggregator ingestionTaskAggregator
inMemoryChatHistoryCacheback to summary
private final InMemoryChatHistoryCache inMemoryChatHistoryCache
inMemorySummaryCacheback to summary
private final InMemorySummaryCache inMemorySummaryCache
modelServiceback to summary
private final AiModelService modelService
mvStoreChatHistoryRepositoryback to summary
private final MVStoreChatHistoryRepository mvStoreChatHistoryRepository
mvStoreEmbeddingStoreback to summary
private final MVStoreEmbeddingStore mvStoreEmbeddingStore
mvStoreIngestedDocumentsRepositoryback to summary
private final MVStoreIngestedDocumentsRepository mvStoreIngestedDocumentsRepository
mvStoreSummariesRepositoryback to summary
private final MVStoreSummariesRepository mvStoreSummariesRepository
notificationServiceback to summary
private final NotificationService notificationService
SUMMARIES_FILE_NAMEback to summary
private static final String SUMMARIES_FILE_NAME
summarizationTaskAggregatorback to summary
private final SummarizationTaskAggregator summarizationTaskAggregator
taskExecutorback to summary
private final TaskExecutor taskExecutor
VERSIONback to summary
public static final String VERSION

Constructor Detail

AiServiceback to summary
public AiService(AiPreferences aiPreferences, FilePreferences filePreferences, NotificationService notificationService, TaskExecutor taskExecutor)

Method Detail

closeback to summary
public void close() throws Exception

Implements java.lang.AutoCloseable.close.

Doc from java.lang.AutoCloseable.close.

Closes this resource, relinquishing any underlying resources. This method is invoked automatically on objects managed by the try-with-resources statement.

Annotations
@Override
Exceptions
Exception:
if this resource cannot be closed
ensureAiLibraryIdPresentback to summary
private void ensureAiLibraryIdPresent(BibDatabaseContext bibDatabaseContext)
getChatHistoryCacheback to summary
public InMemoryChatHistoryCache getChatHistoryCache()
getChatHistoryRepositoryback to summary
public ChatHistoryRepository getChatHistoryRepository()
getCurrentChatModelback to summary
public ChatModel getCurrentChatModel()
getCurrentDocumentSplitterback to summary
public DocumentSplitter getCurrentDocumentSplitter()
getCurrentEmbeddingModelback to summary
public AsyncEmbeddingModel getCurrentEmbeddingModel()
getCurrentSummarizatorback to summary
public Summarizator getCurrentSummarizator()
getEmbeddingModelCacheback to summary
public EmbeddingModelCache getEmbeddingModelCache()
getEmbeddingModelMetadataServiceback to summary
public EmbeddingModelMetadataService getEmbeddingModelMetadataService()
getEmbeddingsCleanerback to summary
public EmbeddingsCleaner getEmbeddingsCleaner()
getEmbeddingsStoreback to summary
public dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment> getEmbeddingsStore()
getIngestedDocumentsRepositoryback to summary
public IngestedDocumentsRepository getIngestedDocumentsRepository()
getIngestionTaskAggregatorback to summary
public IngestionTaskAggregator getIngestionTaskAggregator()
getModelServiceback to summary
public AiModelService getModelService()
getSummariesRepositoryback to summary
public SummariesRepository getSummariesRepository()
getSummarizationTaskAggregatorback to summary
public SummarizationTaskAggregator getSummarizationTaskAggregator()
getSummaryCacheback to summary
public InMemorySummaryCache getSummaryCache()
migrateDatabaseback to summary
private void migrateDatabase(BibDatabaseContext context)
setupDatabaseback to summary
public void setupDatabase(BibDatabaseContext context, boolean isDummyContext)