Spring AI 高级RAG功能实现:查询压缩
This commit is contained in:
parent
274608a471
commit
7b2dfa43e9
@ -26,4 +26,6 @@ public interface RagService {
|
||||
String advancedAdvisor(String question);
|
||||
|
||||
String documentSelection();
|
||||
|
||||
String queryTransformer();
|
||||
}
|
||||
|
@ -270,6 +270,23 @@ public class RagServiceImpl implements RagService {
|
||||
.content();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryTransformer() {
|
||||
ChatClient.Builder builder = ChatClient.builder(ollamaChatModel);
|
||||
Query query = Query.builder()
|
||||
.text("编程导航有啥内容?")
|
||||
.history(new UserMessage("谁是程序员鱼皮?"),
|
||||
new AssistantMessage("编程导航的创始人 codefather.cn"))
|
||||
.build();
|
||||
|
||||
QueryTransformer queryTransformer = CompressionQueryTransformer.builder()
|
||||
.chatClientBuilder(builder)
|
||||
.build();
|
||||
|
||||
return queryTransformer.transform(query).text();
|
||||
|
||||
}
|
||||
|
||||
private static FilterExpressionBuilder.Op getOp() {
|
||||
var b = new FilterExpressionBuilder();
|
||||
// 筛选2023年的案例
|
||||
|
@ -82,4 +82,11 @@ public class RagController {
|
||||
String queryList = ragService.documentSelection();
|
||||
return R.ok(queryList);
|
||||
}
|
||||
|
||||
@PostMapping("/queryTransformer")
|
||||
@Operation(summary = "查询压缩")
|
||||
public R<String> queryTransformer() {
|
||||
String queryList = ragService.queryTransformer();
|
||||
return R.ok(queryList);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user