大三双非本科0基础自学大模型(三):接入模型后该学什么?

前言

前两期写了 Hermes 安装和微信接入的教程,没想到居然有这么多人看。但最近收到最多的私信,其实是同一个问题:

"我把 Hermes、Ollama、各种 API 都弄好了,然后呢?我该学什么?"

这个问题真的问到我心坎里了——因为就在两周前,我就是这个状态:

plaintext

✅ Hermes Agent 能聊天了
✅ Claude Code 能写代码了
✅ Reasonix 能帮我干活了
✅ Ollama 跑起来了,qwen2 也下好了
✅ DeepSeek、硅基流动的 API Key 全齐了

❌ 一个能拿得出手、能给别人看的东西都没有

我彻底陷入了 "工具收集癖" 的怪圈:每天打开电脑第一件事就是开终端,看看又出了什么新工具,装一下,玩个十分钟,然后关掉终端。成就感来得快,去得更快。

这感觉就像你兴冲冲买了一整套厨房设备,锅碗瓢盆样样齐全,结果每天还是只会煮泡面。

目录

  1. B站学大模型,90%的人死在这5个坑
  2. 我是怎么用 AI 打破死循环的
  3. AI 带我学 Git——原来不是用来装X的
  4. AI 教我搭项目结构——专业的代码长这样
  5. AI 教我写代码——从"能跑"到"能维护"
  6. 我的项目:本地 RAG 知识库
  7. 踩坑全记录(真·血泪史 · 8大坑)
  8. 总结:接入模型后到底该学什么

一、B站学大模型,90%的人死在这5个坑

前两个月我几乎把 B站上所有"0基础学大模型"的教程都刷了一遍。但刷着刷着我就发现,B站学习的坑,真的比教程还多。

很多人不是学不会,是被这些坑硬生生劝退的:

表格

坑点 具体表现
教程永远比技术慢半拍 LangChain API改了、Ollama命令变了、模型下架了,评论区全是"跟着敲全是错"
学了一堆碎片,做不出完整东西 会装Ollama、会接微信、会写简单RAG,但拼不出一个完整项目
只教"怎么做",不教"为什么" 复制粘贴跑起来了,但想改个功能就彻底懵了
环境问题劝退90%新手 5GB编译器、权限问题、Python版本冲突,教程永远只说"自己解决环境"
没人答疑,卡壳就是终点 报错了评论区没人理,搜三天解决不了,放弃看下一个教程

我就在这个死循环里挣扎了整整两个月:看教程 → 敲代码 → 报错 → 搜不到解决方案 → 放弃 → 看下一个教程。

直到两周前,我决定换个思路——直接用 AI 带着我学,没想到彻底打开了新世界的大门。

二、我是怎么用 AI 打破死循环的

我直接打开 Reasonix 跟它说: "你当我的编程导师,带我从零做一个项目,从 Git 开始教。"

本来没抱什么希望,想着 AI 随便给我个教程链接就不错了。结果它真的开始一步一步带着我走,连每一行命令为什么要这么写都讲得清清楚楚。

那之后我才发现,原来用 AI 学习,居然能这么爽。它完美解决了 B站学习的所有痛点。

用 AI 当老师的5大好处

表格

好处 具体说
永远不会过时的"活教程" 知道最新的库版本、最新的API、最新的最佳实践。装chromadb遇到C++编译错误,它不给我推5GB编译器,直接给了个纯Python包的命令,一行搞定
量身定制的学习路径 不管你基础,上来就讲Transformer?不存在的。知道我0基础只会点Python,直接带我做RAG项目,用到什么学什么
不仅教"怎么做",还教"为什么" 搭目录的时候跟我说"代码放src、数据放data,以后换数据不用改代码;每个文件只做一件事,改PDF读取只动loader.py"——这些B站教程从来不会讲这么细
24小时在线的专属答疑 报错了直接贴过去,马上给解决方案。中文引号的语法错误,AI一眼就看出来了,还安慰我"不是你的错,是Python和中文标点打架了"
把大目标拆成小目标 "做RAG系统"听起来很吓人,但AI拆成5天的小目标,每天做完一个就前进一大步

三、Git 到底有啥用?新手为什么一定要学

说出来不怕大家笑话,我之前对 Git 的全部认知,就只有两行命令:

bash

git init   # 初始化一下
git push   # 上传到 GitHub

看起来很酷,但我根本不知道为什么要用它。

Git 对新手的三个核心用处

表格

用处 大白话解释
时光机 写崩了随时回退到上个版本,再也不怕"改了之后还不如原来"
后悔药 想知道上周写了什么、为什么这么写,直接查历史记录
入场券 找工作只要是写代码的,100%会问 Git,不会直接减分

之前我写代码就是一个文件改来改去,改坏了就 Ctrl+Z 撤销,撤销多了也不知道哪个是对的。有了 Git 之后,每写完一个功能就提交一次,心里特别踏实。

AI 带我学 Git 的真实过程

直接敲三行命令就完事了,没那么多花里胡哨的:

bash

# 1. 进入项目目录
cd 我的项目目录

# 2. 初始化 Git 仓库(只做一次)
git init

# 3. 把所有文件加到暂存区(. 就是当前目录的意思)
git add .

# 4. 提交,写清楚这次改了什么
git commit -m "🎉 项目初始化:搭建目录结构,配置依赖和忽略规则"

就这么简单,以后每次改完代码,重复 git add . + git commit 就行了。

整个项目我分成了5个阶段,每完成一个小目标就提交一次,现在打开日志整整齐齐:

bash

$ git log --oneline
2ec106c 🚀 阶段4+5:实现完整CLI工具,RAG问答系统正式完成
20c7bc4 ✨ 阶段1:实现文档加载器和文本分块器
1cf4624 🎉 项目初始化:搭建目录结构,配置依赖和忽略规则

这种掌控感,真的比装10个新工具强太多了。

四、AI 教我搭项目结构——专业的代码长这样

AI给我的第一个任务,居然不是写代码,而是搭目录结构

plaintext

knowledge-base-qa/
├── src/                    ← 源代码目录
│   ├── loader.py           ← 文件加载器
│   ├── chunker.py          ← 文本分块器
│   ├── vector_store.py     ← 向量存储与搜索
│   ├── ollama_client.py    ← 大模型调用
│   └── cli.py              ← 命令行交互界面
├── data/                   ← 文档文件目录
├── tests/                  ← 测试用例
├── .gitignore              ← Git忽略规则
├── requirements.txt        ← 依赖管理
└── README.md               ← 项目说明

我以前写 Python 都是一个 .py 文件走天下,所有代码堆在一起,跑完就删。

AI的两个关键建议

1. 目录分离原则

src/ 放代码,data/ 放数据,代码和数据要分开。这样以后要换数据,不用改代码。

2. 依赖锁定

txt

# requirements.txt
pypdf==5.1.0
chromadb==0.5.18
requests==2.32.3

每一行就是一句:"我的项目需要这个库,版本要这个号。"锁版本是为了别人(或者以后的你)装依赖时不会因为版本变更而出错。

它还教我写 .gitignore,把 __pycache__/chroma_data/ 这些不该提交的文件统统忽略掉。

五、AI 教我写代码——从"能跑"到"能维护"

我以前写代码只有两个状态:

  • 能跑 → 完美,不管了
  • 不能跑 → 修到能跑为止

AI教了我第三件事:写给人看的代码。

1. 加注释不是废话

python

def load_text(file_path: str) -> str:
    """读取 .txt 文件,返回文件内容
    
    Args:
        file_path: 文本文件的路径
        
    Returns:
        文件内容字符串
        
    Raises:
        FileNotFoundError: 文件不存在时抛出
    """
    path = Path(file_path)
    if not path.exists():
        raise FileNotFoundError(f"文件不存在:{file_path}")
    return path.read_text(encoding="utf-8")

AI说:注释不是写给电脑看的,是写给两天后的你看的。

我当时不信。两天后回头看自己没加注释的代码——真看不懂了。

2. 单一职责原则

表格

文件 只负责一件事
loader.py 读取各种格式的文件,提取纯文本
chunker.py 把长文本切成合适大小的块
vector_store.py 存储向量,做相似度搜索
ollama_client.py 封装 Ollama API 调用
cli.py 处理用户输入和输出展示

好处: 如果以后要改 PDF 读取方式,我只改 loader.py,其他文件不用动。

六、我的项目:本地 RAG 知识库

在学 Git 和项目结构的过程中,我顺便完成了这个 本地 RAG 知识库问答系统

它能做什么

bash

# 添加自己的文档
python src/cli.py --add data/我的笔记.txt

# 提问
python src/cli.py --ask "这个文档讲了什么?"

# 或者像聊天一样交互
python src/cli.py
> 什么是RAG?
💬 RAG 是检索增强生成的缩写,工作原理是把文档切分成小段...

RAG 工作原理(四步走)

plaintext

你的问题 
    ↓
① 在本地文档里搜索相关段落
    ↓
② 把问题 + 搜到的段落 一起发给本地大模型
    ↓
③ 模型看完参考信息后回答
    ↓
④ 带上原文引用输出给你

手写 TF-IDF 向量搜索(国内用户福音)

很多教程用 Chroma + Sentence Transformer 做语义搜索,但我在国内连 HuggingFace 超时了——干脆自己手写了一个 TF-IDF 搜索

python

import math

def cosine_similarity(vec1, vec2):
    """计算两个向量的余弦相似度"""
    dot_product = sum(a * b for a, b in zip(vec1, vec2))
    norm1 = math.sqrt(sum(a*a for a in vec1))
    norm2 = math.sqrt(sum(b*b for b in vec2))
    return dot_product / (norm1 * norm2) if norm1 and norm2 else 0

虽然 TF-IDF 只能匹配关键词(不如语义搜索准),但它零依赖、纯 Python、跑得飞快

后来接上 Ollama 的 nomic-embed-text 做语义搜索,效果直线上升。

调用本地大模型

用 Ollama 跑 qwen2:0.5b(阿里千问小模型,352MB,中文好):

python

import requests

def ask_ollama(question: str, context: str) -> str:
    """调用本地 Ollama 模型回答问题"""
    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": "qwen2:0.5b",
            "prompt": f"""基于以下参考信息回答用户的问题:

参考信息:
{context}

用户问题:{question}

如果参考信息不足以回答问题,请如实说"我不知道"。""",
            "stream": False,
        },
        timeout=60
    )
    return response.json()["response"]

七、踩坑全记录(真·血泪史 · 8大坑)

表格

# 坑点 报错/现象 教训
1 为了装一个库,下了5GB编译器 error: Microsoft Visual C++ 14.0 or greater is required. Windows装库遇到C++错误,先搜预编译wheel包或换纯Python替代品
2 下载模型下到怀疑人生 83KB/s,预计1小时18分钟 下模型的时候去干别的事,别盯着进度条看,会自闭
3 手动导入的GGUF不兼容 Error: unable to allocate CPU buffer 能走官方源就走官方源,别省那点流量
4 中文引号让Python崩溃了 SyntaxError: invalid syntax Python和中文标点打架,用单引号包字符串
5 数据没保存,等于白做 脚本一关数据就丢了 pickle序列化,数据存到磁盘文件
6 复制粘贴带进来的"隐形字符" ▎ : 无法将"▎"项识别为 cmdlet... 手敲命令,不复制粘贴
7 模型加进去了,但脚本说连不上 一直报"Ollama服务不可用" 终端之前设置了代理环境变量,curl请求走了代理连不上本地。关掉重开就好了——环境变量污染是最坑的隐形bug
8 Ollama装好了,但提示找不到命令 ollama --version 找不到 没关终端重开,环境变量没刷新。重启治百病

八、总结:接入模型后到底该学什么

如果让我给刚接触大模型的同学一个建议,那就是:

别再沉迷于收集工具,也别再死磕过时的教程。找一个你真正想做的小项目,然后让 AI 当你的老师,带着你一步一步做。

装 Hermes 花一天,接微信花半天,下模型花一小时……然后呢?你还是在原地。

但如果你定一个目标——"我要做一个能用的东西"——你会发现你需要:

表格

能力 怎么学会的
Git 版本管理 做项目过程中自然养成习惯
Python 项目结构 知道了怎么组织代码才叫"专业"
API 调用 学会了怎么让程序跟大模型对话
需求拆解 知道了怎么把一个功能拆成几个小步骤
搜错能力 这才是程序员最重要的能力

这些才是真正值钱的东西。工具会过时,但这些能力不会。

写在最后

我依然是一个双非本科、正在找实习的普通学生。

但跟两周前不同的是:

  • ✅ 我有了一个能给别人演示的项目
  • ✅ 我学会了 Git,并且养成了提交习惯
  • ✅ 我知道怎么用 AI 来教我,而不是替我做

AI 不是用来代替你学习的,它不会替你写代码,也不会替你思考。

但它是最好的老师,最好的助教,最好的陪练。它能帮你跳过那些毫无意义的坑,让你把时间和精力,花在真正重要的事情上。

希望这篇文章能帮到跟我一样迷茫的朋友。

下一期预告: 把 TF-IDF 升级成语义搜索,顺便做个 Web 界面。

码字不易,如果对你有帮助,点个赞再走~

附录:我的学习资源清单

表格

资源 说明
黑马程序员 Python+AI大模型 B站 BV1h1VbzHER2
LLM-Universe GitHub 开源学习资源
Hermes Agent AI 调度助手
Reasonix AI 编程导师
Ollama 本地大模型运行
qwen2:0.5b 轻量中文模型

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐