LongGeneration.md 4.0 KB

长篇小说生成模块 uml编写

一、Scheema范式设计

长篇小说生成模块

  • 模块描述

    • 用户可以创建长篇小说项目,创建长篇小说项目时,可以添加人物词条。
    • 每个项目可以添加多个章节。每个章节能够通过填写章节大纲利用ai模型生成章节内容。生成的章节内容能够手动修改。

      1.表设计

      1.1 长篇小说项目表(LongProject)

  • objectId: String (唯一标识)

  • createdAt: Date (创建时间)

  • title: String (项目标题)

  • long_characters: Array (人物列表,指向人物表)

  • chapters: Array (章节列表,指向章节表)

    1.2 长篇小说人物表(LongCharacter)

  • objectId: String (唯一标识)

  • createdAt: Date (创建时间)

  • name: String (人物名称)

  • role: String (人物角色)

  • description: String (人物描述)

  • project: Pointer (所属项目,指向长篇小说项目表)

    1.3 章节表(Chapter)

  • objectId: String (唯一标识)

  • createdAt: Date (创建时间)

  • title: String (章节标题)

  • content: String (章节内容)

  • project: Pointer (所属项目,指向项目表)

  • PlantUML 类图表示

    以下是用PlantUML表示的类图:

    @startuml
    
    class LongProject {
        +objectId: String
        +createdAt: Date
        +title: String
        +long_characters: Array>
        +chapters: Array>
    }
    
    class LongCharacter {
        +objectId: String
        +createdAt: Date
        +name: String
        +role: String
        +description: String
        +project: Pointer
    }
    
    class Chapter {
        +objectId: String
        +createdAt: Date
        +title: String
        +content: String
        +project: Pointer
    }
    
    LongProject "1" -- "0..*" LongCharacter : contains
    LongProject "1" -- "0..*" Chapter : contains
    
    @enduml
    

    二、业务逻辑描述

    长篇小说生成的完整逻辑

    创建逻辑

    • 用户在APP内,通过填写长篇小说名称、添加人物词条,点击提交按钮,触发创建长篇小说项目的逻辑。
      • 数据来源
      • 用户输入长篇小说名称,人物词条等数据。
      • 文本生成
      • 提示词: 人物生成提示词
      • 结果储存
      • LongProject
        • 项目标题title
      • LongCharacter
        • 人物名称name
        • 人物角色role角色在小说中的定位
        • 人物描述description完整人物描述
    • 添加章节,根据章节大纲生成章节内容

      • 数据来源
      • LongCharacter
      • 用户输入:章节标题,章节大纲
      • 文本生成
      • 提示词: 章节内容生成提示词(章节大纲)
      • 生成结果
      • 章节内容content(生成的章节内容可以手动修改)

        长篇小说生成业务逻辑图例

        @startuml
        
        actor User
        participant "App" as App
        participant "LongProject" as LongProject
        participant "LongCharacter" as LongCharacter
        participant "TextGenerationService" as TextGen
        participant "Chapter" as Chapter
        
        == 创建长篇小说项目 ==
        User -> App: 输入长篇小说名称
        User -> App: 添加人物词条
        User -> App: 点击提交按钮
        App -> LongProject: 创建项目
        LongProject ->LongProject : 保存项目标题(title)
        LongProject ->LongCharacter:  添加人物词条(name, role, description)
        LongProject -> App: 项目创建成功
        
        == 添加章节 ==
        User -> App: 输入章节标题
        User -> App: 输入章节大纲
        App -> TextGen: 生成章节内容\n(根据章节大纲)
        TextGen -> Chapter: 创建章节\n(title, outline, content)
        Chapter -> App: 章节创建成功
        App -> User: 显示章节内容\n(content可手动修改)
        
        @enduml
        

    说明

    • 用户输入长篇小说名称和人物词条,并点击提交按钮。
    • APP接收到输入后,调用LongProject创建项目,并返回创建成功的消息。
    • 用户填写章节标题和章节大纲,APP调用文本生成服务生成章节内容,使用章节大纲作为提示词。
    • 生成的章节内容存储在Chapter表中,并返回创建成功的消息给APP。
    • APP向用户展示生成的章节内容,内容可以手动修改。

    您可以将上述代码放入支持PlantUML的工具中生成相应的时序图。