## 团队成员与贡献 | 姓名 | 学号 | 主要贡献 | |------|------|----------| | 王斌 | 2411020213 | (组长) Prompt 工程优化及最终项目汇报 | | 翟宇轩 | 2411020215 | 后端架构设计 | | 吴磊 | 2411020211 | 项目的整理,检查和编写 | --- ## 项目简介 本项目旨在打造一个**零门槛、开箱即用**的 AI 文生图创作平台,让每个人都能轻松实现纯文本创作专业级 AI 画作。 简单的一段文本就能轻松生成一幅画,让那些曾只存于想象或他人笔下的画面以图像的形式浮现眼前,或许会别有一番风味? ### 核心功能 - 🎨 **智能 Prompt 生成**:基于中文描述自动优化为专业英文提示词(PydanticAI 驱动结构化生成) - 🖼️ **多风格支持**:写实、动漫、油画、水彩等 10+ 预设风格 - ⚡ **实时生成**:调用云端 API,无需本地显卡,秒级出图 - 💾 **历史记录**:自动保存生成历史,支持下载与对比 - 🎛️ **参数调优**:图像尺寸、采样步数、引导系数自定义 --- ## 如何运行 ### 环境要求 - Python 3.9+ - 互联网连接(用于调用 API) ### 快速开始 #### 1. 克隆仓库 ```bash git clone http://hblu.top:3000/Python2025-CourseDesign/Group-manga_generate.git cd manga_generate ``` #### 2. 安装依赖 使用 `uv` ```bash uv sync ``` #### 3. 配置 API Key 在程序主页配置 #### 4. 启动应用 ```bash uv run python3 backend/app.py ``` 打开另一个终端 ```bash uv run streamlit run frontend/main.py ``` 浏览器自动打开 `http://localhost:8501` #### 5. 开始体验 万事俱备后,便可输入相应的信息与需要生成图像的文本,最后点击生成后便可获取相应的图像了。 --- ## 开发心得 在生活中,我们常常遇到这样一个问题:有些想法的实现需要大量的技术,可大多数人往往不具备这个技术要求。所以这些想法的结果往往都是被人淡忘,直到AI的出现,这些 想法的实现开始有了转机,这也是我们做这个项目的契机之一。
文本往往不是易于理解和感受的,即使是大作家的文章也需要读者逐字逐句地细细品鉴,相比较而言,图片总是更加直观且便于理解的。若是能将枯燥的文本以另外一种方式展示 给用户,岂不是大大增加了文本的可读性?可我们并未掌握实现这一目标的全部技术,但是AI具有这个能力啊,因此,为了实现这一目标,我们小组开始行动起来。
我们首先和AI表达了我们的基本需求,而AI确实生成了一个相对应的界面,可是无法生成想要的图片、各式各样的报错以及界面杂乱不具备观赏性等等问题层出不穷。于是我们 将报错的信息告诉AI,这个问题可能确实修复了,又出现了另外一个问题,甚至这种情况多发生在AI表示已经理解了我们的需求之后,如此循环往复的过程耗费了大量的时间和 精力,也大大打击了我们的信心,甚至做到后面有一个不错的结果都没有太强的成就感。
在不断报错然后debug的过程中,我们也明白了一个道理:做出来只是第一步,而优化成预想的模样总是任重而道远。同时,我们也不得不感叹AI的强大之处:让“普通人”借助它 的能力跨越技术的阻隔来实现所设想的目标。此外,在不断协作开发的过程中,也感叹,多角度思考对解决问题确实大有裨益。
--- ## 项目结构 ``` manga_generate/ ├── backend/ # 后端代码目录 │ ├── agent.py # 代理/AI逻辑实现 │ ├── app.py # 后端 API 服务入口 │ └── utils.py # 通用工具函数 ├── frontend/ # 前端代码目录 │ └── main.py # Streamlit 前端主程序入口 ├── data/ # 数据存储 │ └── history.json # 历史记录数据 ├── images/ # 图片资源目录 │ ├── background.png # 背景图片 │ └── ... # 其他图片资源 ├── .venv/ # Python 虚拟环境 ├── backend.log # 后端运行日志 ├── main.py # 根目录入口脚本 ├── pyproject.toml # 项目配置与依赖管理 ├── uv.lock # 依赖锁定文件 ├── LICENSE # 开源许可证 └── README.md # 项目说明文档 ```