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

相关推荐
疯狂打码的少年7 小时前
【面向对象】面向对象概述:从“按步骤做”到“找谁来做”
笔记
米码收割机7 小时前
【SSM】Spring MVC_MyBatis SSM商城系统(源码+论文)【独一无二】
spring·mvc·mybatis
程序员天天困7 小时前
Arthas Profiler 火焰图实战:CPU 热点在哪一目了然
java·jvm·后端
今夜有雨.7 小时前
C++JSON 解析器
c++·笔记·后端·学习·json
我命由我123457 小时前
Android 在构建过程中,发现有两个依赖库都包含了相同路径的资源文件
android·java·开发语言·java-ee·kotlin·android-studio·android runtime
用户3126874877207 小时前
@Autowired 注入的是代理对象?Spring AOP 代理选择原理一次讲透
java·spring
@insist1237 小时前
信息系统管理工程师-任务、标准、EDM 过程与关键域
java·大数据·数据库
木子杳衫7 小时前
Java高级进阶 | 单元测试JUnit + 反射机制实战详解
java·junit·单元测试
xian_wwq7 小时前
【学习笔记】框架层坍缩——LangChain 们正在被重新定义-14/15
笔记·学习·langchain
qq_366086227 小时前
关于接口路径中中文值解码问题
java·开发语言·数据库