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