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

public Class AsyncEmbeddingModel

extends Object
implements dev.langchain4j.model.embedding.EmbeddingModel, AutoCloseable
Class Inheritance
All Implemented Interfaces
java.lang.AutoCloseable
Imports
java.util.List, .Optional, .OptionalInt, javafx.beans.property.ObjectProperty, .SimpleObjectProperty, org.jabref.logic.ai.ingestion.tasks.UpdateEmbeddingModelTask, org.jabref.logic.ai.preferences.AiPreferences, org.jabref.logic.l10n.Localization, org.jabref.logic.util.NotificationService, .TaskExecutor, dev.langchain4j.data.embedding.Embedding, dev.langchain4j.data.segment.TextSegment, dev.langchain4j.model.embedding.EmbeddingModel, dev.langchain4j.model.output.Response, org.jspecify.annotations.NonNull, org.slf4j.Logger, .LoggerFactory

An EmbeddingModel that downloads/loads its underlying model asynchronously via a background task.

The constructor immediately schedules an UpdateEmbeddingModelTask. Call embedAll(List) only once the model is ready (check isPresent()).

Does not listen to any preferences; the owner is responsible for reacting to preference changes and creating a new instance if needed.

Implements AutoCloseable; close it to release the loaded model.

Field Summary

Modifier and TypeField and Description
private boolean
private String
private static final Logger
private final EmbeddingModelMetadataService
private final String
private final NotificationService
private final ObjectProperty<Optional<DeepJavaEmbeddingModel>>
private final TaskExecutor

Constructor Summary

AccessConstructor and Description
public
AsyncEmbeddingModel(String modelName, AiPreferences aiPreferences, NotificationService notificationService, TaskExecutor taskExecutor, EmbeddingModelMetadataService metadataService)

Method Summary

Modifier and TypeMethod and Description
public synchronized void
close()

Implements java.lang.AutoCloseable.close.

Closes this resource, relinquishing any underlying resources.

public dev.langchain4j.model.output.Response<@NonNull List<dev.langchain4j.data.embedding.Embedding>>
embedAll(List<dev.langchain4j.data.segment.TextSegment> list)

public String
public OptionalInt
public String
public boolean
public boolean
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

closedback to summary
private boolean closed
errorWhileBuildingModelback to summary
private String errorWhileBuildingModel
LOGGERback to summary
private static final Logger LOGGER
metadataServiceback to summary
private final EmbeddingModelMetadataService metadataService
modelNameback to summary
private final String modelName
notificationServiceback to summary
private final NotificationService notificationService
predictorPropertyback to summary
private final ObjectProperty<Optional<DeepJavaEmbeddingModel>> predictorProperty
taskExecutorback to summary
private final TaskExecutor taskExecutor

Constructor Detail

AsyncEmbeddingModelback to summary
public AsyncEmbeddingModel(String modelName, AiPreferences aiPreferences, NotificationService notificationService, TaskExecutor taskExecutor, EmbeddingModelMetadataService metadataService)

Method Detail

closeback to summary
public synchronized void close()

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
embedAllback to summary
public dev.langchain4j.model.output.Response<@NonNull List<dev.langchain4j.data.embedding.Embedding>> embedAll(List<dev.langchain4j.data.segment.TextSegment> list)
Annotations
@Override
getErrorWhileBuildingModelback to summary
public String getErrorWhileBuildingModel()
getMaxSnippetTokensback to summary
public OptionalInt getMaxSnippetTokens()
getModelNameback to summary
public String getModelName()
hadErrorWhileBuildingModelback to summary
public boolean hadErrorWhileBuildingModel()
isPresentback to summary
public boolean isPresent()
startRebuildingTaskback to summary
public void startRebuildingTask()