软件工程第一次个人作业——Hugging Face API 调用与个人主页搭建

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16716
这个作业的目标 熟悉 Hugging Face API 调用与前端交互,完成 GitHub 个人主页建设,梳理个人技能树并借助 AI 工具规划学习
学号 102402125

一、准备工作

本次作业需要在三个平台完成注册与配置:

  • GitHub:注册账号并完善头像、昵称、个人简介等信息。
  • 博客园:注册账号,申请开通博客(审核约15分钟),将编辑器切换为 Markdown 编辑器,设置好昵称和头像。
  • Hugging Face:注册账号,在 Settings 中创建 Read 权限的 Access Token,并同意 Flux 模型的使用许可协议。

同时,已加入班级博客(H202601软件工程与软件工程实践),完成实名认证,并关注了任课老师黄兆武和助教李怡涵、焦圣蒙的博客。


二、Hugging Face API 调用 Flux 生成图像

2.1 模型说明

作业要求使用 XLabs-AI/flux-RealismLora 模型。该模型是一个 LoRA 权重,不能独立调用生成图像,需要搭配基础模型 black-forest-labs/FLUX.1-dev 一起使用。本次实践采用基础模型完成生成,并已提前同意该模型的许可协议。

2.2 操作步骤

整体流程可以概括为以下几步:

  1. 获取 Token:在 Hugging Face 的 Settings → Access Tokens 中创建一个 Read 权限的 Token,保存备用。
  2. 同意模型协议:打开 FLUX.1-dev 模型页面,点击 Agree and access repository,否则调用 API 时会返回 401 错误。
  3. 搭建后端:使用 Flask 编写一个 /generate 接口,接收前端传来的提示词,通过 huggingface_hub 库调用推理 API 生成图像,并将图像转为 base64 编码返回给前端。
  4. 编写前端:创建一个简单的 HTML 页面,包含提示词输入框、生成按钮和图片展示区域。点击按钮后,前端通过 fetch 请求后端接口,将返回的图像显示在页面上。
  5. 运行测试:启动 Flask 服务,浏览器访问本地页面,输入提示词即可生成图像。

2.3 运行结果

API 调用成功,前端页面正常显示生成的图像。相关截图如下:

image

2.4 提示词设计思路与修改过程

本次实践的目标是生成一张“最贴近真实世界的图像”,同时融入温馨治愈的 emoji 笑脸拟人元素。

第一版提示词: 只写了 a smiling emoji character,生成结果过于卡通,色彩饱和度过高,不符合“真实世界”的要求。

第二版提示词: 改为 a 3d render of a cute smiling face character, soft lighting,画面质感有所提升,但细节仍然不足,光影平淡。

第三版(最终采用): A photorealistic image of an adorable emoji-inspired character with a warm happy smiling face, big sparkling eyes, rosy cheeks, soft yellow body, sitting in a cozy sunlit room, gentle sunlight through window, soft shadows, ultra realistic, 8k, high detail, cinematic lighting, heartwarming atmosphere
通过添加 photorealisticultra realistic8khigh detail 等关键词强化真实感,同时用 gentle sunlightsoft shadowsheartwarming atmosphere 营造温馨治愈的氛围,最终生成效果满意。

设计心得:

  • Flux 模型对英文提示词响应最好,中文提示词效果不稳定。
  • photorealisticultra realisticcinematic lighting 等关键词能显著提升真实感。
  • adorablewarmheartwarming 等形容词可以保留温馨可爱的氛围。
  • 避免让模型生成复杂人脸或文字内容,容易产生畸变。

2.5 API 调用体验与心得

第一次调用 Hugging Face 推理 API,整体门槛比想象中低,不需要本地部署庞大的模型,几行代码就能生成高质量图像。过程中遇到的主要问题是:Flux 属于受限模型,需要先同意协议才能调用;免费账号的推理额度有限,偶尔需要排队等待;提示词质量直接影响生成效果,需要反复调试。

通过这次实践,我理解了“前端交互 + 后端代理”这一常见的 AI 应用基本架构。如果把图像生成换成文本生成,就是类似 ChatGPT 的应用雏形。这让我对 AI 应用开发产生了更大的兴趣。


三、GitHub 个人主页搭建

我选择了方案一:创建个人资料自述文件。新建一个与 GitHub ID 同名的仓库,在根目录编写 README.md,GitHub 会自动将该内容展示在个人主页上。
https://github.com/H3HN/h3hn.github.io

截图如下:

image


四、技能树与自我评估

4.1 已具备的专业知识与能力

  • Java 方向:面向对象编程、集合框架、多线程、IO 流、Swing GUI
  • Python 方向:基础语法、Flask Web 服务、urllib/requests 爬虫、Playwright 入门
  • 数据库:MySQL 基本操作,增删改查
  • 工程工具:Linux 常用命令、Git 版本控制
  • AI 应用入门:了解 RAG 和 Agent 概念,能使用 LangChain 搭建简单 Agent,使用 LlamaIndex 做文档问答

4.2 感兴趣的技术方向

  • 大模型应用开发(RAG、Agent、多工具协作)
  • 后端开发(Java/Python 服务端)
  • 数据工程(数据采集、清洗、可视化)

4.3 还欠缺的能力

  • 前端开发:JavaScript 基础薄弱,Vue/React 等框架基本不会
  • 系统设计:缺乏大型项目的架构设计与模块划分经验
  • 测试能力:单元测试和集成测试缺少实践
  • 文档撰写:需求文档、设计文档的编写经验不足

五、代码量与目标

  • 当前累计代码量:约 4000 行,主要为 Java(课程设计、练习)和 Python(实习项目、爬虫脚本)。
  • 课程结束目标:累计代码量达到 15000 行以上,重点增加 Python 后端、前端交互和测试代码的比例。

六、本课程中最期待学习的知识

  1. 规范化软件开发流程:从需求分析、设计、编码到测试、维护的完整过程。
  2. 设计模式与代码质量:学习如何写出可维护、可扩展的代码。
  3. 结对编程与团队协作:掌握 Git 工作流、代码评审等工程实践。
  4. 测试驱动开发:理解测试在软件质量保障中的重要性。
  5. 大模型与软件工程的结合:探索 AI 辅助开发的实际应用。

希望获得的收获:不只是会写代码,而是能完整地完成一个小项目,并通过博客记录自己的成长。


七、AI 工具生成的软件工程学习指南与分析

7.1 DeepSeek 生成的指南

我选择 DeepSeek 生成软件工程课程学习指南,内容摘要如下:

核心内容:软件过程模型(瀑布、敏捷、迭代)、需求工程、系统设计、编码规范、测试(单元/集成/系统)、项目管理与团队协作。

学习方法:理论结合实践;重视需求分析;掌握 SOLID 原则和常见设计模式;测试从第一天开始;使用版本控制小步提交。

学习顺序:第1-3周过程模型与需求工程 → 第4-6周系统设计与 UML 建模 → 第7-9周编码实现与代码评审 → 第10-12周测试与部署 → 第13-15周综合项目实战。

常见误区:只重编码忽视文档;测试留到最后;闭门造车;忽视代码可维护性。

推荐资源:《软件工程——实践者的研究方法》《代码整洁之道》《重构:改善既有代码的设计》。

7.2 对指南的分析

合理之处:

  • 指南覆盖了软件工程课程的主要知识模块,结构完整。
  • 把“需求分析”和“测试”提到了重要位置,符合当前软件开发强调质量和用户导向的趋势。
  • “小步提交”和“边写代码边写测试”的建议非常实用。

需要调整的地方:

  • 指南偏理论,没有涉及结对编程、博客作业等本课程特色实践环节。
  • 缺少对大模型辅助开发等新工具的建议。
  • 学习顺序只是一个参考,实际课程安排需要以老师为准。

结论:
这份指南帮我建立了软件工程课程的整体框架,让我意识到需求分析和测试的重要性。但它不能替代老师的教学安排,只能作为预习和复习的补充材料。我会结合课堂要求,把重点放在实践能力和文档撰写上。


本次作业到此完成,感谢老师和助教的阅读。

posted @ 2026-09-06 18:38  很具想  阅读(27)  评论(0)    收藏  举报