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进行操作即可

相关推荐
mldong28 分钟前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路1 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
2501_926978331 小时前
AGI 的四种瓶颈:资源型还是发现型--以及DSH的位置
人工智能·经验分享·笔记·ai写作
gugucoding1 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
zww89491112 小时前
校园跑腿系统开发实战指南:从需求分析到上线部署全流程解析
java
liuqs3322 小时前
nat123安卓和nat123全端口选型指南,映射工具怎么挑
网络·笔记
xian_wwq2 小时前
【学习笔记】光伏“四可”装置纵密模块--配置方法和原理
笔记·学习
Fluxart.ai2 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
名字还没想好☜3 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
IT爱学堂5 小时前
尚硅谷 - 2025年3月Java+AI大模型应用开发
java·开发语言·人工智能