feat: 下沉知识库检索编排能力
- 新增 rag retrieval 核心协议、RRF 融合与相关度归一化 - 支持关键词检索按 knowledgeId 过滤并补充 ES/Lucene 单测 - 扩展 KnowledgeNode 检索模式与 Milvus 检索参数透传
This commit is contained in:
@@ -28,8 +28,12 @@ public interface DocumentSearcher {
|
||||
boolean updateDocument(Document document);
|
||||
|
||||
default List<Document> searchDocuments(String keyword) {
|
||||
return searchDocuments(keyword, 10);
|
||||
return searchDocuments(KeywordSearchRequest.of(keyword, 10));
|
||||
}
|
||||
|
||||
List<Document> searchDocuments(String keyword, int count);
|
||||
default List<Document> searchDocuments(String keyword, int count) {
|
||||
return searchDocuments(KeywordSearchRequest.of(keyword, count));
|
||||
}
|
||||
|
||||
List<Document> searchDocuments(KeywordSearchRequest request);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.easyagents.search.engine.service;
|
||||
|
||||
public final class KeywordSearchMetadataKeys {
|
||||
|
||||
private KeywordSearchMetadataKeys() {
|
||||
}
|
||||
|
||||
public static final String KNOWLEDGE_ID = "knowledgeId";
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.easyagents.search.engine.service;
|
||||
|
||||
public class KeywordSearchRequest {
|
||||
|
||||
private String keyword;
|
||||
private int count = 10;
|
||||
private String knowledgeId;
|
||||
|
||||
public static KeywordSearchRequest of(String keyword, int count) {
|
||||
KeywordSearchRequest request = new KeywordSearchRequest();
|
||||
request.setKeyword(keyword);
|
||||
request.setCount(count);
|
||||
return request;
|
||||
}
|
||||
|
||||
public String getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
|
||||
public void setKeyword(String keyword) {
|
||||
this.keyword = keyword;
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(int count) {
|
||||
this.count = count <= 0 ? 10 : count;
|
||||
}
|
||||
|
||||
public String getKnowledgeId() {
|
||||
return knowledgeId;
|
||||
}
|
||||
|
||||
public void setKnowledgeId(String knowledgeId) {
|
||||
this.knowledgeId = knowledgeId;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user