| 这个作业属于哪个课程 | Click |
|---|---|
| 这个作业要求在哪里 | Click |
| 这个作业的目标 | 搭建个人博客与GitHub主页,完成大模型API调用的前端交互练习,并梳理个人的技能现状与未来规划。 |
| 学号 | 112400810 |
一、Preparation
这部分本没什么好说的,但注意事项第一条说"越能让助教记住你的博客,越能获得更高的评价"还是让我没忍住想整点烂梗——
我是 雷葭雨 ,名字拆开大概就是 ⚡️+☔️ ,一个可以充当天气预报的人。希望这个冷到结冰的谐音梗能让助教在批改的时候多停留两秒,多给两分(不是)。

言归正传:
二、HuggingFace API 调用
(一)从 Token 到第一个可视化页面
1. 获取 Access Token
- 访问 https://huggingface.co/,注册并登录。
- 点击右上角个人头像,选择 Settings。
- 在左侧菜单点击 Access Tokens。
- 点击 Create new token,建议类型选择具有 Inference 权限的 Token,名称随意,比如
flux-gen。 - 创建后立刻复制并保存好 Token(形如
hf_xxxxxxxxxxxxxxxxxxxx...)——这串 Key 只会显示一次,关掉页面就看不到了。
2. 为什么用 Gradio
作为前端小白,G 老师()推荐我用 Gradio 快速搭可视化界面。实际用下来,只需要简单的 Python 代码,就能得到一个清爽的大模型交互页面。
在我看来,一个 Gradio 页面就三部分:
- 🛠️ 容器:用
gr.Blocks()创建页面容器,所有内容都在里面展示。 - ⌨️ 输入:支持的输入类型很多,常用的有
gr.Textbox文本框、gr.Button按钮、gr.Image图像、gr.HTML前端样式文本等。 - 🖱️ 输出:输出组件和输入一一对应,模型函数返回什么,就在什么组件上展示。
整个流程串起来就是:定义一个容器 → 定义输入组件 → 写一个处理函数接收输入、返回输出 → 把结果绑定到输出组件上。
全程使用感受:好用、快、真 0 基础。
3. 项目结构
Flux-realism-web/
│
├── app.py # 主程序
├── requirements.txt # 依赖清单
├── .env.example # 环境变量模板
├── .gitignore
├── README.md
└── images/ # 生成图片存放目录
- 基本环境准备:
python3 -m venv venv
source venv/bin/activate
- 安装前后端交互和 API 请求需要的依赖:
pip install gradio huggingface_hub pillow requests
- 启动脚本:
python3 app.py
稍等片刻,终端会打印出类似下面的提示:
Running on local URL: http://127.0.0.1:7860
说明本地服务器搭建完毕。打开浏览器访问该地址即可进行交互测试。想要停止服务时,在终端按下 Control + C即可。
- API 调用成功的记录

(二)Prompt 设计思路与修改过程
目标是生成「最贴近真实世界」的图像。提示词主要围绕四个维度迭代:光影、纹理、镜头参数、细节描写。
| 版本 | 调整思路 | 结果与判断 |
|---|---|---|
| V1 | 明确时间(傍晚)、环境(咖啡馆窗边),指定自然软光、大光圈虚化,强调用真实皮肤纹理 | 人物已经具有照片感,但始终差一点自然,能感到明显的生成痕迹 |
| V2 | 放弃继续生成人物,改用一张原相机拍摄的风景照作为观察对象,尝试复刻其场景结构 | 场景大致还原出来了,但画面过于整洁,少了点「人气」 |
| V3 | 将 Guidance Scale 调低到 3,删除“高清”“完美”等词,加入negative prompt |
确实打破了完美滤镜,也顺便打开了另一扇略显抽象的大门 |
0x01
生成的人物和我想象中其实差不多,塑料感偏重hhhhhh。继续修改参数和提示词估计对“真实感”的提升不大,所以我打算换个方向看看。
0x02
想象力实在不咋丰富的我找了一张原相机拍摄的风景图作为底版。结果就是基本能还原场景,也出现了 AI 绘图的常见问题:画面太干净,物体摆放太规整,和真实世界有一定差距。

0x03
这次把 Guidance Scale 调到了 3,同时放弃所有「高清、完美」之类的词,反过来用「噪点」「陈旧」「未对齐」这类描述,试图打破 AI 自带的完美滤镜。结果……

回头看这三轮迭代,好像就是把生成过程当作调试:先观察偏差,再判断原因,只修改少量变量,最后比较结果。Prompt更像一份写给模型看的需求文档,需求说得含糊,模型就自由发挥;需求写得太满,它也可能用力过猛。
- 最后揭晓一下原片

(三)一点心得
实操下来最大的感受是:调用API本身并不复杂,真正的门槛在另外两个地方。
一是需求表达。如何提炼场景特征,怎么根据模型每次的输出反推问题出在 Prompt 的哪一部分、再针对性调整,是控制生成质量的关键。
二是工程集成。能在接口里调出一张图,和把云端模型能力封装进一个真正能用的程序界面是两回事。后者才是把 AI 算法变成可用产品绕不开的路。
三、GitHub 个人主页搭建
- Readme:
戳一下呗 - GitHub Pages 部署:https://lllee9033-lab.github.io/

关于规划没写的原因是我从不规划未来,每次有人聊三十岁要如何如何,我都好想打断,你怎么确信自己就能活到三十岁呢,就好像你怎么确信生活就能这样自然地发生下去…你无端默认明天你还会醒来,明天还会重复,对我来说不可思议。生活的本质是一种自觉的信任,大家都默认了,我怎么还在迟疑。
四、随笔
熟悉链表、树、图等常用数据结构,以及动态规划、贪心、搜索等基础算法。具备一定的图论算法应用经验,也尝试过生物芯片布线问题的算法优化。
B:底层汇编与硬件机制概念
理解计算机底层指令执行过程和基本内存管理机制,学习过 x86 汇编语言及 MASM 开发工具,具备基础的底层程序阅读和调试能力。
C:数据处理与建模分析
能够使用 Python 完成数据提取、结构化清洗和基础统计分析,具备数学建模与拆解复杂逻辑问题的实践经验。
- 缺少多人协作和长期维护项目的经验;
- 对需求分析、任务拆分和正规开发等规范流程不熟悉;
- 面向对象分析与设计的实践积累不足;
- 没有系统使用测试驱动开发,自动化测试意识仍需建立;
- 对 CI/CD 和实际部署流程的认识较浅;
兴趣
- FPGA:希望进一步理解软硬件协同与数字系统实现;
- 深度学习:希望从“会调用模型”继续走向“理解模型为什么这样工作”;
- 软件工程实践:希望把单人完成的程序变成可协作、可测试、可部署的项目。
代码量
截止目前累计代码量大约 2~3k(自己估的,存疑)。
课程结束前的目标:新增 6k+++。
期待的收获
希望学习的是一套完整的软件开发方式,和团队一起协作,完整部署一个落地、可执行的具体项目。
我选择 Gemini 生成了一份简要的软件工程课程学习指南。其核心要点:
- 打牢 UML 与 SOLID 原则等设计基础;
- 遵循 Git Feature 分支工作流,重视版本管理与协作;
- 贯彻测试驱动开发(TDD),先明确预期行为,再编写实现;
- 尽早走通持续集成与持续部署(CI/CD)的完整流程。
我的评价是直击痛点。不过 AI 的建议总带点「理想主义」的幽默——现实里 DDL 压过来的时候,怎么守住底线,终究还得练。
希望以后我能心平气和地看着满屏绿色的测试流水线顺畅跑通,而不是半夜对着烧完的token怀疑人生。
五、起标题我的认真的
-附录

浙公网安备 33010602011771号