软件工程第一次个人作业
| 这个作业属于哪个课程 | H202601软件工程与软件工程实践 |
|---|---|
| 这个作业要求在哪里 | 软件工程第一次个人作业 |
| 这个作业的目标 | 了解个人技术能力,完成API调用,建立个人技术主页 |
| 学号 | 102401118 |
-------------------------------------------------------------------------------------------------
一、当前技能树与技术偏好
已掌握能力
1. 编程基础
目前掌握C、C++基础语法,能够完成简单程序设计。
2. 数据结构
熟悉并掌握常用的数据结构,如:堆、栈、数组、链表等等。
3. 计算机基础课程
学习过计算机网络、计算机组成原理,了解一些基础概念。
感兴趣方向
目前比较感兴趣:前端开发和后端开发,希望能独自建立一个具有实用功能的个人网站并维护更新。
当前不足
代码积累量少、项目经验角少、掌握算法较少、工程实践经验不足。
二、代码量统计
截至目前累计代码量约2000行。
完成本学期课程后希望达到4000行以上。
三、课程期待
希望学习一些软件工程开发流程、软件需求分析、软件测试操作、项目管理、团队协作开发技巧。
希望通过课程提升工程实践能力。
软件工程课程学习指南(Chat GPT生成)
第一阶段:基础知识
学习:
- 软件生命周期
- 软件开发模型
- 需求分析
第二阶段:工程实践
学习:
- Git
- 项目管理
- 软件测试
第三阶段:综合实践
完成:
- 软件设计
- 团队项目开发
- 软件部署
个人评价
我认为该学习指南整体合理。它覆盖了软件工程学习的重要阶段。但是不足是内容较为通用,没有结合个人基础,不具有针对性。因此,我会根据自身情况适当学习其他知识进行补充以尽快具备学习更多技能的能力。
-------------------------------------------------------------------------------------------------
Hugging Face API的调用
结果展示如下:



提示词:
photorealistic landscape photo of mountain lake at sunrise, golden light hitting the peaks, mist over the water, pine trees on the shore, shot on DJI Mavic 3, aerial view, ultra detailed, National Geographic style, 8k
前端交互逻辑代码:
const response = await fetch('/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
hf_token: token,
prompt: promptText,
cfg_scale: 3.5,
steps: 28,
width: 1024,
height: 1024,
lora_scale: 1.0
})
});
const result = await response.json();
const img = document.createElement('img');
img.src = `data:image/png;base64,${result.image_base64}`;
document.getElementById('imageContainer').appendChild(img);
后端代码:
from gradio_client import Client
import base64
import os
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:12450'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:12450'
client = Client("DamarJati/FLUX.1-RealismLora")
result = client.predict(
prompt,
3.5,
28,
True,
0,
1024,
1024,
1.0,
api_name="/run_lora"
)
image_path = result[0]
used_seed = result[1]
提示词设计思路及修改过程:
最终提供模型写实风格的提示词包含五个要素:主体、场景、光线、镜头参数、质感词。主体描述生成的具体对象,场景描述主体所在的环境背景,光线营造氛围,镜头参数模拟真实摄影,质感词则是增加细节和感官感受。在此基础上不断增删修改提示词,增加描述,最终结果如上图所示。
API调用的操作步骤
步骤 1:注册 Hugging Face 账号
打开 huggingface.co,注册个人账号,完成邮箱验证。
步骤 2:获取 Access Token
进入 Settings → Access Tokens → Create new token,选择 Inference 类型,复制保存 Token。
步骤 3:编写后端代理脚本
使用 Python + gradio_client 库,编写 server.py 作为代理服务器,负责调用 Hugging Face Space API。
步骤 4:编写前端页面
编写 flux-realism-generator.html,包含提示词输入、参数调节、结果展示、API 调用记录等功能。
步骤 5:启动服务并测试
启动后端服务,浏览器打开 http://localhost:8765/flux-realism-generator.html,填入 Token,输入提示词,点击生成。
步骤 6:等待生成并查看结果
等待 30~60 秒(ZeroGPU 排队 + 模型推理),生成完成后右侧显示图像,底部记录调用信息。
API调用体验心得
API 的调用门槛低,Hugging Face 把复杂的 AI 模型封装成标准接口,几十行代码就能调用最先进的图像生成模型,不需要本地 GPU,不需要配置复杂的推理环境。这大大降低了 AI 应用开发的门槛。但提示词是真正的门槛,模型能力再强,提示词写得不好,输出依然平庸。通过这次作业,我发现「主体 + 场景 + 光线 + 镜头参数 + 质感词」的组合对真实感提升非常显著。提示词不是越长越好,而是要精准地描述真实摄影中的要素。其次,整个过程中遇到了 CORS 跨域、SSL 证书验证失败、网络连接超时、API 参数不匹配、认证方式不对等一系列问题。通过询问AI并尝试多种方法,最终都逐一解决了,从中我初步掌握了解决这些问题的办法。
-------------------------------------------------------------------------------------------------
GitHub的个人主页搭建
- 我的个人主页:https://github.com/209691048
- README:https://github.com/209691048/209691048/blob/main/README.md
![6c8fd89a3e803ac78322cbac109d5139]()
-------------------------------------------------------------------------------------------------
附:



浙公网安备 33010602011771号