From 841f1631b790d2c4caf24a40eb4830f57a9bafa5 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 17 Sep 2025 17:21:07 +0800
Subject: [PATCH] feat(ai): 添加知识点推荐功能- 新增 AiProductPointService接口的 recommend 方法 - 实现 AiProductPointServiceImpl 中的 recommend 方法逻辑 - 添加 ApiProductPointController 中的 recommend 接口 - 创建 ApiProductPointRecommendDto 和 ApiProductPointRecommendVo 类

---
 src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java
index bd1e116..7a158ef 100644
--- a/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.ai.strategy.Impl;
 
+import cc.mrbird.febs.ai.enumerates.AiTypeEnum;
 import cc.mrbird.febs.ai.strategy.LlmStrategyService;
 import cc.mrbird.febs.ai.strategy.enumerates.LlmApplicationAppIdEnum;
 import cc.mrbird.febs.ai.strategy.enumerates.LlmStrategyContextEnum;
@@ -53,6 +54,23 @@
             }
         }
         return bizParamsMap;
+    }
+
+    private List<Message> getMessages(List<LlmStrategyDto> dto) {
+        List<Message> messages = new ArrayList<>();
+        for (LlmStrategyDto dtoItem : dto){
+            if (StrUtil.equals(AiTypeEnum.MESSAGES.getName(), dtoItem.getRole())){
+                List<LlmStrategyDto> messages1 = dtoItem.getMessages();
+                for (LlmStrategyDto dtoItem1 : messages1){
+                    messages.add(Message.builder()
+                            .role(dtoItem1.getRole())
+                            .content(dtoItem1.getContent())
+                            .build());
+                }
+                break;
+            }
+        }
+        return messages;
     }
 
     private String getQuery(List<LlmStrategyDto> dto) {
@@ -160,6 +178,7 @@
             throw new FebsException("百炼工作流初始化异常");
         }
         HashMap prompt = getPrompt(dto);
+        List<Message> messages = getMessages(dto);
         String query = getQuery(dto);
         String appId = getAppId(dto);
         if (prompt == null || prompt.size() == 0){
@@ -178,6 +197,7 @@
                 .appId(appId) //替换为实际的应用 ID
                 .flowStreamMode(FlowStreamMode.MESSAGE_FORMAT)
                 .prompt(query)
+                .messages( messages)
                 .bizParams(JsonUtils.toJsonObject( prompt))
                 .build();
 

--
Gitblit v1.9.1