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); + } }