Skip to content

Commit 7910a0e

Browse files
author
luowanghaoyun
committed
fix: schemaRecallNode recall schema information with query
1 parent 8c24663 commit 7910a0e

3 files changed

Lines changed: 12 additions & 12 deletions

File tree

data-agent-management/src/main/java/com/alibaba/cloud/ai/dataagent/service/schema/SchemaServiceImpl.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import org.apache.commons.lang3.StringUtils;
4040
import org.springframework.ai.document.Document;
4141
import org.springframework.ai.embedding.BatchingStrategy;
42-
import org.springframework.ai.vectorstore.SearchRequest;
4342
import org.springframework.ai.vectorstore.filter.Filter;
4443
import org.springframework.ai.vectorstore.filter.FilterExpressionBuilder;
4544
import org.springframework.stereotype.Service;
@@ -298,15 +297,7 @@ public List<Document> getTableDocumentsByDatasource(Integer datasourceId, String
298297

299298
Filter.Expression filterExpression = DynamicFilterService.combineWithAnd(conditions);
300299

301-
// 执行向量检索
302-
SearchRequest searchRequest = SearchRequest.builder()
303-
.query(query)
304-
.topK(tableTopK)
305-
.similarityThreshold(tableThreshold)
306-
.filterExpression(filterExpression)
307-
.build();
308-
309-
return agentVectorStoreService.getDocumentsOnlyByFilter(filterExpression, tableTopK);
300+
return agentVectorStoreService.getDocumentsOnlyByFilter(filterExpression, tableTopK, query, tableThreshold);
310301
}
311302

312303
private List<String> getMissingTableNamesWithForeignKeySet(List<Document> tableDocuments,

data-agent-management/src/main/java/com/alibaba/cloud/ai/dataagent/service/vectorstore/AgentVectorStoreService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ public interface AgentVectorStoreService {
4545
// 通过元数据过滤精确查找
4646
List<Document> getDocumentsOnlyByFilter(Filter.Expression filterExpression, Integer topK);
4747

48+
List<Document> getDocumentsOnlyByFilter(Filter.Expression filterExpression, Integer topK, String query,
49+
Double similarityThreshold);
50+
4851
boolean hasDocuments(String agentId);
4952

5053
void addDocuments(String agentId, List<Document> documents);

data-agent-management/src/main/java/com/alibaba/cloud/ai/dataagent/service/vectorstore/AgentVectorStoreServiceImpl.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,20 @@ public List<Document> getDocumentsForAgent(String agentId, String query, String
229229

230230
@Override
231231
public List<Document> getDocumentsOnlyByFilter(Filter.Expression filterExpression, Integer topK) {
232+
return getDocumentsOnlyByFilter(filterExpression, topK, DEFAULT, 0.0);
233+
}
234+
235+
@Override
236+
public List<Document> getDocumentsOnlyByFilter(Filter.Expression filterExpression, Integer topK, String query,
237+
Double similarityThreshold) {
232238
Assert.notNull(filterExpression, "filterExpression cannot be null.");
233239
if (topK == null)
234240
topK = dataAgentProperties.getVectorStore().getDefaultTopkLimit();
235241
SearchRequest searchRequest = SearchRequest.builder()
236-
.query(DEFAULT)
242+
.query(query)
237243
.topK(topK)
238244
.filterExpression(filterExpression)
239-
.similarityThreshold(0.0)
245+
.similarityThreshold(similarityThreshold)
240246
.build();
241247
return vectorStore.similaritySearch(searchRequest);
242248
}

0 commit comments

Comments
 (0)