diff --git a/src/main/java/com/huangge1199/ai/controller/LangChainController.java b/src/main/java/com/huangge1199/ai/controller/LangChainController.java index 1e2bbd2..2711892 100644 --- a/src/main/java/com/huangge1199/ai/controller/LangChainController.java +++ b/src/main/java/com/huangge1199/ai/controller/LangChainController.java @@ -32,4 +32,16 @@ public class LangChainController { String result = langChainService.chat(message); return R.ok(result); } + + /** + * 结构化输出 + * + * @param message 输入信息 + * @return ai返回结果 + */ + @PostMapping("/chatForReport") + public R chatForReport(@RequestBody String message) { + LangChainService.Report result = langChainService.chatForReport(message); + return R.ok(result); + } } diff --git a/src/main/java/com/huangge1199/ai/service/LangChainService.java b/src/main/java/com/huangge1199/ai/service/LangChainService.java index 236e423..c7109fe 100644 --- a/src/main/java/com/huangge1199/ai/service/LangChainService.java +++ b/src/main/java/com/huangge1199/ai/service/LangChainService.java @@ -2,6 +2,8 @@ package com.huangge1199.ai.service; import dev.langchain4j.service.SystemMessage; +import java.util.List; + /** * LangChainService * @@ -12,4 +14,9 @@ public interface LangChainService { @SystemMessage(fromResource = "system-prompt.txt") String chat(String message); + + @SystemMessage(fromResource = "system-prompt.txt") + Report chatForReport(String message); + + record Report(String name, List list){} }