|
@@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.ai.core.util.AiUtils;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
|
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
|
|
import cn.iocoder.yudao.module.ai.controller.admin.write.vo.AiWriteGenerateReqVO;
|
|
import cn.iocoder.yudao.module.ai.controller.admin.write.vo.AiWriteGenerateReqVO;
|
|
|
import cn.iocoder.yudao.module.ai.controller.admin.write.vo.AiWritePageReqVO;
|
|
import cn.iocoder.yudao.module.ai.controller.admin.write.vo.AiWritePageReqVO;
|
|
@@ -22,7 +23,6 @@ import cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants;
|
|
|
import cn.iocoder.yudao.module.ai.enums.write.AiWriteTypeEnum;
|
|
import cn.iocoder.yudao.module.ai.enums.write.AiWriteTypeEnum;
|
|
|
import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService;
|
|
import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService;
|
|
|
import cn.iocoder.yudao.module.ai.service.model.AiModelService;
|
|
import cn.iocoder.yudao.module.ai.service.model.AiModelService;
|
|
|
-import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
|
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.ai.chat.messages.Message;
|
|
import org.springframework.ai.chat.messages.Message;
|
|
@@ -61,9 +61,6 @@ public class AiWriteServiceImpl implements AiWriteService {
|
|
|
@Resource
|
|
@Resource
|
|
|
private AiWriteMapper writeMapper;
|
|
private AiWriteMapper writeMapper;
|
|
|
|
|
|
|
|
- @Resource
|
|
|
|
|
- private DictDataApi dictDataApi;
|
|
|
|
|
-
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Flux<CommonResult<String>> generateWriteContent(AiWriteGenerateReqVO generateReqVO, Long userId) {
|
|
public Flux<CommonResult<String>> generateWriteContent(AiWriteGenerateReqVO generateReqVO, Long userId) {
|
|
|
// 1 获取写作模型。尝试获取写作助手角色,没有则使用默认模型
|
|
// 1 获取写作模型。尝试获取写作助手角色,没有则使用默认模型
|
|
@@ -146,10 +143,10 @@ public class AiWriteServiceImpl implements AiWriteService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private String buildUserMessage(AiWriteGenerateReqVO generateReqVO) {
|
|
private String buildUserMessage(AiWriteGenerateReqVO generateReqVO) {
|
|
|
- String format = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_FORMAT, generateReqVO.getFormat());
|
|
|
|
|
- String tone = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_TONE, generateReqVO.getTone());
|
|
|
|
|
- String language = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_LANGUAGE, generateReqVO.getLanguage());
|
|
|
|
|
- String length = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_LENGTH, generateReqVO.getLength());
|
|
|
|
|
|
|
+ String format = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_FORMAT, generateReqVO.getFormat());
|
|
|
|
|
+ String tone = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_TONE, generateReqVO.getTone());
|
|
|
|
|
+ String language = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_LANGUAGE, generateReqVO.getLanguage());
|
|
|
|
|
+ String length = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_LENGTH, generateReqVO.getLength());
|
|
|
// 格式化 prompt
|
|
// 格式化 prompt
|
|
|
String prompt = generateReqVO.getPrompt();
|
|
String prompt = generateReqVO.getPrompt();
|
|
|
if (Objects.equals(generateReqVO.getType(), AiWriteTypeEnum.WRITING.getType())) {
|
|
if (Objects.equals(generateReqVO.getType(), AiWriteTypeEnum.WRITING.getType())) {
|