From 57693059a1c86ed32a53982d736bc0e89df10860 Mon Sep 17 00:00:00 2001 From: ageerle <32251822+ageerle@users.noreply.github.com> Date: 星期一, 19 五月 2025 09:21:35 +0800 Subject: [PATCH] Merge pull request #91 from xingjisen/main --- ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java | 1 + ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java index 7e1f6f9..917652c 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java @@ -131,7 +131,31 @@ createSchema(kid,modelName); // 鏍规嵁鏉′欢鍒犻櫎鍚戦噺鏁版嵁 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 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java index 89b6863..06ad06b 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java @@ -405,4 +405,5 @@ .set(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_10) .eq(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_40)); } + @Scheduled(fixedDelay = 180000) // 3鍒嗛挓鎵ц涓�娆� } -- Gitblit v1.9.3