mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-18 06:13:39 +00:00
Compare commits
2 Commits
dfe8c7dc85
...
b4306289f0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4306289f0 | ||
|
|
d9c47bd983 |
@@ -10,6 +10,9 @@ import dev.langchain4j.store.embedding.EmbeddingMatch;
|
|||||||
import dev.langchain4j.store.embedding.EmbeddingSearchRequest;
|
import dev.langchain4j.store.embedding.EmbeddingSearchRequest;
|
||||||
import dev.langchain4j.store.embedding.EmbeddingStore;
|
import dev.langchain4j.store.embedding.EmbeddingStore;
|
||||||
import dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore;
|
import dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore;
|
||||||
|
import io.weaviate.client.Config;
|
||||||
|
import io.weaviate.client.WeaviateClient;
|
||||||
|
import io.weaviate.client.base.Result;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -83,10 +86,20 @@ public class VectorStoreServiceImpl implements VectorStoreService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeById(String id, String modelName) {
|
@SneakyThrows
|
||||||
createSchema(id, modelName);
|
public void removeById(String id, String modelName) {
|
||||||
// 根据条件删除向量数据
|
String protocol = configService.getConfigValue("weaviate", "protocol");
|
||||||
embeddingStore.remove(id);
|
String host = configService.getConfigValue("weaviate", "host");
|
||||||
|
String className = configService.getConfigValue("weaviate", "classname");
|
||||||
|
String finalClassName = className + id;
|
||||||
|
WeaviateClient client = new WeaviateClient(new Config(protocol, host));
|
||||||
|
Result<Boolean> result = client.schema().classDeleter().withClassName(finalClassName).run();
|
||||||
|
if (result.hasErrors()) {
|
||||||
|
log.error("失败删除向量: " + result.getError());
|
||||||
|
throw new ServiceException("失败删除向量数据!");
|
||||||
|
} else {
|
||||||
|
log.info("成功删除向量数据: " + result.getResult());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -179,13 +179,14 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
|
|||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
KnowledgeInfo knowledgeInfo = baseMapper.selectById(id);
|
KnowledgeInfo knowledgeInfo = baseMapper.selectById(id);
|
||||||
check(knowledgeInfo);
|
check(knowledgeInfo);
|
||||||
map.put("kid",knowledgeInfo.getKid());
|
map.put("kid",knowledgeInfo.getId());
|
||||||
// 删除向量数据
|
// 删除向量数据
|
||||||
vectorStoreService.removeById(String.valueOf(knowledgeInfo.getId()),knowledgeInfo.getVectorModelName());
|
vectorStoreService.removeById(String.valueOf(knowledgeInfo.getId()),knowledgeInfo.getVectorModelName());
|
||||||
// 删除附件和知识片段
|
// 删除附件和知识片段
|
||||||
fragmentMapper.deleteByMap(map);
|
fragmentMapper.deleteByMap(map);
|
||||||
attachMapper.deleteByMap(map);
|
attachMapper.deleteByMap(map);
|
||||||
// 删除知识库
|
// 删除知识库
|
||||||
|
map.put("kid",knowledgeInfo.getKid());
|
||||||
baseMapper.deleteByMap(map);
|
baseMapper.deleteByMap(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user