src/main/java/cc/mrbird/febs/ai/service/AiCompanyWorkflowService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/ai/service/impl/AiCompanyWorkflowServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/ai/service/AiCompanyWorkflowService.java
New file @@ -0,0 +1,10 @@ package cc.mrbird.febs.ai.service; import cc.mrbird.febs.ai.entity.AiCompanyWorkflow; import com.baomidou.mybatisplus.extension.service.IService; public interface AiCompanyWorkflowService extends IService<AiCompanyWorkflow> { AiCompanyWorkflow getByTypeAndCompanyId(Integer type, String companyId); } src/main/java/cc/mrbird/febs/ai/service/impl/AiCompanyWorkflowServiceImpl.java
New file @@ -0,0 +1,28 @@ package cc.mrbird.febs.ai.service.impl; import cc.mrbird.febs.ai.entity.AiCompanyWorkflow; import cc.mrbird.febs.ai.mapper.AiCompanyWorkflowMapper; import cc.mrbird.febs.ai.service.AiCompanyWorkflowService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @Slf4j @Service @RequiredArgsConstructor public class AiCompanyWorkflowServiceImpl extends ServiceImpl<AiCompanyWorkflowMapper, AiCompanyWorkflow> implements AiCompanyWorkflowService { private final AiCompanyWorkflowMapper aiCompanyWorkflowMapper; @Override public AiCompanyWorkflow getByTypeAndCompanyId(Integer type, String companyId) { LambdaQueryWrapper<AiCompanyWorkflow> query = Wrappers.lambdaQuery(AiCompanyWorkflow.class); query.eq(AiCompanyWorkflow::getType, type); query.eq(AiCompanyWorkflow::getCompanyId, companyId); query.last("limit 1"); return aiCompanyWorkflowMapper.selectOne(query); } } src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java
@@ -53,6 +53,7 @@ private final AiProductQuestionService aiProductQuestionService; private final LlmStrategyFactory llmStrategyFactory; private final AiService aiService; private final AiCompanyWorkflowService aiCompanyWorkflowService; @Override @@ -252,7 +253,12 @@ llmStrategyDtoList.add(llmStrategyDto); llmStrategyDto = this.buildLlmStrategyDtoList(answer, 2); llmStrategyDtoList.add(llmStrategyDto); llmStrategyDto = this.buildLlmStrategyDtoList(String.valueOf(type), 4); AiCompanyWorkflow aiCompanyWorkflow = aiCompanyWorkflowService.getByTypeAndCompanyId(type,aiMemberTalk.getCompanyId()); if (ObjectUtil.isNull(aiCompanyWorkflow)){ throw new FebsException("工作流配置异常,请联系管理员"); } llmStrategyDto = this.buildLlmStrategyDtoList(aiCompanyWorkflow.getCode(), 4); llmStrategyDtoList.add(llmStrategyDto); String modelName = LlmStrategyEnum.getName(aiService.getSystemSetAiType()); src/main/java/cc/mrbird/febs/ai/strategy/Impl/AliApplicationLlmStrategyServiceImpl.java
@@ -83,6 +83,17 @@ return appId; } private String getAppIdV2(List<LlmStrategyDto> dto) { String appId = null; for (LlmStrategyDto dtoItem : dto){ if (StrUtil.equals(dtoItem.getRole(),Role.TOOL.getValue())){ appId = dtoItem.getContent(); break; } } return appId; } @Override public FebsResponse llmInvokeNonStreaming(List<LlmStrategyDto> dto) { return null; @@ -166,7 +177,8 @@ } HashMap prompt = getPrompt(dto); String query = getQuery(dto); String appId = getAppId(dto); // String appId = getAppId(dto); String appId = getAppIdV2(dto); if (prompt == null || prompt.size() == 0){ throw new FebsException("百炼工作流初始化异常"); }