AI大模型学习笔记怎么记?用Markdown和API脚本搭建可检索的笔记环境
AI大模型学习笔记真正难的不是记录,而是三个月后还能找到当时的结论和上下文。
如果平时用聊天窗口随手问、随手关,知识就散落在不同平台。
更实用的做法是:在一台Linux服务器上部署Ollama,用Markdown管理笔记正文,再用一个调用API的小脚本把每次提问和回答自动归档,形成可检索的本地笔记库。
先明确笔记环境和适用条件
这套方案适合个人学习或小团队内部使用,前提是有一台能跑模型的Linux服务器。
如果服务器没有GPU,也可以跑参数量较小的模型,速度会慢一些,但用于笔记整理和知识问答够用。
需要提前准备:
- 一台Linux服务器(本文以常见发行版为例,命令基于bash)
- 已安装Python 3和pip
- 一个用于存放笔记的目录,比如
/data/notes - 能通过浏览器或curl访问本机服务
如果服务器内存有限,建议先确认可用内存再选模型,避免加载失败。
部署Ollama并开放本地API
Ollama安装后默认监听127.0.0.1:11434,本机脚本可以直接调用。
安装命令可参考官方脚本,这里不复制不确定的地址,建议从Ollama官方文档获取对应系统的安装方式。
安装完成后执行:
ollama serve
新开一个终端拉取一个模型,例如:
ollama pull qwen2:7b
然后验证API是否可访问:
curl http://127.0.0.1:11434/api/tags
能返回模型列表JSON就说明服务正常。
如果连接被拒绝,先用systemctl status ollama或ps aux | grep ollama确认进程是否在运行。
规划笔记目录和文件命名
笔记库建议按“主题/日期-关键词.md”组织,例如:
/data/notes/
llm-basics/
2025-06-01-attention.md
ops/
2025-06-02-ollama-api.md
每篇笔记开头用固定字段记录元信息,方便后续检索:
# 注意力机制理解
- 日期:2025-06-01
- 模型:qwen2:7b
- 标签:transformer, attention
## 提问记录
...
## 我的结论
...
这样即使以后换模型,也能看出当时是在什么环境下得出的结论。
用Python脚本把问答自动写入笔记
在/data/notes下新建ask.py,调用Ollama的/api/generate接口,把问题、回答和模型名追加到指定Markdown文件:
import json, sys, datetime, urllib.request
note_path = sys.argv[1]
question = sys.argv[2]
payload = json.dumps({
"model": "qwen2:7b",
"prompt": question,
"stream": False
}).encode()
req = urllib.request.Request(
"http://127.0.0.1:11434/api/generate",
data=payload,
headers={"Content-Type": "application/json"}
)
with urllib.request.urlopen(req) as resp:
answer = json.loads(resp.read())["response"]
with open(note_path, "a", encoding="utf-8") as f:
f.write(f"\n## {datetime.datetime.now():%Y-%m-%d %H:%M}\n")
f.write(f"**问:** {question}\n\n")
f.write(f"**答:** {answer}\n")
print("已写入", note_path)
使用方式:
python3 ask.py /data/notes/ops/2025-06-02-ollama-api.md "Ollama的API默认端口是多少?"
执行后打开对应Markdown文件,能看到新增的问答段落。
如果报Connection refused,检查Ollama服务是否启动;
如果报模型不存在,先执行ollama list确认模型名。
检索和复盘笔记
笔记积累后,用grep按标签或关键词快速定位:
grep -r "attention" /data/notes --include="*.md"
也可以按日期范围查找近期笔记:
find /data/notes -name "*.md" -newermt "2025-06-01"
复盘时重点看每篇笔记的“我的结论”部分,而不是整段问答。
如果发现某个结论和后来的理解冲突,不要直接删旧笔记,在旁边补一条更新记录,保留认知变化的过程。
容易踩的坑
不要把API端口直接暴露到公网。 Ollama默认只监听本机,如果改成0.0.0.0又没有防火墙限制,任何人都能调用你的模型。
需要远程访问时,优先用SSH隧道或反向代理加认证。
模型名写错导致脚本失败。 qwen2:7b和qwen2.5:7b是不同的模型标签,脚本里的模型名必须和ollama list输出一致。
笔记文件没有统一编码。 脚本写入时指定encoding="utf-8",否则中文内容在某些环境下可能乱码。
只记答案不记问题。 单独看答案往往缺少上下文,脚本里同时写入问题,复盘时才能还原当时的思考路径。
验证笔记环境是否可用
完成以上步骤后,按顺序检查三件事:
curl http://127.0.0.1:11434/api/tags能返回模型列表。- 执行一次
ask.py后,目标Markdown文件末尾出现带时间戳的问答段落。 - 用
grep能搜到刚写入的关键词。
三项都通过,说明从提问到归档的链路已经打通。
后续可以按自己的习惯调整目录结构和脚本参数,但建议先保持流程简单,等笔记量上来后再考虑加全文检索工具。
如果笔记需要多人共享,再考虑把笔记目录放到带权限控制的共享存储上,而不是直接开放API给所有人。
先保证单机流程稳定,再扩展使用范围。