Group-manga_generate/README.md
2026-01-09 08:31:55 +08:00

4.6 KiB
Raw Blame History

团队成员与贡献

姓名 学号 主要贡献
王斌 2411020213 (组长) Prompt 工程优化及最终项目汇报
翟宇轩 2411020215 后端架构设计
吴磊 2411020211 项目的整理,检查和编写

项目简介

本项目旨在打造一个零门槛、开箱即用的 AI 文生图创作平台,让每个人都能轻松实现纯文本创作专业级 AI 画作。 简单的一段文本就能轻松生成一幅画,让那些曾只存于想象或他人笔下的画面以图像的形式浮现眼前,或许会别有一番风味?

核心功能

  • 🎨 智能 Prompt 生成基于中文描述自动优化为专业英文提示词PydanticAI 驱动结构化生成)
  • 🖼️ 多风格支持:写实、动漫、油画、水彩等 10+ 预设风格
  • 实时生成:调用云端 API无需本地显卡秒级出图
  • 💾 历史记录:自动保存生成历史,支持下载与对比
  • 🎛️ 参数调优:图像尺寸、采样步数、引导系数自定义

如何运行

环境要求

  • Python 3.9+
  • 互联网连接(用于调用 API

快速开始

1. 克隆仓库

git clone http://hblu.top:3000/Python2025-CourseDesign/Group-manga_generate.git
cd manga_generate

2. 安装依赖

使用 uv

uv sync

3. 配置 API Key

在程序主页配置

4. 启动应用

uv run python3 backend/app.py

打开另一个终端

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                 # 项目说明文档