From 7b2dfa43e9075b5848c42e83c52da655f205dd55 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Tue, 27 May 2025 14:18:40 +0800 Subject: [PATCH] =?UTF-8?q?Spring=20AI=20=E9=AB=98=E7=BA=A7RAG=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0=EF=BC=9A=E6=9F=A5=E8=AF=A2=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../huangge1199/aiagent/Service/RagService.java | 2 ++ .../aiagent/Service/impl/RagServiceImpl.java | 17 +++++++++++++++++ .../aiagent/controller/RagController.java | 7 +++++++ 3 files changed, 26 insertions(+) diff --git a/src/main/java/com/huangge1199/aiagent/Service/RagService.java b/src/main/java/com/huangge1199/aiagent/Service/RagService.java index 8d7884b..9ded1f8 100644 --- a/src/main/java/com/huangge1199/aiagent/Service/RagService.java +++ b/src/main/java/com/huangge1199/aiagent/Service/RagService.java @@ -26,4 +26,6 @@ public interface RagService { String advancedAdvisor(String question); String documentSelection(); + + String queryTransformer(); } diff --git a/src/main/java/com/huangge1199/aiagent/Service/impl/RagServiceImpl.java b/src/main/java/com/huangge1199/aiagent/Service/impl/RagServiceImpl.java index 94b18da..5b1305e 100644 --- a/src/main/java/com/huangge1199/aiagent/Service/impl/RagServiceImpl.java +++ b/src/main/java/com/huangge1199/aiagent/Service/impl/RagServiceImpl.java @@ -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年的案例 diff --git a/src/main/java/com/huangge1199/aiagent/controller/RagController.java b/src/main/java/com/huangge1199/aiagent/controller/RagController.java index ba523cd..fd9f151 100644 --- a/src/main/java/com/huangge1199/aiagent/controller/RagController.java +++ b/src/main/java/com/huangge1199/aiagent/controller/RagController.java @@ -82,4 +82,11 @@ public class RagController { String queryList = ragService.documentSelection(); return R.ok(queryList); } + + @PostMapping("/queryTransformer") + @Operation(summary = "查询压缩") + public R queryTransformer() { + String queryList = ragService.queryTransformer(); + return R.ok(queryList); + } }