(improvement)(headless) Add exception handling to the embeddingModel embed function (#1264)

This commit is contained in:
lexluo09
2024-06-28 13:23:27 +08:00
committed by GitHub
parent a3d4f18df4
commit 3d4c078d95

View File

@@ -15,6 +15,7 @@ import dev.langchain4j.store.embedding.RetrieveQueryResult;
import dev.langchain4j.store.embedding.TextSegmentConvert;
import dev.langchain4j.store.embedding.filter.Filter;
import dev.langchain4j.store.embedding.filter.comparison.IsEqualTo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,6 +29,7 @@ import java.util.Objects;
import java.util.stream.Collectors;
@Service
@Slf4j
public class EmbeddingServiceImpl implements EmbeddingService {
@Autowired
@@ -41,8 +43,13 @@ public class EmbeddingServiceImpl implements EmbeddingService {
EmbeddingStore embeddingStore = embeddingStoreFactory.create(collectionName);
for (TextSegment query : queries) {
String question = query.text();
Embedding embedding = embeddingModel.embed(question).content();
embeddingStore.add(embedding, query);
try {
Embedding embedding = embeddingModel.embed(question).content();
embeddingStore.add(embedding, query);
} catch (Exception e) {
log.error("embeddingModel embed error question: {}, embeddingStore: {}", question,
embeddingStore.getClass().getSimpleName(), e);
}
}
}