(improvement)(chat) Support integrating embeddingStore into system settings. (#1405)

This commit is contained in:
lexluo09
2024-07-14 21:50:12 +08:00
committed by GitHub
parent 4eb6193699
commit d5c78d87e7
9 changed files with 41 additions and 28 deletions

View File

@@ -7,6 +7,7 @@ import com.tencent.supersonic.headless.server.web.service.DimensionService;
import com.tencent.supersonic.headless.server.web.service.MetricService;
import dev.langchain4j.inmemory.spring.InMemoryEmbeddingStoreFactory;
import dev.langchain4j.store.embedding.EmbeddingStoreFactory;
import dev.langchain4j.store.embedding.EmbeddingStoreFactoryProvider;
import dev.langchain4j.store.embedding.TextSegmentConvert;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,15 +36,13 @@ public class MetaEmbeddingTask implements CommandLineRunner {
@Autowired
private DimensionService dimensionService;
@Autowired
private EmbeddingStoreFactory embeddingStoreFactory;
@PreDestroy
public void onShutdown() {
embeddingStorePersistFile();
}
private void embeddingStorePersistFile() {
EmbeddingStoreFactory embeddingStoreFactory = EmbeddingStoreFactoryProvider.getFactory();
if (embeddingStoreFactory instanceof InMemoryEmbeddingStoreFactory) {
long startTime = System.currentTimeMillis();
InMemoryEmbeddingStoreFactory inMemoryFactory =