2025-10-26 视觉培训讲义
你是计算机视觉组的学长,现在要给大一学弟学妹培训,主题是如何使用ai。我这有一些规划和安排,请你给出合理的流程和建议。请详细一些。
现在的一些问题
9.第三节和第五节里的实践项目不知道该怎么写AI
主讲人:姜树豪
- Ai大师课:Ai引擎选择,Ai类型,提示词优化,应该怎么用Ai,怎么发挥Ai的优势
- Python语法进阶:函数,类,模块
- 代码规范,模块化编程,代码编写美观与注释
tips :可提醒购买摄像头,后续使用
作业:class 的应用
引言:市面上的AI
Deepseek 豆包P图
链接:
第1节:回顾Markdown语法
目标:学会用 Markdown 做笔记。 内容:
- Markdown 基本语法(标题、列表、代码块、引用、表格、图片)——现场演示 Typora/GitHub README。
资料:
Markdown 备忘单 ·adam-p/markdown-here 维基百科
Markdown 备忘单 ·adam-p/markdown-here 维基百科 ·GitHub
第2节:AI 概念与 Prompt Engineering 入门
目标:理解 LLM、token、prompt 基本概念与使用技巧。 内容:
先介绍一些概念(见附1)
交互演示:现场用 ChatGPT/其它模型修改 prompt,展示输出差异。
Prompt 优化套路:明确角色、明确输出格式、示例+约束、分步法(分解任务)。
Prompt基础结构 - 角色设定:让AI扮演特定角色 - 任务描述:清晰明确地说明任务 - 约束条件:输出格式、长度、风格等 - 示例演示:现场对比优化前后的效果实战技巧:每人做 3 个 Prompt,并按「原始→优化1→优化2」记录效果。
实战技巧 - 分步法:复杂任务分解 - 示例法:提供输入输出样例 - 迭代优化:根据结果调整Prompt - 常见陷阱:过于模糊、缺乏约束任务一:写一段文档摘要
任务二:改写代码注释
任务三:写一段代码
作业:整理 改进日志(Markdown)。
链接:
提示工程指南 | Prompt Engineering Guide
dair-ai/Prompt-Engineering-Guide:🐙提示工程、上下文工程、RAG 和 AI 代理的指南、论文、课程、笔记本和资源。
第3节:API、Token、实战
目标:理解 API 概念、token 计费、如何在代码中调用模型。 内容:
- 什么是 API、请求/响应 JSON、HTTP header(Authorization)、API Key 安全管理。
- Token 是什么、如何估算 token(简要规则)、如何控制 token 成本(缩短上下文、限制 max_tokens)。
- 为什么 AI 要收费(计算资源、存储、研发成本、维护与合规)。
- 现场演示:用 Python 发起简单请求(伪代码 + 实战 demo,不用真实 Key 可用模拟或本地 mock)。 上机练习:用 requests 或官方 SDK 写一个小脚本,发送 prompt(本地 mock 或演示)。
链接:
API 另一个markdown文件
OpenAI的Tokenizer工具 Tokenizer - OpenAI API
Prompt-Engineering-Guide/notebooks/pe-lecture.ipynb at main · dair-ai/Prompt-Engineering-Guide
第4节: AIGC
如何降低AIGC
查重网站
第5节:Prompt + 代码联动(AI 辅助编码、调试、测试)
第6节:回顾上节课的一些软件
目标:知道上节课的各个软件是干什么的
内容:
1.Typora
2.PyCharm
3.conda
4.VScode
5.Python3.xx
资料:
第7节:Python 进阶(面向对象、模块化、代码规范)
目标:掌握类、模块、面向对象设计,写出结构清晰的代码。 内容:
- 类(class)、初始化(init)、方法、属性、继承与封装。
- 模块化:如何拆分文件、包的组织、main 用法。
- 代码规范:PEP8、注释(docstring)、类型提示(type hints)。
面向对象的三大特性
封装 封装就是把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类进行信息的隐藏。简单的说就是:封装使对象的设计者与对象的使用者分开,使用者只要知道对象可以做什么就可以了,不需要知道具体是怎么实现的。封装可以有助于提高类和系统的安全性
继承 当多个类中存在相同属性和行为时,将这些内容就可以抽取到一个单独的类中,使得多个类无需再定义这些属性和行为,只需继承那个类即可。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”
多态 多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
链接
作业一:面向对象计算器
- 文件名:
calculator.py - 要求:
- 使用
Calculator类并在__init__中设置状态(例如:历史记录列表、默认精度)。 - 提供至少
add, sub, mul, div, pow, history方法。 div遇零要抛出自定义异常并在调用处捕获。
- 使用
- 提交方式:
- 评分:功能完整 50 / 测试覆盖 30 / 代码风格 20
作业二:智能助手API调用
- 文件名:
bot.py - 要求:
- 使用
bot类并在__init__中设置状态。 - 提供至少 方法。
- 使用
- 提交方式:
- 评分:功能完整 50 / 测试覆盖 30 / 代码风格 20
附1:专有名词与概念速查
LLM(Large Language Model)
大规模语言模型,基于 Transformer 架构训练,用来生成或理解文本。常见用途:写作、代码生成、对话。
Transformer / Attention
Transformer 是一种网络结构,核心是注意力机制(attention),能让模型关注输入中最相关部分。Transformer 使大规模并行训练成为可能。
Token
模型处理文本的最小单位。英文常见经验:1 token ≈ 4 个字符或 0.75 个单词(粗略)。中文的 token 划分不同于英文,通常更短一些。计费与上下文长度以 token 为单位。
Prompt Engineering(提示词工程)
让模型给出更好输出的技巧与策略:明确角色、输出格式、示例、约束、分步指令、零/少/多样本学习。
System / User / Assistant 消息
在多轮对话中,用来引导模型的三种消息类型。system 用于设置整体行为,user 提问,assistant 是模型回应。
Temperature / top_p
控制生成多样性的参数。Temperature 越高输出越随机;top_p 控制采样的概率分布截断。
Max_tokens / Stop sequences
max_tokens 限制生成长度;stop sequences 指定模型遇到某些字符串就停止生成。
API(Application Programming Interface)
程序调用服务的接口(HTTP/JSON)。典型步骤:HTTP 请求(带 API Key)→ 服务返回 JSON。
Rate limit / Quota
API 的调用速率限制和总调用额度,超过会被拒绝或计费。常见要理解每秒 QPS、并发限制。
RAG(Retrieval-Augmented Generation)
检索增强生成:先检索相关文档,再把检索到的文档与 prompt 一起送入模型以生成更准确的答案。
Fine-tuning / LoRA / PEFT
在特定小语料上继续训练模型以适配任务(全量微调或参数高效微调如 LoRA/PEFT)。
RLHF(Reinforcement Learning from Human Feedback)
通过人类反馈训练模型,使生成结果更符合人类偏好。
Hallucination(幻觉)
模型生成与事实不符的信息。应通过检索、事实核验或限制模型发言来控制。
GPOA
模型生成与事实不符的信息。应通过检索、事实核验或限制模型发言来控制。
附2:Prompt 模板与示例
- 代码修复(少样例)
角色:你是一个资深 Python 开发者。
任务:请帮我找出下面函数的 bug 并修复,同时给出简短解释(两句以内)。
代码:
```python
def average(nums):
return sum(nums)/len(nums)
```
要求:返回修复后的代码块并指出可能的异常情况。- 生成单元测试
角色:你是测试工程师。
任务:为下面函数生成 pytest 测试代码,包含正常用例与边界用例。
函数:<插入函数代码>
要求:3 个测试用例,使用 assert。- 文档生成
角色:技术文档撰写者。
任务:把下面的 README 转化为一段不超过 150 字的项目简介,并给出 3 点使用方法。附3:如何避免常见错误
- 不要盲信 AI:所有 AI 提供的代码/结论都要写单元测试或手动验证。
- 控制上下文成本:频繁发送长历史会增加 token 消耗。把不必要的历史截掉或只发必要片段。
- 敏感信息不上云:API Key、隐私数据不要在 prompt 里明文提交。
- 分步验收:项目按里程碑验收,每一阶段必须可运行可复现再进入下一步。
附4:如何避免常见错误
pip install requires
附5:换源
1、配置与更换镜像源
1.1、为什么要配置镜像源
由于Python在下载包时,容易出现超时等问题,主要是因为Python库的服务器都在国外,国内下载库的速度会很慢,所以需要配置国内镜像源来加快下载速度
官方镜像源(国外):
https://pypi.python.org/simple国内常用镜像源
清华:https://pypi.tuna.tsinghua.edu.cn/simple 豆瓣:http://pypi.douban.com/simple 阿里云:http://mirrors.aliyun.com/pypi/simple 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple 华中理工大学:http://pypi.hustunique.com 山东理工大学:http://pypi.sdutlinux.org
1.2、单次使用镜像源下载第三方库
pip install <第三方库名> -i <镜像源地址>例如
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple1.3、全局镜像源配置
目前国内使用最广泛的是清华的镜像源
全局镜像源配置,在终端依次执行如下命令:
pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple1.4、安装库
在Windows PowerShell命令行执行安装第三方库的命令:
pip install <第三方库名>例如安装NumPy:
pip install numpyPS:补充其他常用命令:
# 1)升级库
pip install --upgrade <第三方库名>
# 2)卸载库
pip uninstall <第三方库名>
# 3)安装指定版本的库
pip install <第三方库名>==<版本号>