使用扣子智能体开发论文写作应用
项目概述
随着人工智能技术的快速发展,自动化写作工具逐渐成为了研究人员和学生提高工作效率的必备工具。本项目使用扣子智能体开发了一款自动化论文写作应用,能够根据用户输入的论文题目、描述、子章节数、每章字数等参数,自动生成一篇完整的论文。通过一系列智能工作流,用户可以快速获取论文提纲、子章节内容,并生成最终的PDF文档。
主要功能
- 论文提纲自动生成:根据论文题目、描述以及子章节数,自动生成论文的一级标题。
- 子章节内容编写:根据论文提纲,自动生成每个子章节的内容。
- 数据库存储:将所有生成的子章节内容存储到数据库中,确保数据持久化。
- 生成PDF文档:将生成的章节内容拼接成完整的论文,并导出为PDF文件。
- 实时预览:用户可以在界面中实时预览论文内容,确保结果符合预期。
工作流设计
本应用的工作流是通过扣子智能体工作流引擎来实现的。工作流包含多个节点,每个节点承担特定任务,共同完成论文的自动生成。
以下是具体的工作流设计:
1. 开始节点
工作流的起始节点,用户需要输入以下参数:
- paperTitle:论文标题
- paperDesc:论文描述
- numSubsection:一级标题数(即论文的章节数)
- numSubsectionText:每个子章节的字数
这些输入参数将用于后续节点的自动生成任务。
2. 论文ID生成
此节点为代码节点,用于生成论文的唯一ID。通过JS代码生成UUID,确保每篇论文都能有一个唯一的标识符,便于追踪和管理。
3. 论文提纲编写
此节点使用大模型生成论文提纲,输入参数包括论文标题、描述以及子章节数。大模型根据这些输入,自动生成论文的一级标题,并输出一个包含一级标题的数组 subsectionTitles。
输入参数:
paperTitle:论文标题
paperDesc:论文描述
numSubsection:一级标题数
输出:
subsectionTitles:包含论文一级标题的数组
4. 循环编写子章节
在此节点,系统将遍历 subsectionTitles 数组,为每个一级标题生成详细的子章节内容。此节点由多个子节点组成,
具体包括:
4.1 论文章节内容编写
该子节点通过大模型生成每个子章节的具体内容,输入参数包括:
paperTitle:论文标题
paperDesc:论文描述
subsectionTitle:当前子章节的标题
subsectionTitleIndex:当前子章节的索引
4.2 SQL拼接
此文本节点负责将生成的章节内容拼接成SQL插入语句,以便将内容存储到数据库中。
4.3 子章节内容存储
通过 mysql_tool 插件执行上一节点生成的SQL语句,将生成的子章节内容插入数据库表格中。
5. 论文内容拼接
此节点通过代码将所有生成的子章节内容拼接成一篇完整的论文。最终的论文内容将输出为一个字符串,供后续生成PDF文档使用。
6. 创建文档
该节点通过 create_document 插件,将拼接好的论文内容与论文标题等信息一同生成PDF文档。
输入参数:
paperTitle:论文标题
subsectionContents:拼接后的论文内容字符串
输出:
PDF文件:最终生成的PDF文件
7. 结束节点
这是工作流的结束节点,输出上一节点生成的PDF文档链接。
用户界面设计
应用的用户界面设计简洁直观,用户可以通过界面输入论文相关参数并实时预览生成的论文内容。界面包含以下几个部分:
输入框:用于输入论文标题、论文描述、子章节数、每个子章节字数等。
生成论文按钮:点击按钮后,系统将根据用户输入自动生成论文。
文档预览:使用Markdown组件实时预览生成的论文内容。
界面设计简单易懂,用户只需提供必要的论文信息,系统便能自动完成剩余的工作。
界面展示效果
用户只需填写以下字段:
论文标题:用户自定义论文的标题。
论文描述:简要描述论文的主题或研究方向。
子章节数:论文的章节数量。
子章节字数:每个章节的字数。
点击“生成论文”按钮后,系统将根据这些输入自动生成论文的内容,并展示在文档预览区,用户可以随时查看。
演示效果展示
用户界面截图
下面展示了用户输入论文标题、描述、子章节数和字数后的界面效果:
论文内容生成
用户点击“生成论文”按钮后,系统会展示实时预览。用户可以查看论文提纲及每个子章节的内容,直至最终生成完整的论文内容。
PDF生成与下载
生成的论文会以PDF格式提供下载,用户可以点击“下载论文”按钮获取完整的PDF文档。
总结
通过使用扣子智能体的工作流引擎,我们成功开发了一个自动化论文写作应用。该应用能够根据用户的输入自动生成论文的提纲、章节内容,并将其拼接为一个完整的论文,最后导出为PDF格式。这种自动化的写作工具能够大大提高写作效率,为学术研究人员、学生等提供有力的支持。
通过扣子智能体的强大功能,工作流自动化处理、数据存储、PDF生成等任务实现了高度集成,为用户带来流畅的写作体验。