Administrator
15 hours ago c8e3460c5aefedfa45dc19a7a8d5720a10d0f058
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
@@ -1,10 +1,15 @@
package cc.mrbird.febs.ai.service.impl;
import cc.mrbird.febs.ai.entity.AiCompanyWorkflow;
import cc.mrbird.febs.ai.enums.LlmApplicationAppIdEnum;
import cc.mrbird.febs.ai.mapper.AiCompanyWorkflowMapper;
import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
import cc.mrbird.febs.ai.service.AiCompanyService;
import cc.mrbird.febs.ai.service.AiService;
import cc.mrbird.febs.common.exception.FebsException;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.dashscope.app.Application;
import com.alibaba.dashscope.app.ApplicationParam;
import com.alibaba.dashscope.app.ApplicationResult;
@@ -23,6 +28,8 @@
@RequiredArgsConstructor
public class AiServiceImpl implements AiService {
    private final AiCompanyService aiCompanyService;
    private static final String apiKey = "sk-babdcf8799144134915cee2683794b2f";
    private static final String appId = "963b854d994a4f578d8207cd477a2464";
@@ -36,6 +43,16 @@
            throw new FebsException("百炼工作流初始化异常");
        }
        String companyAppId = appId;
        String companyId = dto.getCompanyId();
        if (StrUtil.isNotEmpty(companyId)){
            AiCompanyWorkflow workflowByTypeAndCompanyId =
                    aiCompanyService.getWorkflowByTypeAndCompanyId(LlmApplicationAppIdEnum.ADMIN_QUESTION.getCode(), companyId);
            companyAppId = workflowByTypeAndCompanyId.getCode();
        }
        HashMap<String, Object> bizParams = new HashMap<>();
        bizParams.put(bizParam_1,dto.getQuestionCnt());
        bizParams.put(bizParam_2,dto.getPromptAiSystem());
@@ -45,7 +62,7 @@
        ApplicationParam param = ApplicationParam.builder()
                // 若没有配置环境变量,可用百炼API Key将下行替换为:.apiKey("sk-xxx")。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。
                .apiKey(apiKey)
                .appId(appId) //替换为实际的应用 ID
                .appId(companyAppId) //替换为实际的应用 ID
                .flowStreamMode(FlowStreamMode.MESSAGE_FORMAT)
                .prompt(query)
                .bizParams(JsonUtils.toJsonObject( bizParams))