【优化】AI 写作:1. 优先获取写作角色;2. 优化写作提示词

This commit is contained in:
xiaoxin
2024-07-09 22:05:42 +08:00
parent ae69b137be
commit 6e71b721e8
2 changed files with 56 additions and 22 deletions

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.ai.enums.write;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -15,8 +17,8 @@ import java.util.Arrays;
@Getter
public enum AiWriteTypeEnum implements IntArrayValuable {
WRITING(1, "撰写"),
REPLY(2, "回复");
WRITING(1, "撰写", "请撰写一篇关于 [{}] 的文章。文章的内容格式:{},语气:{},语言:{},长度:{}。请确保涵盖主要内容,不需要除了正文内容外的其他回复,如标题、额外的解释或道歉。"),
REPLY(2, "回复", "请针对如下内容:[{}] 做个回复。回复内容参考:[{}], 回复格式:{},语气:{},语言:{},长度:{}。不需要除了正文内容外的其他回复,如标题、开头、额外的解释或道歉。");
/**
* 类型
@ -27,6 +29,11 @@ public enum AiWriteTypeEnum implements IntArrayValuable {
*/
private final String name;
/**
* 模版
*/
private final String template;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(AiWriteTypeEnum::getType).toArray();
@Override
@ -34,4 +41,9 @@ public enum AiWriteTypeEnum implements IntArrayValuable {
return ARRAYS;
}
public static void validateType(Integer type) {
if (ArrayUtil.contains(ARRAYS, type)) return;
throw new IllegalArgumentException(StrUtil.format("未知写作类型({})", type));
}
}