mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-12 19:17:20 +00:00
Merge pull request #91 from xingjisen/main
fix: 自动上传向量时间改为三分钟;修复根据条件删除向量数据报错问题;
This commit is contained in:
@@ -131,7 +131,31 @@ public class VectorStoreServiceImpl implements VectorStoreService {
|
|||||||
createSchema(kid,modelName);
|
createSchema(kid,modelName);
|
||||||
// 根据条件删除向量数据
|
// 根据条件删除向量数据
|
||||||
Filter simpleFilter = new IsEqualTo("kid", kid);
|
Filter simpleFilter = new IsEqualTo("kid", kid);
|
||||||
embeddingStore.removeAll(simpleFilter);
|
removeByFilter(simpleFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeByFilter(Filter filter) {
|
||||||
|
List<Float> dummyVector = new ArrayList<>();
|
||||||
|
// TODO 模型维度
|
||||||
|
int dimension = 1024;
|
||||||
|
for (int i = 0; i < dimension; i++) {
|
||||||
|
dummyVector.add(0.0f);
|
||||||
|
}
|
||||||
|
Embedding dummyEmbedding = Embedding.from(dummyVector);
|
||||||
|
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
|
||||||
|
.queryEmbedding(dummyEmbedding)
|
||||||
|
.filter(filter)
|
||||||
|
.maxResults(10000)
|
||||||
|
.build();
|
||||||
|
// 搜索
|
||||||
|
List<String> idsToDelete = embeddingStore.search(request)
|
||||||
|
.matches().stream()
|
||||||
|
.map(EmbeddingMatch::embeddingId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 删除
|
||||||
|
if (!idsToDelete.isEmpty()) {
|
||||||
|
embeddingStore.removeAll(idsToDelete);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -405,4 +405,5 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
|
|||||||
.set(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_10)
|
.set(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_10)
|
||||||
.eq(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_40));
|
.eq(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_40));
|
||||||
}
|
}
|
||||||
|
@Scheduled(fixedDelay = 180000) // 3分钟执行一次
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user