用途:为基于 LangChain4J 的检索增强生成(RAG)应用配置向量存储,覆盖语义搜索与嵌入存储场景。
主要能力:LangChain4J 提供统一的 EmbeddingStore 抽象,支持 PostgreSQL/pgvector、Pinecone、MongoDB Atlas、Milvus、Neo4j 等;支持基于构建器的配置、元数据过滤与混合搜索;支持多向量库并存(用 @Qualifier 区分不同用途的存储);提供 EmbeddingStoreIngestor 自动处理文档切分与嵌入;支持索引类型选择(FLAT、IVF_FLAT、HNSW)与维度匹配;包含连接池(HikariCP)与健康检查、监控(MeterRegistry)等生产配置模式。
使用方式:以 Spring @Bean 方式构建 EmbeddingStore,设置 host、port、database、table、dimension 等参数;用 DocumentSplitters.recursive 切分文档并配置 EmbeddingModel;通过 EmbeddingSearchRequest 指定 queryEmbedding、maxResults、minScore 及元数据过滤条件(and、metadataKey 等)执行搜索。建议流程:配置→连接测试→维度校验→导入测试数据→试查询→再生产。
适用场景:构建语义搜索、RAG 问答、按元数据筛选检索、需要多存储隔离(如文档库与聊天历史库分离)的应用。
限制与警告:向量维度必须与嵌入模型匹配,否则报错;不同向量库对距离度量和元数据过滤的支持不一致,需验证兼容性;大批量向量集合需正确配置索引;嵌入生成成本较高,应做批处理与缓存;生产环境需连接池与资源监控;更换向量库提供商可能需重新嵌入全部文档。文档未提供具体收费与价格信息。