langchain4j InMemoryEmbeddingStore常用的方法

InMemoryEmbeddingStore 检索方法(langchain4j)

接口:EmbeddingStore<T>,实现类 InMemoryEmbeddingStore<T>

✅ 推荐新版:search(EmbeddingSearchRequest)

⚠️ findRelevant 属于旧版default方法,新版本标记废弃,仅做兼容

1. search(官方推荐,你前面代码用的)

java 复制代码
EmbeddingSearchResult<T> search(EmbeddingSearchRequest request);

EmbeddingSearchRequest 可配置:

  • queryEmbedding:查询向量(必填)
  • maxResults:返回topN
  • minScore:最低相似度阈值
  • filter:元数据过滤(按metadata筛选)

示例:

java 复制代码
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
        .queryEmbedding(queryEmbedding)
        .maxResults(3)
        .minScore(0.6)
        .filter(MetadataFilter.key("source").isEqualTo("book.pdf"))
        .build();
EmbeddingSearchResult<TextSegment> result = store.search(request);
List<EmbeddingMatch<TextSegment>> matches = result.matches();

2. findRelevant 系列(旧版,不推荐新项目)

java 复制代码
// ① 只指定向量和max,minScore默认0
List<EmbeddingMatch<T>> findRelevant(Embedding queryEmbedding, int maxResults);

// ② 指定向量、max、最低相似度
List<EmbeddingMatch<T>> findRelevant(Embedding queryEmbedding, int maxResults, double minScore);

// ③ 带元数据过滤器
List<EmbeddingMatch<T>> findRelevant(Embedding queryEmbedding, int maxResults, Filter filter);

返回 List<EmbeddingMatch<T>>,直接拿到匹配列表,没有外层 EmbeddingSearchResult 对象。

检索返回对象

  • EmbeddingMatch<T>
    • score():余弦相似度,0~1,越大越相似
    • embedded():存入的 TextSegment
    • embeddingId():向量id

两种API对比

search() findRelevant()
返回 EmbeddingSearchResult List<EmbeddingMatch>
配置 统一builder,支持max/minScore/filter 多个重载方法
状态 ✅ 推荐,新特性都在这里 ⚠️ 逐步废弃
扩展性 更好,后续向量库统一接口 简单快速原型

补充

InMemoryEmbeddingStore 使用暴力全量余弦相似度计算,没有索引,数据量大后会变慢。

需要我写一段带filter元数据过滤的检索示例吗?

相关推荐
七牛开发者20 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
跨境卫士-小汪21 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
古法老登瞎折腾21 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
康小汪21 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机1 天前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
武天旭1 天前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南1 天前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术1 天前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API1 天前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫
znnnk1 天前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle