办学质量监测教学评价系统
ageerle
2025-03-07 a0d6e86c3cc33a09e29d427a398430571870476f
fix: 修复向量库初始化失败
已修改3个文件
43 ■■■■■ 文件已修改
ruoyi-admin/src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorstore/MilvusVectorStore.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorstore/VectorStoreFactory.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-dev.yml
@@ -27,7 +27,7 @@
          driverClassName: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://43.139.70.230:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
          username: ruoyi-ai
          password: eCaZ278N62k6fhYj
          password: xx
      hikari:
        # 最大连接池数量
ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorstore/MilvusVectorStore.java
@@ -41,13 +41,13 @@
    @Resource
    private ConfigService configService;
    @PostConstruct
    // @PostConstruct
    public void loadConfig() {
        this.dimension = Integer.parseInt(configService.getConfigValue("milvus", "dimension"));
        this.collectionName = configService.getConfigValue("milvus", "collection");
    }
    @PostConstruct
    //@PostConstruct
    public void init(){
        String milvusHost = configService.getConfigValue("milvus", "host");
        String milvausPort = configService.getConfigValue("milvus", "port");
ruoyi-modules/ruoyi-knowledge/src/main/java/org/ruoyi/knowledge/chain/vectorstore/VectorStoreFactory.java
@@ -1,39 +1,32 @@
package org.ruoyi.knowledge.chain.vectorstore;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.ruoyi.knowledge.domain.KnowledgeInfo;
import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo;
import org.ruoyi.knowledge.mapper.KnowledgeInfoMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
@Slf4j
@RequiredArgsConstructor
public class VectorStoreFactory {
    private final String type = "weaviate";
    private final WeaviateVectorStore weaviateVectorStore;
    private final MilvusVectorStore milvusVectorStore;
    private final  KnowledgeInfoMapper knowledgeInfoMapper;
    public VectorStoreFactory(WeaviateVectorStore weaviateVectorStore, MilvusVectorStore milvusVectorStore) {
        this.weaviateVectorStore = weaviateVectorStore;
        this.milvusVectorStore = milvusVectorStore;
    }
    public VectorStore getVectorStore(String kid){
        KnowledgeInfoVo knowledgeInfoVo = knowledgeInfoMapper.selectVoOne(
                new LambdaQueryWrapper<KnowledgeInfo>().eq(KnowledgeInfo::getKid,kid)
        );
        String vectorModel = knowledgeInfoVo.getVector();
        if ("weaviate".equals(vectorModel)){
            return weaviateVectorStore;
        }else if ("milvus".equals(vectorModel)){
            return milvusVectorStore;
        }
        return null;
//        if ("weaviate".equals(type)){
//            return weaviateVectorStore;
//        }else if ("milvus".equals(type)){
//            return milvusVectorStore;
//        }
//
//        return null;
        return weaviateVectorStore;
    }
}