From 3263fa54313bddb5c88e4b0e1b82bd129fa5a664 Mon Sep 17 00:00:00 2001 From: Lilixu007 <1273914445@qq.com> Date: Sat, 28 Feb 2026 18:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/aigc/service/PaperService.java | 3 +- .../aigc/service/PromptBuilderService.java | 4 +- .../src/main/resources/application.yml | 8 +-- .../prompts/paper_generation_user.txt | 51 +++++++++++++++---- aigc-ui/package-lock.json | 12 +---- 5 files changed, 53 insertions(+), 25 deletions(-) diff --git a/AIGC-admin/backend/src/main/java/com/example/aigc/service/PaperService.java b/AIGC-admin/backend/src/main/java/com/example/aigc/service/PaperService.java index c629d04..ac33336 100644 --- a/AIGC-admin/backend/src/main/java/com/example/aigc/service/PaperService.java +++ b/AIGC-admin/backend/src/main/java/com/example/aigc/service/PaperService.java @@ -316,6 +316,7 @@ public class PaperService { userPrompt.append("7. 强调“系统性”:力求覆盖本研究领域的代表性经典文献和近几年重要前沿成果,避免遗漏公认的核心文献,对不同研究路线进行有条理的归类与比较。\n"); userPrompt.append("8. 保持“客观性”:中立呈现不同学派或研究路径的观点,既如实反映其优点,也如实指出其不足,避免使用过于主观、情绪化的评价语。\n"); userPrompt.append("9. 突出“指向性”:在“过去研究中存在的问题”“结论及解决方法”和“评述”等部分,要清晰总结现有研究尚未解决的空白或矛盾,并说明本课题拟从哪些方面加以弥补或推进,为后续实证或理论研究铺垫。\n"); + userPrompt.append("10. 【极其重要】生成的正文中不要出现对应的专业名称,全文应该围绕标题内容生成,而不是探讨专业。论文应聚焦于标题所指定的具体研究主题,避免泛泛而谈专业领域的一般性知识。\n"); Message systemMsg = Message.builder() .role(Role.SYSTEM.getValue()) @@ -839,7 +840,7 @@ public class PaperService { } else if (content.contains("# 三、") || content.contains("# 二、")) { return "正在写核心章节"; } else if (content.contains("# 二、") || content.contains("# 一、")) { - return "正在写绪论/前言部分"; + return "正在写引言/前言部分"; } else if (content.contains("# 摘要") || content.contains("Abstract")) { return "已完成摘要部分,需要写正文"; } else { diff --git a/AIGC-admin/backend/src/main/java/com/example/aigc/service/PromptBuilderService.java b/AIGC-admin/backend/src/main/java/com/example/aigc/service/PromptBuilderService.java index 336b25e..767fdba 100644 --- a/AIGC-admin/backend/src/main/java/com/example/aigc/service/PromptBuilderService.java +++ b/AIGC-admin/backend/src/main/java/com/example/aigc/service/PromptBuilderService.java @@ -114,7 +114,7 @@ public class PromptBuilderService { basicInfo.append("这是硬性要求,字数不足将被退回!当前要求的字数是 ").append(requiredWords).append(" 字。\n\n"); basicInfo.append("为确保字数达标,请按以下比例分配各章节篇幅(摘要需控制简短精炼):\n"); basicInfo.append("- 摘要部分:请控制在约 300 字(建议 250-350 字),整体不要超过 400 字\n"); - basicInfo.append("- 绪论/前言部分:约 ").append(requiredWords / 6).append(" 字(详细阐述研究背景、现状和意义)\n"); + basicInfo.append("- 引言/前言部分:约 ").append(requiredWords / 6).append(" 字(详细阐述研究背景、现状和意义)\n"); basicInfo.append("- 理论/方法部分:约 ").append(requiredWords / 5).append(" 字(深入介绍相关理论和研究方法)\n"); basicInfo.append("- 核心章节(设计/实现/分析):约 ").append(requiredWords * 2 / 5).append(" 字(这是论文重点,必须详细展开)\n"); basicInfo.append("- 结论与展望:约 ").append(requiredWords / 10).append(" 字\n\n"); @@ -124,10 +124,12 @@ public class PromptBuilderService { basicInfo.append("3. 对关键概念进行详细解释和说明\n"); basicInfo.append("4. 适当增加对比分析、优缺点讨论等内容\n"); basicInfo.append("5. 通过增加必要的论证过程和过渡句,让章节结构更清晰,而不是简单堆砌结论\n\n"); + basicInfo.append("6. 【极其重要】生成的正文中不要出现对应的专业名称,全文应该围绕标题内容生成,而不是探讨专业。论文应聚焦于标题所指定的具体研究主题,避免泛泛而谈专业领域的一般性知识。\n"); } else { basicInfo.append("\n【字数要求】\n"); basicInfo.append("本论文正文字数必须达到 8000 字以上(不含封面、目录、参考文献)。\n"); basicInfo.append("其中摘要部分请控制在约 300 字(建议 250-350 字),整体不要超过 400 字,其余章节根据需要充分展开论述。\n\n"); + basicInfo.append("【极其重要】生成的正文中不要出现对应的专业名称,全文应该围绕标题内容生成,而不是探讨专业。论文应聚焦于标题所指定的具体研究主题,避免泛泛而谈专业领域的一般性知识。\n"); } if (request.getExtra() != null && !request.getExtra().isEmpty()) { diff --git a/AIGC-admin/backend/src/main/resources/application.yml b/AIGC-admin/backend/src/main/resources/application.yml index c3947a8..040d16e 100644 --- a/AIGC-admin/backend/src/main/resources/application.yml +++ b/AIGC-admin/backend/src/main/resources/application.yml @@ -1,8 +1,8 @@ spring: datasource: - url: jdbc:mysql://127.0.0.1:3306/aigc?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: abcdef - password: abcdef123 + url: jdbc:mysql://120.24.227.27:3306/aigc?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: aigc + password: ne3sahjfsK36Xj6p driver-class-name: com.mysql.cj.jdbc.Driver # HikariCP连接池配置 hikari: @@ -31,7 +31,7 @@ spring: redis: host: 127.0.0.1 port: 6379 - password: GEmYoQJV2xhONS1t # 生产环境密码 + password: GEmYoQJV2xhONS1t database: 0 timeout: 5000ms lettuce: diff --git a/AIGC-admin/backend/src/main/resources/prompts/paper_generation_user.txt b/AIGC-admin/backend/src/main/resources/prompts/paper_generation_user.txt index abce52a..f692889 100644 --- a/AIGC-admin/backend/src/main/resources/prompts/paper_generation_user.txt +++ b/AIGC-admin/backend/src/main/resources/prompts/paper_generation_user.txt @@ -1,4 +1,21 @@ -请严格按照中国高校学术论文标准格式,生成一篇完整的学术论文。 +请严格按照中国高校学术论文标准格式,生成一篇完整的学术论文。 + +【极其重要 - 论文章节生成顺序】 +论文必须严格按照以下顺序生成,不得跳过任何章节: +1. 封面 +2. 摘要(中文摘要+关键词) +3. Abstract(英文摘要+Keywords) +4. 一、引言(第一章,必须生成!包含4个小节) +5. 二、相关理论与技术(第二章) +6. 三、[核心章节] +7. 四、[核心章节] +8. 五、[核心章节] +9. 六、总结与展望 +10. 参考文献 +11. 附录 +12. 致谢 + +特别强调:正文第一章必须是"一、引言",绝对不允许跳过直接从"二、相关理论与技术"开始! 【核心规范(优先遵守,允许适当灵活)】 1. 建议每个段落控制在4-8句左右,可根据内容酌情增减;避免只有1-2句的极短段落 @@ -52,7 +69,7 @@ 下面给出的【科研论文格式 - IMRaD】仅作为结构参考,不要直接采用该结构生成成品论文,更不能因为选用了 IMRaD 而省略摘要或 Abstract。 【各章节字数占比建议】 -- 绪论/前言:15% +- 引言/前言:15%(这是第一章,必须生成!) - 理论基础/材料方法:15% - 核心章节(需求分析/设计/实现/结果):55% - 结论与展望:10% @@ -107,7 +124,7 @@ 【极其重要 - 摘要与 Abstract 要求】 1. 论文必须包含完整的中文摘要和英文摘要(Abstract),严禁省略英文摘要。 -2. 生成顺序必须是:先输出“摘要”页(中文摘要+关键词),紧接着输出“Abstract”页(英文摘要+Keywords),然后再从“# 一、绪论”开始正文。 +2. 生成顺序必须是:先输出“摘要”页(中文摘要+关键词),紧接着输出“Abstract”页(英文摘要+Keywords),然后再从“# 一、引言”开始正文。 3. 英文摘要应当是对中文摘要内容的准确学术化翻译和适度改写,不能只是简单复制中文拼音或逐字直译。 4. 如果题目或专业为中文,也要在 Abstract 中给出自然的英文表达(可根据上下文自行翻译)。 @@ -128,17 +145,28 @@ - 英文摘要(建议约300个英文单词,控制在250-350词内,1-2个完整段落,内容与中文摘要对应且简洁,不得缺失任何核心信息) - Keywords(与中文关键词一一对应的英文关键词,用分号分隔) -【重要】不要生成目录章节,目录将由Word自动生成。请直接从'一、绪论'开始。 +【重要】不要生成目录章节,目录将由Word自动生成。请直接从'一、引言'开始。 -# 一、绪论 +【极其重要 - 章节顺序要求】 +论文正文必须严格按照以下顺序生成,不得跳过任何章节: +1. 先生成"一、引言"章节(包含研究背景、研究现状、研究内容、论文结构四个小节) +2. 再生成"二、相关理论与技术"章节 +3. 然后依次生成后续章节 +严禁直接从"二、相关理论与技术"开始,必须先完整写完"一、引言"! + +===== 正文从这里开始 ===== +【警告】下面是论文正文的第一章"一、引言",这是必须生成的章节,不得跳过! + +# 一、引言 +【注意】这是论文正文的第一章,必须完整生成以下四个小节的内容: ## (一)研究背景与意义 -从行业发展、社会需求、技术趋势等角度详细阐述研究背景,分别论述理论意义和实践意义 +从行业发展、社会需求、技术趋势等角度详细阐述研究背景,分别论述理论意义和实践意义。本小节需要3-5个完整段落,每个段落4-8句话。 ## (二)国内外研究现状 -分别综述国外研究和国内研究,按时间线或主题组织,评述各研究的贡献和局限,指出研究空白 +分别综述国外研究和国内研究,按时间线或主题组织,评述各研究的贡献和局限,指出研究空白。本小节需要4-6个完整段落。 ## (三)研究内容与方法 -详细说明研究的主要内容、采用的研究方法及其选择依据 +详细说明研究的主要内容、采用的研究方法及其选择依据。本小节需要2-3个完整段落。 ## (四)论文组织结构 -概述论文各章节的主要内容和逻辑关系 +概述论文各章节的主要内容和逻辑关系。本小节需要1-2个完整段落。 # 二、相关理论与技术 ## (一)核心概念与理论基础 @@ -210,4 +238,9 @@ - 禁止只给结论不给分析过程 - 禁止在正文第一段堆叠多个文献号如[1][2][3][4] +【最后提醒 - 必须遵守,违反将视为生成失败】 +1. 【铁律】论文正文第一章必须是"一、引言",这是论文的第一个正文章节,不得跳过直接写"二、相关理论与技术" +2. 生成顺序:摘要 → Abstract → 一、引言 → 二、相关理论与技术 → 后续章节 +3. 每一章都必须完整生成,不得遗漏 + 请按照以上格式生成完整的学术论文,使用Markdown格式输出,标题层级使用#、##、###表示。 diff --git a/aigc-ui/package-lock.json b/aigc-ui/package-lock.json index ea9d16c..ca32cd4 100644 --- a/aigc-ui/package-lock.json +++ b/aigc-ui/package-lock.json @@ -862,7 +862,6 @@ "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/lodash": "*" } @@ -1331,7 +1330,6 @@ "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.0.0.tgz", "integrity": "sha512-w12U97Z6edKd2tXDn3LzTLg7C7QLJlx0BPfM3ecjK2BckUl9/81vZ+r5gK4/3KQdhAcEZhENUxRhtgYBj75MqQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "fast-png": "^6.2.0", @@ -1357,15 +1355,13 @@ "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lodash-unified": { "version": "1.0.3", @@ -1447,7 +1443,6 @@ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -1611,7 +1606,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1634,7 +1628,6 @@ "resolved": "https://registry.npmmirror.com/vite/-/vite-7.2.6.tgz", "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -1709,7 +1702,6 @@ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.25.tgz", "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.25", "@vue/compiler-sfc": "3.5.25",