Spring ai vectorstore 使用本地模型导致只能匹配可行度为1.0的内容的解决方法笔记

PS:哎,兄弟,弄之前,记得先用别的地方验证一下你的onnx模型是否正确

我的情况是

使用

复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-vector-store-chroma</artifactId>
    <version>1.1.7</version>
</dependency>

复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-transformers</artifactId>
    <version>1.1.2</version>
</dependency>

然后当我设置了

复制代码
spring.ai.model.embedding=transformers

之后(无论我是否指定别的嵌入模型还是使用默认的),我的

复制代码
VectorStore.similaritySearch
只能匹配可信度为1.0的内容(比如当前我的知识库里有一条"王于兴师,修我戈矛",那么我就只能用王于兴师,修我戈矛去匹配,少一点多一点都匹配不到这条。)

解决办法也很匪夷所思

我们只需要让我们要访问的集合不是先行创建好的,而是由你的项目来创建的即可

比如

直接手动配置

复制代码
@Configuration
@RequiredArgsConstructor
public class VectorStoreConfig {
    @Bean("testChroma")
    public VectorStore longTermChromaVectorStore(EmbeddingModel embeddingModel, ChromaApi chromaApi) {
        return ChromaVectorStore.builder(chromaApi, embeddingModel)
                .tenantName("your_tenant") 
                .databaseName("your_database")
                .collectionName("testChroma")
                .initializeSchema(true)
                .build();
    }
}

然后使用这个自行配置的VectorStore进行操作即可

相关推荐
我命由我123451 小时前
方差(实例实操、与标准差的区别)
java·数据结构·算法·数据分析·java-ee·intellij-idea·idea
Java内核笔记1 小时前
Spring Security 源码解析(八)方法安全授权与自定义扩展:@EnableMethodSecurity、AOP、SpEL 全链路
java·后端
自由的裙子1 小时前
How-To: Using the N* Stack, part 4
java·jvm·oracle
进阶的DW2 小时前
Wiki + Graph + RAG 知识库建设笔记2
笔记
AOwhisky2 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
bmy-happy2 小时前
网安专业课程笔记sale
笔记
什巳2 小时前
JAVA练习275-乘积最大子数组
java·开发语言·数据结构·算法
lang201509282 小时前
Apache POI Word(docx) 实战教程:从入门到精通表格合并、图片插入与文档合并
java·开发语言·word
小牛不牛的程序员2 小时前
利用Claude Code构建自动化需求挖掘工具:从原理到实践
java·算法·自动化