mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 15:21:53 +08:00
【功能新增】AI 大模型:支持思维导图的管理
This commit is contained in:
parent
7c9714d014
commit
83d86bcf9b
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<description>
|
<description>
|
||||||
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。
|
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维导图等功能。
|
||||||
目前已接入各种模型,不限于:
|
目前已接入各种模型,不限于:
|
||||||
国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
|
国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
|
||||||
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
|
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
|
||||||
|
@ -22,7 +22,7 @@ public enum AiChatRoleEnum implements IntArrayValuable {
|
|||||||
除此之外不需要除了正文内容外的其他回复,如标题、开头、任何解释性语句或道歉。
|
除此之外不需要除了正文内容外的其他回复,如标题、开头、任何解释性语句或道歉。
|
||||||
"""),
|
"""),
|
||||||
|
|
||||||
AI_MIND_MAP_ROLE(2, "脑图助手", """
|
AI_MIND_MAP_ROLE(2, "导图助手", """
|
||||||
你是一位非常优秀的思维导图助手,你会把用户的所有提问都总结成思维导图,然后以 Markdown 格式输出。markdown 只需要输出一级标题,二级标题,三级标题,四级标题,最多输出四级,除此之外不要输出任何其他 markdown 标记。下面是一个合格的例子:
|
你是一位非常优秀的思维导图助手,你会把用户的所有提问都总结成思维导图,然后以 Markdown 格式输出。markdown 只需要输出一级标题,二级标题,三级标题,四级标题,最多输出四级,除此之外不要输出任何其他 markdown 标记。下面是一个合格的例子:
|
||||||
# Geek-AI 助手
|
# Geek-AI 助手
|
||||||
## 完整的开源系统
|
## 完整的开源系统
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<description>
|
<description>
|
||||||
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。
|
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维导图等功能。
|
||||||
目前已接入各种模型,不限于:
|
目前已接入各种模型,不限于:
|
||||||
国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
|
国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
|
||||||
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
|
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
|
||||||
|
@ -31,7 +31,7 @@ public class AiMindMapController {
|
|||||||
private AiMindMapService mindMapService;
|
private AiMindMapService mindMapService;
|
||||||
|
|
||||||
@PostMapping(value = "/generate-stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
|
@PostMapping(value = "/generate-stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
|
||||||
@Operation(summary = "脑图生成(流式)", description = "流式返回,响应较快")
|
@Operation(summary = "导图生成(流式)", description = "流式返回,响应较快")
|
||||||
@PermitAll // 解决 SSE 最终响应的时候,会被 Access Denied 拦截的问题
|
@PermitAll // 解决 SSE 最终响应的时候,会被 Access Denied 拦截的问题
|
||||||
public Flux<CommonResult<String>> generateMindMap(@RequestBody @Valid AiMindMapGenerateReqVO generateReqVO) {
|
public Flux<CommonResult<String>> generateMindMap(@RequestBody @Valid AiMindMapGenerateReqVO generateReqVO) {
|
||||||
return mindMapService.generateMindMap(generateReqVO, getLoginUserId());
|
return mindMapService.generateMindMap(generateReqVO, getLoginUserId());
|
||||||
|
@ -61,10 +61,10 @@ public class AiMindMapServiceImpl implements AiMindMapService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Flux<CommonResult<String>> generateMindMap(AiMindMapGenerateReqVO generateReqVO, Long userId) {
|
public Flux<CommonResult<String>> generateMindMap(AiMindMapGenerateReqVO generateReqVO, Long userId) {
|
||||||
// 1. 获取脑图模型。尝试获取思维导图助手角色,如果没有则使用默认模型
|
// 1. 获取导图模型。尝试获取思维导图助手角色,如果没有则使用默认模型
|
||||||
AiChatRoleDO role = CollUtil.getFirst(
|
AiChatRoleDO role = CollUtil.getFirst(
|
||||||
chatRoleService.getChatRoleListByName(AiChatRoleEnum.AI_MIND_MAP_ROLE.getName()));
|
chatRoleService.getChatRoleListByName(AiChatRoleEnum.AI_MIND_MAP_ROLE.getName()));
|
||||||
// 1.1 获取脑图执行模型
|
// 1.1 获取导图执行模型
|
||||||
AiChatModelDO model = getModel(role);
|
AiChatModelDO model = getModel(role);
|
||||||
// 1.2 获取角色设定消息
|
// 1.2 获取角色设定消息
|
||||||
String systemMessage = role != null && StrUtil.isNotBlank(role.getSystemMessage())
|
String systemMessage = role != null && StrUtil.isNotBlank(role.getSystemMessage())
|
||||||
|
Loading…
Reference in New Issue
Block a user