第20章 主线项目(上):多模态创作 AI 工作站框架搭建
-
目标概述:从本章开始,读者将综合运用前面章节所学,分段实现贯穿全书的主线项目——多模态创作 AI 工作站。本章主要搭建项目基础框架,包括确定功能模块、建立项目结构、实现核心架构。多模态工作站旨在提供一个平台,让用户在其中进行文本、图像、甚至音频的创意生成和交互。本章之后,21、22章将逐步填充各模块细节并完成部署。
-
项目愿景:先向读者描绘主线项目的全貌:它汇聚此前多个小项目功能于一身——既能聊天答疑,又能生成内容、制作PPT,甚至处理图像问答,成为一个综合性AI工具集。用户界面拟采用Web界面,方便选择不同功能。此处明确各子功能:聊天助手、知识问答、内容创作、PPT生成、视觉问答等,以及如何在一个应用中组织它们。
-
模块划分:根据功能将项目分为若干模块/子系统:
-
对话模块(Chat Module):用于一般聊天和问答(整合CLI聊天机器人的能力和知识库QA);
-
创作模块(Creation Module):用于生成文章、博客等内容(整合内容创作Bot功能);
-
演示模块(Presentation Module):用于生成PPT(整合PPT助手功能);
-
视觉模块(Vision Module):用于图像问答(整合视觉QA);
每个模块可以有前端界面和后端API分别实现。提示AI按照MVC思想组织代码,如各模块有各自路由。 -
项目结构建立:利用AI生成初始项目目录和文件。提示词示例:“创建一个多模块Flask应用,每个子应用在 blueprint 下:chat, creation, presentation, vision。设置 main.py 来启动整个应用。” AI 输出的结构比如:
-
app/
-
init.py
-
chat.py
-
creation.py
-
presentation.py
-
vision.py
-
templates/(如有前端页面)
-
static/(静态资源)
-
main.py
截图展示AI生成的项目结构树和关键初始化代码。 -
核心架构实现:让AI生成 app/init.py 内容:注册各模块blueprint,配置全局设置。截图展示代码并解释 Flask blueprint 的概念。然后生成一个简单的模块骨架代码,例如 chat.py 内定义路由 /chat 返回“Chat module up”占位内容等等,保证整体可运行。
-
流程图:绘制工作站高层架构图:前端各功能入口 -> 后端各模块 -> 内部再调用LLM或其他服务 -> 返回结果。让读者清楚模块之间关系和数据流向。
-
整合先前成果:在本章可能不实现所有细节,但指出将复用前面章节的算法和提示:例如 Chat模块将用到CLI聊天机器人的逻辑、知识库检索;Creation模块用之前的内容Bot;Presentation模块会调用之前的PPT生成代码;Vision模块复用视觉QA逻辑。为避免重复,实际实现中会提取公共部分如 LLM API 调用作为一个util模块。
-
样例项目代码结构:列出当前完成的文件和空函数列表,表示框架已就绪,功能待填充:
-
app/chat.py:(函数 get_answer(question) 待实现:结合知识库和聊天)
-
app/creation.py:(函数 create_content(params) 待实现)
-
...
-
main.py:启动 Flask 应用。
这让读者知道接下来每章会往这些模块里添加代码。 -
测试框架:在结尾提醒已配置测试环境依然可用,鼓励读者在完善每模块后编写测试确保各部分协同工作。当前可以启动服务器(截图终端输出“Running on http://localhost:5000”),并访问各模块URL返回占位响应,验证路由正常工作。
-
术语解释:复习并解释“模块”“Blueprint”“MVC 架构”等。因为项目开始变大,概念跟上很重要。强调架构清晰可扩展的重要性,这也是为何前面小项目没有简单糅合而是最后专章来集成。