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