软件工程第一次作业
| 这个作业属于哪个课程 | 202601软件工程 |
|---|---|
| 这个作业要求在哪里 | 2026秋软件工程个人作业(第一次) |
| 这个作业的目标 | 完成账号准备,掌握 Hugging Face API 调用与前端交互生成图像,搭建 GitHub 个人主页,梳理个人技能树与学习规划 |
| 学号 | 152402217 |
软件工程课程第一次个人作业
一、准备工作
账号为jaylor929
博客园账号已建立,已关注老师与助教博客
二、Hugging Face API 的调用
2.1 注册与获取 API
注册账号同样为jaylor929
进入个人设置页面 Settings → Access Tokens,创建一个新的 Access Token命名为homework-1,选择的是Inference类型,因为要调用API。

复制生成的 API Token,妥善保存。
2.2 模型选择
本次调用使用模型:XLabs-AI/flux-RealismLora
该模型基于 Flux 基础模型,通过 LoRA 微调增强了写实风格图像的生成能力,适合生成贴近真实世界的图像。
2.3 调用代码与前端交互实现

使用了fal代理商的部分代码来搭建网页
import os
from huggingface_hub import InferenceClient
client = InferenceClient(
provider="fal-ai",
api_key=os.environ["HF_TOKEN"],
)
image = client.text_to_image(
"Astronaut riding a horse",
model="XLabs-AI/flux-RealismLora",
)
2.4 调用成功的记录


2.5 前端页面生成图像与修改过程
我想要重现现实生活中钢琴家在台上表演这样的场景,因此我先设计了第一版提示词:
a realistic photo of a female pianist in an elegant concert dress, playing a grand piano on a concert stage, dramatic spotlight shining down, audience blurred in background, sharp focus, high quality, photorealistic, professional photography
有在提示词里面强调贴近现实生活的几个关键词: sharp focus, high quality, photorealistic, professional photography
出来的效果是这样的:

这张照片第一眼看过去还是可以的,不过问题在于audience blurred in background完全没有体现,以及人物皮肤偏 AI 光滑塑料感,缺少真人皮肤细微纹理。
所以为了进一步改进,使用了第二版提示词:
photorealistic photo, young female pianist, wearing elegant long red strapless concert gown, sitting and playing black grand piano, concert hall stage, strong dramatic top spotlight, dim ambient hall light, blurred silhouette audience sitting in dark background, wooden stage floor, natural skin texture, skin pores, realistic hand anatomy, correct piano finger posture, fabric natural folds, shallow depth of field, shot on Sony A7R4, 85mm f1.4 lens, high detail, sharp focus, cinematic lighting, professional concert photography, 8k
deformed hands, extra fingers, missing fingers, distorted anatomy, plastic skin, cartoon, illustration, painting, anime, ugly, blurry face, bad proportions, empty background, wall background, oversaturated colors
有了正面提示词和负面提示词更具体的描述,AI终于能够正确识别到我的需求,后面是模糊有观众的。

背景有观众剪影、舞台空间更完整、聚光和钢琴反光也更自然。
比上一版有所进步。
2.7 API 调用操作步骤总结
-
注册 Hugging Face 账号并获取 Access Token。
-
选择目标模型 XLabs-AI/flux-RealismLora。
-
使用 Flask 搭建后端,通过 huggingface_hub 的 InferenceClient 调用模型生成图像。
-
前端使用 fetch 发送提示词,接收后端返回的 base64 图像数据,并渲染到页面上展示。
-
调整提示词,观察生成效果,迭代优化。
-
记录调用成功截图与最终生成图像截图。
2.8 体验与心得
体验: Hugging Face 的 Inference API 接入简单,文档清晰,适合快速验证模型效果。Flux Realism LoRA 在写实风格上表现优秀,但免费额度有限。同时,这个模型毕竟不是最新的模型,和我们现在的seedance模型比起来还是差远了。同样的第一版关键词我扔给豆包生成图片,首先它能够准确识别我所有的内容,其次也更贴近现实世界的质感。最后,它的构图更好,聚焦于钢琴家身上,人体姿态自然,手指清晰度高了很多并且没有错误。所以AI真的是需要站在潮头望的不断发展的产品。
心得:
提示词工程对生成质量影响极大,结构化、参数化的提示词能显著提升效果。
前后端分离的交互方式让调用过程更直观,便于调试和展示。
API Token 应通过环境变量管理,避免泄露。
免费 API 存在使用次数限制,实际项目中需考虑重试机制与错误处理。
三、GitHub 个人主页搭建
个人主页是jaylor929
四、博客园随笔
以及编辑过程中的图片


浙公网安备 33010602011771号