第 30 课 · 亲手构建 AI 应用
让模型在自己电脑上运行:先估算,再留下真实记录
看到模型参数量和量化标签后,怎样判断准备条件,并证明一次本地回答确实发生?
学完这一课,你能做到什么
- 能计算理想权重存储与数轴量化误差,解释它们为何不能保证内存够用或回答正确。
- 能区分模型文件、运行服务、调用程序,按完整命令完成一次已准备的本地调用或保留准确的未完成记录。
- 能用模型名、服务响应和原文事实分别检查执行条件、接口结果与内容质量。
网站对应:本地跑大模型:Ollama 与量化。按网站显示顺序编为第 30 课。
先预测 · 操作材料 · 改变条件
同一个模型,换一种数字保存方式
这里实际计算理想权重大小与数轴取整误差,不下载模型、不运行大模型。两组计算彼此独立:数轴格距不是实际 Q4 格式,也不能从格距推导真实模型位宽。
本地真实计算;结果是准备依据,不是设备实测或模型质量评测
- 先手算 4B 参数、每参数 4 位的理想字节数。
- 第一次只把位宽改成 16,保留其余条件。
- 第二次恢复位宽,只把数轴格距改成 0.25,比较每个数的误差。
- 额外占用未知时输入 unknown,不擅自写成 0。
先记录你的预测,再点击运行。每次结果都由本课程序根据当前输入生成。
本次过程与结果
对照上一次运行结果
留下自己的解释
文字只保留在当前页面,离开前可导出;工作纸还有本课的具体记录题。
教师可以怎样一步步讲
完整教师讲稿
第30课:让模型在自己电脑上运行
这一课接着上一课的接口调用往下走。学生已经知道请求有地址、模型名与消息,也知道返回文字还要核对。本课把“模型服务在哪里”落到自己的电脑上,最后留下可检查的运行记录。核心问题是:看到模型参数量和量化标签后,怎样判断准备条件,并证明一次本地回答确实发生?
教师备课:先把环境问题放在课堂之前
安排60分钟,不把下载等待算作学生练习。课前在实际教室的一台Windows电脑或macOS电脑上,按当前Windows安装说明或macOS安装说明核对条件,安装对应官方软件并打开。学生操作单保留完整安装入口、模型准备命令和Python脚本,教师不必在课上口述一长串网址。Linux设备按官方对应说明提前准备。
本稿核对日期为2026-09-10,操作示例采用 qwen2.5:0.5b,它是为了把文件、服务、客户端三者接起来的小模型材料;不是质量最好的模型,也不是统一硬件推荐。备课时先运行 ollama --version、ollama ls,没有该模型才在课前运行 ollama pull qwen2.5:0.5b。第一次下载需要网络。不要临时换成名称带 :cloud 的模型再说完成了本地练习。
软件安装好,只表示电脑多了运行软件。模型列出来,只表示找到了对应文件。真正发出一次问题、取得返回并核对内容,才是这节课要继续完成的事情。教师提前用短材料试一遍,记录可用设备与无法运行的设备;当日还没准备好的学生从一开始就选择本地计算后备,不让他们一边听课一边等待大文件。软件安装、模型下载和本稿编写是不同阶段;本轮制作材料没有替用户安装、下载或启动服务。
打开本页实验、学生操作单和独立答案页。答案先不要投影。准备白板三张卡:“参数文件”“运行服务”“调用程序”,以及写有12、18的两张时间卡。让学生在自己的文件夹保存记录,而不是把所有人的结果混到教师电脑。无需账户密钥,不需要为本地练习购买API额度。本机已有重要服务的设备由教师课前安排,不在课堂改端口、重启共享服务或迁移文件。
0—6分钟:先认清谁在做计算
教师开场可以直接说:“上一课,我们把问题送到一个模型接口。现在把镜头拉近:假如服务就在这台电脑里,我们需要多准备什么?先别回答安装一个聊天软件。看这三个框:文件、服务、调用程序。请把今天出现的三个名字放进去。”给学生一分钟将模型标签、Ollama和脚本连起来,再请一人解释箭头。
指着模型文件说:“里面主要保存模型需要的数字和相关信息,就像你以前练习过的权重。不过现在数字很多,不能靠手算一条条处理。”再指服务:“运行软件知道怎样读取文件,接收问题并完成计算。”最后指脚本:“这个小程序负责把问题打包送过去,再把返回保存下来。它本身没有学会复述材料。”三个角色解释完,才补充服务可能使用CPU或GPU,不要求学生先背硬件缩写。
有人说“网页能打开就证明模型在本机”,追问:“网页能不能把请求转给另一台机器?”让他把箭头画完整。有人把Ollama说成一个固定模型,指着 ollama ls 问:“软件可管理不止一份模型文件,那么软件名和参数名能否当同一个东西?”这一追问接到第28课的运行条件,不在这里展开新的模型排行。
发出Q0的第二个预测:“一个假想模型叫4B,它是不是4GB?我这台假想电脑当前还剩3GB内存,4位版本是否一定能跑?”学生先写猜测与依据。明确预测只用于比较理解怎样变化,不因猜错扣分。不要此时公布可运行结论,让后面的算式和实际观察提供依据。
6—13分钟:把4B换成一笔可复算的账
白板写4B,先读成“四十亿个参数”。教师说:“这里的B在数参数个数。你有四十亿张数字卡,每张卡占几位,要另外说清楚。”补上“每参数4位”,先拿八个小格组成一个字节。每个参数占半个字节,是这份理想账本的算法;真实文件还会有别的东西,暂时放到旁边的未计清单。
让全班先算4×10⁹×4÷8。巡视时只追问单位,不直接帮学生写最后数字。有人算出16GB,问:“你这一步得到的是位数还是字节数?我们刚才说几位组成一字节?”有人把4B中的4再当字节,回到两行标题“个数”“每个占用”。随后一起核对:理想权重为2×10⁹字节,即十进制2GB。
点击“计算存储与取整过程”。指给学生看结果中的GB和GiB:“这是同一个字节数用了不同单位。这里GB按十亿字节计算,GiB按2的30次方字节计算;页面约1.862645GiB没有表示文件忽然变小。”本课不让学生记住全部换算常数,只要求报告时不把两种单位混写。假想可用内存字段明确采用十进制GB。
第一次只把位宽改成16,保持参数量4、可用内存3和额外占用unknown。先请学生预测倍率,再运行。理想权重变成8GB,超过给定3GB。指出数轴取整表没有变化:“位宽估算和下面的数轴练习是两个独立小计算。程序没有偷偷用16位生成一组新模型权重。”若学生发现这点,说明他正在读过程,而不只是抄最后一行。
本段收尾让学生写两列:已经算到的是理想权重;还没有算到的是实际运行总需求。不要把“有可能准备这个模型”写成“已经证明任何机器都能运行”。
13—20分钟:从三个数看到量化在丢掉什么
把位宽恢复4。教师说:“数字保存得更粗,会发生什么?我们先不用真实文件格式,只在数轴上试。这里每隔0.1画一个格点,拿一个原来的数,放到离它最近的格点上。”写出-0.26,不先给答案,请学生指出左右相邻格点。分别到-0.3和-0.2的距离是0.04和0.06,所以选前者。再处理0.14和0.49,让学生解释选择依据。
运行默认材料后,表中出现-0.3、0.1、0.5。教师用手遮住平均误差,先让学生把0.04、0.04、0.01相加再除以3,得到0.03。“绝对误差只数距离,不让一个偏大和一个偏小互相抵消。它能说明这三个数字被改动了多少,不能直接翻译成作文扣了多少分。”这个例子接上第4课损失的意义,但不把平均绝对误差说成模型本来就在优化的训练损失。
现在仅把格距换为0.25,参数量、位宽和内存字段都不动。让学生分别在纸上找相邻格点,再看页面。结果为-0.25、0.25、0.5,误差为0.01、0.11、0.01;平均约0.043333。指出-0.26这一项反而更接近,并问:“格子整体变粗,是否表示每一个原数的误差都必然变大?”学生应看具体位置,而不是背“压缩一定更差”四个字。
对于恰好居中的数,本页规定向离0更远的一侧取。真实量化方案还要规定可表示的范围、编码方式和缩放等;这里没有模拟这些内容。因此格距0.25不是“四位量化”的定义,格距0.1也不是“八位量化”的定义。不要把课堂数轴当成真实格式的测评结论。留给学生一句完整解释:“我看到了数值近似,但还没测过量化后模型在具体任务上的表现。”
20—26分钟:让未知保持未知
恢复格距0.1和默认材料。指着 unknown 说:“刚才2GB只给参数数字记了账。服务还要工作空间,对话还要留中间信息,系统也有占用。现在我们没有这几个实际数字,所以这里填未知。”让学生观察页面显示剩余1GB,但没有宣布可运行。追问:“如果你把未知写成0,算式会更漂亮,证据会变多吗?”这句话要让学生自己回答。
为了看到条件怎样影响结论,教师把额外占用改成1.2。明确写在白板上的是“教学假设”,不是本机测量。页面相加得到3.2GB,相对可用3GB缺0.2GB。这个操作让学生理解额外占用为什么能改变准备判断。随后请学生恢复unknown,再解释为何不能沿用刚才的总数。不要借这个假想数据建议学生购买硬件。
用很短的语言区分磁盘、内存、显存:“磁盘用来留下文件,运行时还要把需要处理的东西安排进工作空间。不同机器可能用系统内存、显卡内存或统一内存,不能把它们随手相加成一个保证值。”课堂不推导所有缓存公式,只举一个可观察条件:同一个模型处理一小段文字与同时处理许多人很长的对话,额外需求可能不同。公式算得正确只是准备工作,运行兼容和速度仍靠实际短任务检查。
这一段结束时检查Q2:每人至少列出两类额外需求,并标明1.2来自谁。学生写“模型大小2GB,所以还可以随便粘长文”时,让他指回未计清单;别只在作业上写一个错号。
26—34分钟:在终端看见文件、进程和一次回答
教师先说出路径分工:“已经完成课前准备的同学进入真实模型操作;其余同学保留后备标记,今天照样完成资源计算。别人电脑上有文字,不表示你的机器已经运行。”请已准备学生执行 ollama ls,逐字找到 qwen2.5:0.5b。不要让输入错名称的学生直接执行新模型下载,先比较冒号和数字。
执行 ollama run qwen2.5:0.5b。提示符出现后再输入学生单Q3的完整原创材料:资料比较12分钟、核对引用18分钟,只复述,不推测能力。教师强调:“终端此时在等模型。今天不规定它必须输出某一句完全相同的话,我们只规定需要保持哪些事实。”将自己的实际结果保存,逐项圈出两个活动与对应数字。若模型增加了建议或把18写成81,就真实记内容未通过,不删掉失败记录再找一张好截图替换。
回答结束输入 /bye 退出对话,然后立刻 ollama ps。对照两条命令:“ls是能找到的模型列表,ps是当前运行状态。文件还在磁盘上,不表示它每一刻都驻留内存。”如果模型已卸载、列表为空,写当前未观察到,不让学生根据教材虚构处理器比例。CPU或GPU的具体显示用来记录这一次条件,不作为本课快慢排名。
如果提示命令找不到,定位到软件或终端环境;如果模型不在列表,定位到模型准备;如果已加载但生成耗时过长,记录实际等待与阶段后转后备,不不断打开新对话。教师可以让有问题的学生在同伴旁观察一次,但作业必须写“观察同伴设备”,不能写“本机完成”。这保留了不同条件下可比较的学习证据。
34—43分钟:把本地回答保存成可核对文件
把 local_chat.py 的副本放入学生的 classroom30 文件夹。先执行 python3 --version,再执行 python3 local_chat.py --model qwen2.5:0.5b。教师逐项读输出:“mode写的是dry_run_no_network,地址是本机的11434接口,messages里是准备交给模型的文字。我们现在只展示请求。”请学生用手指找到模型名与消息,口述这个结果还缺少什么。
接下来打开学生单Q4的 record_local.py 完整代码。不要要求初学者从空白默写;让他们复制后找三个关键位置:live=True 才请求服务,except 把失败留下,最后一行写文件前已将结果编码为UTF-8文字。解释 time.perf_counter() 是程序记录经过时间的计时方法,不是模型内部的全部性能指标。这些代码让同学能复查自己的操作,而不是只看终端闪过的一段文字。
运行一次 python3 record_local.py,等待结束。服务和模型没有准备好的学生不要按运行键碰运气,继续阅读同一脚本的请求路径与后备任务。准备好的学生打开 local-result.json,先观察 mode,再观察 model、done 和 answer。如果文件中的模式是not_completed,就从错误类型定位到本次停在哪一步;存在文件不代表成功。记录的是脚本解析后的内容和耗时,并非完整的网络抓包。
有人认为“只要用了127.0.0.1,就绝不可能外发”,教师画一个中转箭头说明:本机地址只能告诉你请求的第一站。本课要结合自己准备的本地模型、当时运行信息和未添加云工具的这条调用路径说明条件。不要扩大成这台电脑上所有软件都离线。下载模型需要网络和推理时模型在哪里,是两个可分别检查的问题。
43—48分钟:把接口成功与任务成功拆开验收
投影一个空白核查表,四列分别为“请求了谁、有没有最终内容、内容是否忠于材料、还有什么没证实”。让学生使用自己的文件填入,而不是抄教师结果。done表示接口报告本次响应结束;它不会替你判断数字有没有抄错。非空answer也可能包含额外建议,仍需逐项核对12、18及两个活动的对应关系。
教师可以追问:“模型把两个时间都写对了,却判断你是研究型人才,哪一项没通过?”学生应指向无依据能力推断。本系列以后会整理个人学习证据,但一条计时记录不足以给能力定级,本课只复述材料。这样让具体任务的边界进入验收,而不是在最后写一句空泛的注意幻觉。
让学生读自己的耗时。第一轮可能包含模型加载,后续轮可能状态不同;输入、输出长度和设备也不相同。所以本课只记录本次经历,不比较一排秒数给同学排名。完成后备的学生在同一张表上写没有模型响应、没有模型内容核验,但资源计算与请求阅读已完成。这个记录能准确告诉教师下一次需要补哪一步。
48—55分钟:独立完成新材料
现在关闭答案页投影,只读学生单Q5。新的资源材料是2B、8位、可用2.5GB、额外占用未知;数轴材料是0.12、0.39、-0.62,格距0.25。学生先独立写算式和三个取整结果,再允许点击页面核对。教师巡视只问“你现在算的是位还是字节”“这个原数相邻格点是什么”,不替他们报最终数字。
随后让学生检查只有dry_run_no_network的作业声明,写出缺失证据;再画出“本地聊天,外部嵌入”的流程中哪一步传出了文字。不要在独立阶段提前讲答案。较早完成的学生用不同颜色修正最初预测,说明是哪一项观察改变了判断;不要求额外下载模型或再发调用。
55—60分钟:讲评、提交和向知识库过渡
到独立时间结束后再打开答案。一起核对2GB的理想权重,以及0、0.5、-0.5的取整结果;用相邻格点解释负数方向,不只报三个答案。指出剩余0.5GB与未知开销之间的关系。让一名完成真实调用的学生展示模型字段和事实核验,再让一名后备学生展示准确的未完成记录,两类成果分别评价。
板书留下四行:参数个数×位宽÷8只算理想权重;量化是数值近似,任务质量要另测;文件、服务、客户端各有职责;运行证据与内容证据分别保留。学生提交实验前后记录、独立题以及本地结果或未完成记录。最后请他们用自己的话完成“我能检查……;我还没有验证……”两句话。
下一课会把检索出的材料送到模型。这里学会的检查不会消失:本地聊天不代表嵌入也本地,取得回答不代表引用正确。延伸练习可在已准备环境里固定同一输入,比较首轮与后续轮条件,但不是本课必交项目。不要把继续折腾安装当作学习原理的唯一方式。
来源与使用边界
安装与命令以Ollama CLI、聊天接口、FAQ及模型条目核对。命令和接口可能更新,教师课前按实际版本复核。数轴数据、课堂问题、核查表和教学话术为原创。页面实验完成的是可复算的数值过程;没有把它描述为真实大模型推理。材料尚未经真实班级试教,设备适配和学生操作耗时须由教师备课记录确认。
60 分钟安排
每行给出具体讲解、学生动作和可检查的结果。根据学生反应调整,尚未真人计时试教。
| 时间 | 教师讲解与操作 | 学生动作 | 检查依据 |
|---|---|---|---|
| 00:00— 01:00 | 承接上一课的接口,提出今天要确定模型计算是否发生在自己的电脑。 | 写下Q0的核心问题,标出本机与远端的区别。 | 记录包含运行位置,而非只写软件名称。 |
| 01:00— 02:00 | 摆出参数文件、运行服务、调用程序三张卡,暂不代为放置名称。 | 把模型标签、Ollama和local_chat.py分别放入三个框。 | 三框图保留学生初次连线。 |
| 02:00— 03:00 | 用一份问题从脚本送到服务的过程解释三者职责。 | 给两条箭头补写发送问题、读取参数与返回文字。 | 脚本没有被标为训练好的模型。 |
| 03:00— 04:00 | 追问网页能否把请求转给其他电脑,要求画出完整路径。 | 给本机界面到远端服务画一种可能箭头。 | 学生能区分界面位置与计算位置。 |
| 04:00— 05:00 | 出示假想4B模型和3GB可用内存,请学生只作预测。 | 预测4B是否就是4GB,以及4位是否保证可运行。 | Q0有判断和理由,未提前改成参考结论。 |
| 05:00— 06:00 | 说明预测用于比较理解,确认真实操作与后备两条路径。 | 勾选课前环境已准备或尚未准备,并写具体阶段。 | 每人有准确的环境状态。 |
| 06:00— 07:00 | 把4B展开成4×10⁹个参数,另写每参数4位。 | 在纸上分别标出参数个数与每个参数占用。 | 两个量各自带单位。 |
| 07:00— 08:00 | 用八个小格组成一个字节,要求学生补上除以8。 | 写4×10⁹×4÷8的完整式子。 | 算式从位数换成字节数。 |
| 08:00— 09:00 | 巡视Q1,只追问位与字节的单位转换,再全班核对。 | 完成手算并保留原来的计算痕迹。 | 纸笔结果可与页面比较。 |
| 09:00— 10:00 | 用默认字段点击计算存储与取整过程,指出理想权重结果。 | 记录默认GB数、GiB数和页面的未知提示。 | Q1记录同一字节数的两种单位。 |
| 10:00— 11:00 | 解释GB与GiB计数单位不同,不表示权重忽然变小。 | 给自己的结果写十进制GB,并圈出不能混写的单位。 | 单位旁有口头解释或一句注释。 |
| 11:00— 12:00 | 只将位宽改为16,要求先猜倍率再运行。 | 比较两次理想大小,其余字段保持不动。 | 前后记录能看到单一条件变化。 |
| 12:00— 13:00 | 让学生解释为什么下方数轴表没有随位宽改变。 | 写存储估算与数轴实验是独立计算,并列未计项。 | 未把位宽直接对应为数轴格距。 |
| 13:00— 14:00 | 恢复4位,画0.1格距数轴,在-0.26左右标相邻点。 | 找出-0.26两侧候选格点,暂不点运行。 | 纸上有原数与相邻格点。 |
| 14:00— 15:00 | 比较两个距离,引导学生说明最近格点的选择依据。 | 计算-0.26到两侧格点的距离。 | 选择由距离比较支持。 |
| 15:00— 16:00 | 交给学生处理0.14和0.49,再运行默认数轴材料。 | 手算后核对三个取整值和绝对误差。 | Q2表包含原数、取整后和误差。 |
| 16:00— 17:00 | 遮住平均误差结果,要求先加三个距离再除以3。 | 复算平均误差,并解释为什么不用正负抵消。 | 平均值有求和与除数。 |
| 17:00— 18:00 | 只把格距改成0.25,让学生重新定位三个原数。 | 预测新格点后运行,保存前后取整表。 | 参数量与位宽未跟着修改。 |
| 18:00— 19:00 | 指向-0.26这一项,追问粗格距是否使每个误差都变大。 | 比较单项误差与平均误差,并写出区别。 | 解释引用具体一项的变化。 |
| 19:00— 20:00 | 说明等距离远离0的教学规则,以及本实验未实现真实Q4格式。 | 写一条数轴观察能说明什么、不能说明什么。 | 未把数值误差当成模型正确率。 |
| 20:00— 21:00 | 恢复默认格距,指着unknown问未知能否为了算账改成0。 | 解释两种填写方式在证据上的差异。 | Q2保留未知项。 |
| 21:00— 22:00 | 读出扣权重后的差额,引导学生列运行时还需要的东西。 | 列出缓存、缓冲或其他至少两类额外需求。 | 未计项清单具体到资源用途。 |
| 22:00— 23:00 | 把额外占用填写1.2,并明确标为教学假设。 | 运行并记录合计与缺口,注明数字来自输入。 | 结果没有写成设备测量值。 |
| 23:00— 24:00 | 恢复unknown,询问刚才的总需求是否还能继续沿用。 | 修订判断,说明当前缺少哪个量。 | 新判断与当前表单一致。 |
| 24:00— 25:00 | 用留下文件与运行工作空间区分磁盘、内存和显存。 | 把文件存放与计算工作空间标到三框图旁。 | 没有随意相加不同设备资源。 |
| 25:00— 26:00 | 用短输入和长对话举例,收束公式只能辅助准备。 | 完成Q2条件说明,检查1.2的来源标注。 | 资源结论包含未验证条件。 |
| 26:00— 27:00 | 真实路径执行ollama ls,后备路径阅读请求示意。 | 找到精确模型标签或记录未准备的阶段。 | 名称来自实际列表或明确未观察到。 |
| 27:00— 28:00 | 核对冒号与数字,再给出ollama run qwen2.5:0.5b。 | 已准备者进入模型对话,其余标注后备。 | 未因拼错名称临时下载其他模型。 |
| 28:00— 29:00 | 等待提示符出现,指向Q3的两项活动与时间。 | 输入资料比较12分钟、核对引用18分钟的完整材料。 | 保存准确输入文本。 |
| 29:00— 30:00 | 要求等待一次回答结束,不规定唯一措辞。 | 保留实际输出,后备者分析应该核对哪些字段。 | 真实输出和预计检查项有明确标签。 |
| 30:00— 31:00 | 让学生逐项圈出活动与数字,附加评价也要留在记录中。 | 核对12、18及活动对应,标记是否添了能力判断。 | 内容结果没有被改写成理想答案。 |
| 31:00— 32:00 | 示范输入/bye,再立刻执行ollama ps。 | 退出对话并保存实际运行信息,空列表如实记录。 | 有当前状态而非虚构CPU/GPU比例。 |
| 32:00— 33:00 | 并排写ls与ps,请学生解释文件列表和运行状态的差别。 | 用自己的两个观察说明模型是否当前运行。 | Q3包含命令职责区分。 |
| 33:00— 34:00 | 按软件、模型、生成阶段定位未完成情况,转入接口练习。 | 给Q3写完成、观察同伴或后备的准确模式。 | 不会把同伴的成功写成自己设备成功。 |
| 34:00— 35:00 | 请学生把local_chat.py副本放入classroom30并检查Python版本。 | 确认脚本所在文件夹,执行python3 --version。 | 脚本路径与可用Python命令明确。 |
| 35:00— 36:00 | 给出不带live的脚本命令,并提醒先观察mode。 | 执行默认命令,找到dry_run_no_network。 | 请求展示没有被写成模型回答。 |
| 36:00— 37:00 | 逐项指向模型名、127.0.0.1地址与messages。 | 在默认输出里找到请求对象与完整消息。 | Q4记录包含待发送结构。 |
| 37:00— 38:00 | 打开Q4完整记录代码,说明复制后需找关键位置。 | 保存record_local.py,圈出live=True和except。 | 代码能对应真实调用与失败记录。 |
| 38:00— 39:00 | 解释UTF-8写文件与经过时间的作用,确认环境后再执行。 | 找到local-result.json写入语句和计时位置。 | 知道保存的内容与耗时来源。 |
| 39:00— 40:00 | 让就绪者运行一次record_local.py,其他人继续后备读解。 | 执行一次并等待,或画脚本到已下载权重的路径。 | 实际调用与后备活动分别标记。 |
| 40:00— 41:00 | 要求打开实际JSON文件,先读mode再判断后续状态。 | 记录模式及错误类型或返回模型、done、answer。 | 有文件不被直接当成成功。 |
| 41:00— 42:00 | 用本机中转箭头解释localhost只说明请求第一站。 | 结合模型准备和运行状态填写本次执行条件。 | 本地结论包含依据与范围。 |
| 42:00— 43:00 | 核对各组已经取得的记录,不重复启动失败请求。 | 为Q4写真实服务响应或准确未完成状态。 | 后续检查能追到这一份记录。 |
| 43:00— 44:00 | 投影请求对象、最终内容、事实、未验证四列空表。 | 用自己的JSON或后备标记填入对应列。 | 接口和内容的判断分栏。 |
| 44:00— 45:00 | 说明done与非空answer不能替代原材料核对。 | 逐项核验两项活动与12、18的对应。 | 每个事实有原文依据。 |
| 45:00— 46:00 | 追问模型额外判断研究型人才时应在哪一列记未通过。 | 指出材料不支持能力标签并保留该输出。 | 验收边界包含禁止无依据推断。 |
| 46:00— 47:00 | 解释首轮加载、长度和设备差异,拒绝按秒数给模型排名。 | 记录本次elapsed_seconds,并注明条件未统一。 | 耗时只作为这一轮观察。 |
| 47:00— 48:00 | 让后备者说明已完成资源计算但缺少哪些模型证据。 | 检查Q4记录是否准确包含未完成部分。 | 完成范围具体,没有泛写全部成功。 |
| 48:00— 49:00 | 关闭答案投影,读Q5的2B、8位与2.5GB新条件。 | 独立写理想大小算式与未知条件判断。 | Q5资源题有独立初稿。 |
| 49:00— 50:00 | 巡视时只问当前算的是位还是字节,不宣布结果。 | 自行检查单位与换算,保留更正痕迹。 | 单位修正来自学生自己的解释。 |
| 50:00— 51:00 | 读出三个新数值与0.25格距,要求先找邻近格点。 | 独立算取整值与三个绝对误差。 | 新数值表在运行之前写出。 |
| 51:00— 52:00 | 允许学生用页面核对,但不替他们填写新材料。 | 输入Q5条件,比较手算与页面结果。 | 独立预测与观察可以对照。 |
| 52:00— 53:00 | 要求检查只有dry_run记录的成功声明,暂不讲评。 | 写出缺少的运行与内容证据。 | Q5第三题独立说明依据。 |
| 53:00— 54:00 | 给出本地聊天加外部嵌入的流程,请标出数据经过哪里。 | 画完整箭头,判断是否可以称整个应用离线。 | 图上能找到外部步骤。 |
| 54:00— 55:00 | 提醒独立阶段结束前用另一颜色修订最初预测。 | 保存Q5并注明改变判断的具体观察。 | 预测修订不是简单抄结论。 |
| 55:00— 56:00 | 独立时间结束后打开答案,核对存储式和资源条件。 | 对照Q5第一题补写遗漏的未知占用说明。 | 改正有具体理由。 |
| 56:00— 57:00 | 用负数两侧距离解释独立数轴答案。 | 解释自己的负数格点选择及平均误差算法。 | 不是只抄三个最终值。 |
| 57:00— 58:00 | 分别展示真实调用和准确后备记录,按对应目标评价。 | 核查自己的记录标签与实际操作是否一致。 | 未完成情况没有被隐藏。 |
| 58:00— 59:00 | 留下四行板书,收取前后实验、独立题及运行记录。 | 提交Q1、Q2、Q5和Q4结果或未完成说明。 | 作业具备可追查的材料与条件。 |
| 59:00— 60:00 | 用下一课知识库的嵌入与生成衔接,提醒逐步核对数据路径。 | 写我能检查什么及我还未验证什么两句离堂话。 | 学习成果与验证边界都对应实际操作。 |
来源与使用范围
保持 AIPath 第27篇、显示顺序第30课。2026-09-10核对 Ollama 官方安装、CLI、API 与轻量模型页;本轮没有安装 Ollama、下载模型或调用本地服务。数轴量化为原创教学简化,不模拟实际 Q4 编码。
- Ollama CLI:核对模型下载、列举、运行、退出后的运行实例检查。
- Ollama 聊天接口:核对模型、messages、stream、message.content 与 done 字段。
- Ollama 常见问题:核对本地与云执行区别、上下文与资源、CPU/GPU 运行信息。
- Ollama macOS 安装:课前按当前系统条件安装,课堂不承诺所有设备兼容。
- Ollama Windows 安装:课前按当前系统条件安装并重新打开终端。
- Qwen2.5 0.5B 官方模型条目:核对可复制的小模型名称;仅用于操作练习,不作质量排行或硬件保证。