马腾666 2025-06-27 05:07 采纳率: 0%
浏览 63

SpringAI实现RAG,添加redis向量数据库报错

1、通过springAI集成deepsek实现RAG时,集成redis向量数据库,依赖如下:

img

2、配置如下:

img

3、注入VectorStore后,调用VectorStore.add()方法时,一直报错如下:

img

4、跟踪源码发现:

img

调用this.embeddingModel.dimensions()报的这个错误,哪位兄弟能帮忙解决一下

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-27 05:07
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你使用 SpringAI 实现 RAG(Recommender as a Graph)并添加 Redis 向量数据库,但是在注入 VectorStore 后,调用 VectorStore.add() 方法时一直报错。

    可能的解决方案:

    1. 检查 Redis 连接配置是否正确,确保 Redis 服务器已经启动并且可以连接。
    2. 检查 VectorStore 的配置是否正确,确保 VectorStore 的类型正确(例如,RedisVectorStore)并且配置了正确的 Redis 连接信息。
    3. 检查 VectorStore.add() 方法的参数是否正确,确保传入的向量数据格式正确。
    4. 如果以上步骤都无法解决问题,可以尝试使用 debug 模式来检查错误信息,了解错误的原因。

    以下是一个简单的示例代码,演示如何使用 SpringAI 和 RedisVectorStore:

    @Configuration
    public class RedisVectorStoreConfig {
        @Bean
        public RedisVectorStore redisVectorStore() {
            RedisVectorStore vectorStore = new RedisVectorStore();
            vectorStore.setRedisTemplate(redisTemplate());
            return vectorStore;
        }
    }
    
    @Service
    public class MyService {
        @Autowired
        private RedisVectorStore redisVectorStore;
        
        public void addVector(Vector vector) {
            redisVectorStore.add(vector);
        }
    }
    

    在上面的代码中,我们首先创建了一个 RedisVectorStore 对象,并将其注入到 MyService 服务中。然后,在 MyService 服务中,我们使用 add() 方法将向量数据添加到 Redis 向量数据库中。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月27日