115 lines
3.4 KiB
Markdown
115 lines
3.4 KiB
Markdown
## 团队成员与贡献
|
||
|
||
| 姓名 | 学号 | 主要贡献 |
|
||
|------|------|----------|
|
||
| 王斌 | 2411020213 | (组长) Prompt 工程优化及最终项目汇报 |
|
||
| 翟宇轩 | 2411020215 | 后端架构设计 |
|
||
| 吴磊 | 2411020211 | 项目的整理,检查和编写 |
|
||
|
||
---
|
||
|
||
## 项目简介
|
||
|
||
本项目旨在打造一个**零门槛、开箱即用**的 AI 文生图创作平台,让每个人都能轻松实现纯文本创作专业级 AI 画作。
|
||
简单的一段文本就能轻松生成一幅画,让那些曾只存于想象或他人笔下的画面以图像的形式浮现眼前,或许会别有一番风味?
|
||
|
||
### 核心功能
|
||
- 🎨 **智能 Prompt 生成**:基于中文描述自动优化为专业英文提示词(PydanticAI 驱动结构化生成)
|
||
- 🖼️ **多风格支持**:写实、动漫、油画、水彩等 10+ 预设风格
|
||
- ⚡ **实时生成**:调用云端 API,无需本地显卡,秒级出图
|
||
- 💾 **历史记录**:自动保存生成历史,支持下载与对比
|
||
- 🎛️ **参数调优**:图像尺寸、采样步数、引导系数自定义
|
||
|
||
---
|
||
|
||
## 如何运行
|
||
|
||
### 环境要求
|
||
- Python 3.9+
|
||
- 互联网连接(用于调用 API)
|
||
|
||
### 快速开始
|
||
|
||
#### 1. 克隆仓库
|
||
```bash
|
||
git clone http://hblu.top:3000/Python2025-CourseDesign/manga_generate.git
|
||
cd manga_generate
|
||
```
|
||
|
||
#### 2. 安装依赖
|
||
使用 `uv`
|
||
```bash
|
||
uv sync
|
||
```
|
||
|
||
#### 3. 配置 API Key
|
||
```bash
|
||
# 复制环境变量模板
|
||
cp .env.example .env
|
||
|
||
# 编辑 .env 文件,填入你的 API Key
|
||
# 支持:OpenAI DALL-E、Stability AI、Replicate 等
|
||
```
|
||
|
||
`.env` 文件示例:
|
||
```env
|
||
# 文生图 API 配置(三选一)
|
||
STABILITY_API_KEY=your_stability_ai_key_here
|
||
REPLICATE_API_TOKEN=your_replicate_token_here
|
||
OPENAI_API_KEY=your_openai_key_here
|
||
|
||
# 默认使用的 API 提供商
|
||
DEFAULT_PROVIDER=stability
|
||
```
|
||
|
||
#### 4. 启动应用
|
||
```bash
|
||
python3 backend/app.py
|
||
```
|
||
打开另一个终端
|
||
```bash
|
||
uv run streamlit run frontend/main.py
|
||
```
|
||
|
||
浏览器自动打开 `http://localhost:8501`
|
||
|
||
#### 5. 开始体验
|
||
万事俱备后,便可输入相应的信息与需要生成图像的文本,最后点击生成后便可获取相应的图像了。
|
||
|
||
|
||
---
|
||
|
||
## 开发心得
|
||
1. AI对小白很友好,不需要掌握过硬的基础便可轻松实现预定的任务。
|
||
2. 协作开发的感觉很好,多角度思考对解决问题大有裨益。
|
||
3. 若单纯急躁的使用AI进行开发,并没有带来什么成就感,反而是不断Debug的挫败感(国产AI真没用)。
|
||
4. 做出来只是第一步,优化成预想的模样总是任重而道远,往往会重复的报错然后重新的修改,且这个过程总会消耗大量的时间和精力。
|
||
5. AI并不能完全理解用户的需求,即使在表示理解后,生成的内容往往也不能完全符合用户的需求,甚至报错,且这种情况普遍存在。
|
||
|
||
---
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
Group-TextToImage/
|
||
├── app.py # Streamlit 主应用
|
||
├── backend/
|
||
│ ├── api_client.py # API 调用封装
|
||
│ ├── prompt_engineer.py # Prompt 优化引擎
|
||
│ ├── image_processor.py # 图像后处理
|
||
│ └── agent.py # PydanticAI 智能体定义
|
||
├── frontend/
|
||
│ ├── styles.css # 自定义样式
|
||
│ └── components.py # UI 组件库
|
||
├── .env.example # 环境变量模板
|
||
├── .gitignore # Git 忽略配置
|
||
├── requirements.txt # 依赖清单
|
||
└── README.md # 项目文档
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
|