diff --git a/src/main/java/com/dsideal/base/Tools/AiGenerate.java b/src/main/java/com/dsideal/base/Tools/AiGenerate.java index cdd3de47..c51d6583 100644 --- a/src/main/java/com/dsideal/base/Tools/AiGenerate.java +++ b/src/main/java/com/dsideal/base/Tools/AiGenerate.java @@ -67,7 +67,6 @@ public class AiGenerate extends PptAIKit { // 生成输出文件路径 String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String outputPath = "教育资源对比分析报告_" + timestamp + ".docx"; - System.out.println("开始调用DeepSeek进行数据分析..."); // 调用DeepSeek进行分析 @@ -93,7 +92,7 @@ public class AiGenerate extends PptAIKit { // 生成PPT // 生成PPT System.out.println("\n\n=== 开始生成PPT ==="); - generatePptPresentation(analysisPrompt); + generatePptPresentation(analysisPrompt, biJiao); } catch (Exception e) { System.err.println("保存文件时出错: " + e.getMessage()); @@ -112,6 +111,7 @@ public class AiGenerate extends PptAIKit { * 创建PPT生成提示词 */ private static String createPptPrompt(String dataContent, String[] cities) { + //todo return "请基于以下教育资源配置数据,为" + String.join("与", cities) + "教育资源配置对比分析创建一个专业的PPT大纲。\n\n" + "PPT应包含以下主要部分:\n" + @@ -129,11 +129,11 @@ public class AiGenerate extends PptAIKit { /** * 生成PPT演示文稿 */ - private static void generatePptPresentation(String analysisContent) { + private static void generatePptPresentation(String analysisContent, String[] biJiao) { try { String uid = "test"; // 第一步:使用DeepSeek生成简化的PPT提示词 - String simplifiedPptPrompt = generateSimplifiedPptPrompt(analysisContent); + String simplifiedPptPrompt = createPptPrompt(analysisContent, biJiao); // 创建 api token (有效期2小时,建议缓存到redis,同一个 uid 创建时之前的 token 会在10秒内失效) String apiToken = PptAIKit.createApiToken(uid, null); @@ -165,52 +165,6 @@ public class AiGenerate extends PptAIKit { } } - // 新增方法:使用DeepSeek生成简化的PPT提示词 - private static String generateSimplifiedPptPrompt(String analysisContent) { - try { - // 构建DeepSeek的请求提示词 - String deepseekPrompt = "请根据以下教育数据分析内容,生成一个简洁的PPT制作提示词。" + - "要求:\n" + - "1. 提取关键数据点和结论\n" + - "2. 突出对比分析结果\n" + - "3. 控制字数在500字以内\n" + - "4. 适合PPT展示的结构化内容\n\n" + - "原始分析内容:\n" + analysisContent; - - // 添加PPT结构要求 - return "请根据以下内容生成PPT:\n\n" + - "PPT结构要求:\n" + - "1. 封面 - 标题和概述\n" + - "2. 目录 - 内容导航\n" + - "3. 数据概览 - 整体情况\n" + - "4. 详细分析 - 分项对比\n" + - "5. 问题识别 - 发现的问题\n" + - "6. 建议方案 - 解决措施\n" + - "7. 总结 - 结论和展望\n\n" + - "内容要点:\n" + deepseekPrompt; - - } catch (Exception e) { - e.printStackTrace(); - // 如果DeepSeek调用失败,返回基础的PPT提示词 - return createBasicPptPrompt(); - } - } - - - // 基础PPT提示词(作为备用方案) - private static String createBasicPptPrompt() { - return "请根据教育资源配置数据生成PPT:\n\n" + - "PPT结构要求:\n" + - "1. 封面 - 标题和概述\n" + - "2. 目录 - 内容导航\n" + - "3. 数据概览 - 整体情况\n" + - "4. 详细分析 - 分项对比\n" + - "5. 问题识别 - 发现的问题\n" + - "6. 建议方案 - 解决措施\n" + - "7. 总结 - 结论和展望\n\n" + - "请基于上传的数据生成具体的PPT内容。"; - } - /** * 创建分析提示词 */ diff --git a/src/main/java/com/dsideal/base/Tools/Util/CallDeepSeek.java b/src/main/java/com/dsideal/base/Tools/Util/CallDeepSeek.java index 212b1b14..f89f4708 100644 --- a/src/main/java/com/dsideal/base/Tools/Util/CallDeepSeek.java +++ b/src/main/java/com/dsideal/base/Tools/Util/CallDeepSeek.java @@ -175,37 +175,5 @@ public class CallDeepSeek { void onError(String error); } - - - /** - * 专门用于文档分析生成的调用方法 - * @param analysisPrompt 分析提示词 - * @param listener 响应监听器 - * @param outputPath 输出文档路径 - */ - public static void callDeepSeekForDocumentAnalysis(String analysisPrompt, SSEListener listener, String outputPath) { - callDeepSeekStream(analysisPrompt, new SSEListener() { - @Override - public void onData(String data) { - listener.onData(data); - } - - @Override - public void onComplete(String fullResponse) { - try { - // 保存分析结果到文档 - FileUtil.writeString(fullResponse, new File(outputPath), "UTF-8"); - listener.onComplete("文档分析报告已保存到: " + outputPath); - } catch (Exception e) { - listener.onError("保存文档时出错: " + e.getMessage()); - } - } - - @Override - public void onError(String error) { - listener.onError(error); - } - }, outputPath, true); - } }