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

相关推荐
L@ncor9 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程
xfan_me9 小时前
维修保养记录精准版 API 对接实战指南
java·大数据·python
知潮网9 小时前
被嫌弃的五仁月饼,一吨千元在养猪场翻了身
笔记
Keven-zhou9 小时前
不用先学前端框架,Java后端也能独立交付项目?飞算JavaAI实测
java
2601_960631239 小时前
中药前处理及提取的工艺环节与技术要点
笔记
海上小飞龙9 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
java·c++·python
Leo.yuan9 小时前
从“看全局“到“评成效“:央国企穿透式监管六步链路,哪些厂商能真正闭环
java·大数据·人工智能
2601_9653842610 小时前
口腔黏膜清洁中的几何约束与流体动力学边界层问题分析
经验分享·笔记
小马哥程序开发10 小时前
[点赞收藏免费领取 · 项目源码]57105基于Spring Boot的充电桩管理系统的设计与实现
java·spring boot·源码·课程设计·毕设·大作业·课设
一米阳光866110 小时前
软考高级【信息系统项目管理师】高项重要考点(9)组织 助你顺利上岸!
笔记·职场发展·软考·高项·信息系统项目管理师·高级职称