Solon v3.1.0

solon-ai-repo-milvus

</> markdown
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-repo-milvus</artifactId>
</dependency>

1、描述

solon-ai 的主展插件,提供 MilvusRepository 知识库。更多可参考 《教程 / Solon AI 开发》

2、构建示例

使用 MilvusRepository 时,需要嵌入模型做为支持。

solon.ai.embed:
  bgem3:
    apiUrl: "http://127.0.0.1:11434/api/embed" # 使用完整地址(而不是 api_base)
    provider: "ollama" # 使用 ollama 服务时,需要配置 provider
    model: "bge-m3:latest"
    
solon.ai.repo:
  milvus:
    url: "http://localhost:19530" # 参数 ConnectConfig 的类结构配置

开始构建

@Configuration
public class DemoConfig {
    //构建向量模型
    @Bean
    public EmbeddingModel embeddingModel(@Inject("${solon.ai.embed.bgem3}") EmbeddingConfig config) {
        return EmbeddingModel.of(config).build();
    }
    
    //构建知识库的连接配置
    @BindProps(prefix = "solon.ai.repo.milvus")
    @Bean
    public ConnectConfig repositoryConfig(){
        return ConnectConfig.builder().build();
    }
    
    //构建知识库
    @Bean
    public MilvusRepository repository(EmbeddingModel embeddingModel, ConnectConfig connectConfig){
        return new MilvusRepository(embeddingModel, new MilvusClientV2(connectConfig));
    }
}

3、应用效果

@Component
public class DemoService {
    @Inject
    MilvusRepository repository;
    
    //添加资源
    publiv void addDocument(List<Document> docs) {
        repository.insert(docs);
    }
    
    //查资资料
    publiv List<Document> findDocument(String query) {
       return repository.search(query);
    }
}