zzx0607

导航

软件工程第一次作业

软件工程入门实践:从大模型API到个人技术主页构建

项目 内容
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16716
这个作业的目标 完成 Hugging Face API 调用与前端交互实践,搭建 GitHub 个人主页,技能自评与学习规划明确后续目标
学号 102401121

软件工程第一次个人作业

一、环境准备

二、Hugging Face API 调用:Flux 真实感图像生成

2.1 账号与 Token 准备

我在 Hugging Face 官网注册账号并创建了用于本次作业的 Fine-grained Access Token。
为了避免泄露密钥,我没有把 Token 写入前端代码或提交到 Git 仓库,而是将其保存在本地
.env 文件中,由后端读取。

image

2.2 项目实现思路

本项目采用“Gradio 前端 → Python 后端 → Hugging Face Inference API → FLUX 图像生成模型”的调用方式:

  1. 用户在 Gradio 前端输入想要生成的图片描述(Prompt),并点击“生成图片”按钮;

  2. Gradio 将用户输入的提示词传递给后端的 generate_image() 函数;

  3. 后端首先检查用户输入的提示词是否为空,如果为空则提示用户重新输入;

  4. 程序通过 python-dotenv 读取本地 .env 文件中的 HF_TOKEN,使用该 Token 创建 Hugging Face InferenceClient

  5. 后端调用 Hugging Face Inference Providers,并指定 XLabs-AI/flux-RealismLora 模型,将用户输入的 Prompt 发送给模型进行图像生成;

  6. 模型生成图片后,程序将返回的图片保存为 generated_image.png,同时将图片对象返回给 Gradio;

  7. Gradio 接收到生成结果后,在网页中的“生成结果”区域显示图片,用户可以直接查看生成效果。

整个项目的核心调用流程如下:

用户输入 Prompt
        ↓
Gradio 前端
        ↓
generate_image()
        ↓
读取 .env 中的 HF_TOKEN
        ↓
InferenceClient
        ↓
Hugging Face Inference Providers
        ↓
XLabs-AI/flux-RealismLora
        ↓
生成图片
        ↓
保存 generated_image.png
        ↓
返回 PIL 图片对象
        ↓
Gradio 显示生成结果

核心代码如下

client = InferenceClient(
    provider="fal-ai",
    api_key=token,
    timeout=180,
)

MODEL = "XLabs-AI/flux-RealismLora"

def generate_image(prompt):
    if not prompt.strip():
        raise gr.Error("请输入提示词")

    try:
        image = client.text_to_image(
            prompt=prompt,
            model=MODEL
        )

        image.save("generated_image.png")

        return image

    except Exception as e:
        raise gr.Error(str(e))

2.3 生成前端页面

image

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

第一版提示词为:

A dog.

这一版只描述了人物,即“一只狗”。它能够让模型生成与主题相关的图像,但描述简单,人物整体氛围具有较大的随机性,真实感和可控性有限。

image

第二版提示词为:

A highly realistic photograph of a golden retriever sitting peacefully in a sunny green meadow, looking directly at the camera with a friendly and curious expression. The dog has soft golden fur with detailed individual hairs, warm brown eyes, a black nose, and slightly floppy ears. Natural sunlight shines from the side, creating soft shadows and a warm atmosphere. Small wildflowers and green grass surround the dog, with a softly blurred forest in the background. The composition is centered at eye level, with a shallow depth of field, natural colors, realistic fur texture, subtle bokeh, cinematic lighting, and professional wildlife photography style, 35mm lens, high detail, photorealistic.

image

2.5 本次调用心得

通过本次图像生成实验,我发现提示词越具体,生成结果通常越符合预期。简单的提示词只能确定主体和场景,而加入人物动作、外观、光线、环境、镜头等细节后,可以提高对生成图片的控制能力。因此,在使用大模型生成图片时,需要根据想要的效果不断调整和完善提示词。

三、GitHub 个人主页

我创建了一个与 GitHub ID 同名的仓库,并在仓库根目录编写 README.md,作为个人主页的介绍页面。主页主要展示个人介绍,相关技能,学习方向。

image

四、当前技能树与技术偏好

4.1 已掌握或正在学习的能力

能力方向 当前情况
C 掌握基础语法,能够完成简单程序
C++ 掌握基础语法,并用于数据结构与算法练习
Python 掌握基础语法,能够进行简单的项目开发
Pandas 掌握基本的数据读取、清洗、筛选和分析操作
Git / GitHub 能够完成基础的版本管理操作
数据结构与算法 学习过常见的基础数据结构与算法
Hugging Face API 能够配置 Token、调用模型,并在前端展示生成结果

4.2 自我评估

目前,我已经学习了 C、C++、Python等编程语言,并能够完成一些基础的编程练习。同时,我也在学习MySQL,Linux。

在本次作业中,我进一步实践了 Hugging Face API 的调用,实现了通过输入提示词生成图片的功能。通过这次实践,我对前后端交互、API 调用有了更加直观的认识。

在接下来的学习生涯,我希望继续提高自己能力,并重点学习 AI Agent、大语言模型以及 AI 应用开发,通过更多实际项目积累开发经验。

4.3 技术偏好与感兴趣的方向

目前我比较感兴趣的方向包括:

  1. Agent 开发:希望深入学习 AI Agent 的开发方法,了解大语言模型、工具调用、任务拆分和多 Agent 协作,并尝试开发能够自主完成任务的 AI 应用;

  2. 后端开发:希望继续学习 Python 后端开发,掌握 Flask、FastAPI 等框架,进一步了解 API 设计、数据库、用户认证和服务部署;

  3. 大语言模型应用:希望学习如何调用和使用不同的大模型 API,将 LLM 能力应用到实际的软件项目中;

  4. AI 应用开发:希望将 Agent、后端服务和大模型结合起来,开发具有实际功能的 AI 应用,并通过项目实践提升自己的开发能力;

  5. 软件工程实践:希望学习 Git、版本控制、项目结构设计、接口规范和项目部署等内容,提高自己的软件工程实践能力。

五、总结

通过本次软件工程第一次个人作业,我对软件工程实践有了更加直观的认识,也对自己的技术能力和未来学习方向进行了梳理。

在本次作业中,我完成了 Hugging Face API 的调用,实现了通过输入提示词生成图片的功能,并通过不断修改提示词观察生成结果的变化,对大模型 API 和提示词设计有了初步了解。同时,我也完成了 GitHub 个人主页的创建,通过 README 对自己的学习经历、掌握的技术和未来规划进行了整理。

通过这次实践,我认识到自己目前的编程能力还主要处于基础学习阶段,在项目开发、后端开发以及人工智能应用方面还有很多需要学习的内容。因此,我希望在后续学习中进一步提高 Python 的使用能力,学习后端开发相关技术,并逐步深入了解大语言模型和 AI Agent。

未来,我希望能够将后端开发与 AI Agent 结合起来,通过实际项目学习 Agent 的开发、工具调用和任务执行等内容,不断积累项目经验,提高自己的软件开发能力。

posted on 2026-09-10 08:06  zzx0607  阅读(15)  评论(0)    收藏  举报