给自己写的。
原链接(也是翻译国外版):fancyboi999/ai-engineering-from-scratch-zh: Agent工程师最全学习路径 · 从零精通 AI 工程 · 20 阶段 503 课 · 中文全量翻译 + 配套站点 · 如何成为 AI Agent 工程师的修成指南
原原链接:
rohitg00/ai-engineering-from-scratch: Learn it. Build it. Ship it for others.
一、前置
没用过macbook,不过最好还是linux,轻薄本都行,最好独显英伟达,可以没有独显。
windows本:最佳平衡WSL 2 + Ubuntu。(优势:享受完整ROCm软件栈,支持最新AI框架和库。限制:因虚拟化存在约10-15%的性能损耗。)
win10:按下Win + R键,输入winver并回车,在弹出的窗口中确认你的系统版本不低于1903,且内部版本号不低于18362.1049。
在BIOS/UEFI设置中开启虚拟化技术(在AMD CPU上通常名为SVM Mode)。
【如何进入并检查BIOS:
重启电脑,在开机画面出现时,根据屏幕提示反复按下
Del/F2/F10键(不同品牌主板按键不同)进入BIOS设置界面。在“高级”或“Configuration”等菜单中找到“SVM Mode”(amd cpu才叫这个),确保其状态为“Enabled”(启用)。
按
F10保存并退出。】
管理员powershell 窗口输入:
(后面用PS指代“管理员模式打开powershell窗口)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启电脑;
(只要你电脑进了系统,c盘默认有远古版本wsl,只能在PS中先更新wsl,再迁移到D盘;
为什么需要分盘+迁移?
系统崩溃只需要重装系统格式化C盘,D盘不用动,不然又是一两天配环境。)
PS:
mkdir D:\WSL\Ubuntu
mkdir D:\Projectswsl --update
wsl --version#看到版本号说明正确
修改Windows DNS设置:
在任务栏的网络图标上右键,选择“打开‘网络和Internet’设置”。
点击“更改适配器选项”,找到你当前正在使用的网络(Wi-Fi或以太网),右键选择“属性”。
找到并双击“Internet 协议版本 4 (TCP/IPv4)”。
勾选“使用下面的 DNS 服务器地址”,然后将首选DNS服务器设置为国内常用的公共DNS,例如:
223.5.5.5(阿里云DNS),备选DNS服务器可设置为114.114.114.114。点击“确定”保存设置,win+r cmd回车ipconfig /flushdns刷新DNS缓存。
PS:
wsl --install -d Ubuntu --location D:\WSL\Ubuntu
弹窗设好用户名(比如lovaska)后,窗口中一般用户名和装系统用户名一样,设置一下密码回车,有一个是否把自己信息上传给公司研究,y回车-同意,n回车-不同意。
自动进入PS窗口中的ubuntu界面:
lovaska@DESKTOP-XXX:~$
看到用户名@...:~$说明成功。
在 Ubuntu 里把“工作起点”锁死
在PS中的ubuntu界面里面先输入:
# 代码统一放这里 -p确保运行,~/确保主目录
mkdir -p ~/projects# 以后每次进 WSL 自动到这里
echo 'cd ~/projects' >> ~/.bashrc
(>>是“追加重定向符号”,把左边命令的输出,追加写入到右边的文件中,而不覆盖原内容。)
(WSL系统实体文件:D:\WSL\Ubuntu\ext4.vhdx,
ubuntu开启时windows侧文件资源管理器输入\\wsl$\Ubuntu\home\lovasuka看根目录,
ubuntu侧输入ls /mnt/d/看D盘根目录)
二、开始配环境
1.uv,python
开始菜单点ubuntu进入窗口,ubuntu:{
curl -LsSf https://astral.sh/uv/install.sh | sh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc#之后每次打开Ubuntu界面都可以直接用
uvuv python install 3.12 uv venv source .venv/bin/activate uv pip install numpy matplotlib jupyterpython
#进入写python代码界面,新手每行一回车,
import sys
print(f"Python {sys.version}") #Python 3.12.ximport numpy as np
print(f"NumPy {np.__version__}") #NumPy 1.xx.x
a = np.array([1, 2, 3])
print(f"Vector: {a}, dot product with itself: {np.dot(a, a)}") #Vector: [1 2 3], dot product with itself: 14#有print结果就正常
exit()#每行回车,推到Ubuntu界面
}
(写成.py文件再运行
在项目目录里创建一个文件ubuntu:nano verify1.py
粘贴代码,保存(
Ctrl + O→ 回车 →Ctrl + X)运行:ubuntu:python verify.py )
2.用 pnpm 配置 Node.js
fnm 官方安装源暂时不可访问fnm 官方安装源暂时不可访问,直接装 Node 22,装完补上再配,
ubuntu:
# 1. 添加 NodeSource 22(Ubuntu 专用)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -# 2. 安装 Node.js
sudo apt update
sudo apt install -y nodejs#输入Ubuntu之前设置密码安装
# 3. 验证
node -v
npm -v#安装 pnpm
sudo npm install -g pnpm
pnpm -v#最终验证,显示Node v22.x.x说明成功
node -e "console.log('Node', process.version)"
“我这 pnpm是后面装的,将来哪怕再装 fnm / nvm / 多版本 Node,是否与用pnpm配置node安装一样能管理多版本node?”
(不依赖 package.json 的「最干净验证」)
ubuntu:
head -1 "$(which pnpm)"
如果看到
#!/usr/bin/env node✅ 完美(说明它动态找 PATH 里的 node,将来换版本零后遗症)如果看到写死的
#!/usr/bin/node之类 ⚠️ 才是需要注意
3.rust
ubuntu:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh#进入安装程序,按回车等于平时软件安装图形界面点下一步,
#看到Rust is installed now. Great! 说明安装成功
#让rust立刻生效
source "$HOME/.cargo/env"
rustc --version
cargo --version#显示rustc 1.8x.x cargo 1.8x.x成功
4.Julia(可选)
ubuntu:
curl -fsSL https://install.julialang.org | sh
#回车安装下一步
julia -e 'println("Julia ", VERSION)'
#Julia 1.12.6
5.显卡为9070xt,不是英伟达显卡,
ubuntu:
#先跳过 GPU,用 CPU 版 PyTorch 继续学教程
# 确保 uv 虚拟环境已激活
source .venv/bin/activate# CPU 版 PyTorch
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
验证:
python:
import torch print("PyTorch:", torch.__version__) print("CUDA available:", torch.cuda.is_available()) # 张量运算照样跑,只是用 CPU x = torch.randn(3, 3) print("Works:", x @ x.T)验证结果:【
PyTorch: 2.12.0+cpu CUDA available: False Works: tensor([[ 4.6298, 1.7297, -0.5602], [ 1.7297, 0.9231, -0.1046], [-0.5602, -0.1046, 0.1336]])
】
6.验证一切
github导入项目,
ubuntu:
# 运行官方验证脚本
python phases/00-setup-and-tooling/01-dev-environment/code/verify.py
后续都是将怎么导入项目的,高手止步。
原项目大,用ubuntu导入每次github中断,
下载原链接zip文件,我的edge浏览器下载文件路径为:D:\EdgeDownloads,用Location代替,
zip名为:ai-engineering-from-scratch-zh-main.zip,用Doc代替,
ubuntu:
cd ~
cp /mnt/Location/Doc ~/
sudo apt install unzip
#输入密码下载unzip
unzip Doc
#重命名为正确目录名
mv ai-engineering-from-scratch-zh-main ai-engineering-from-scratch-zh
#验证仓库完整性
cd ~/ai-engineering-from-scratch-zh
ls#至少有phases/ scripts/ outputs/ README.md requirements.txt
#确认 verify 脚本存在:main.rs verify.py verify.ts
ls phases/00-setup-and-tooling/01-dev-environment/code/
#到文件目录
cd ~/ai-engineering-from-scratch-zh
# 激活你之前创建的虚拟环境
source ~/.venv/bin/activate# 运行官方验证脚本
python phases/00-setup-and-tooling/01-dev-environment/code/verify.py
#结果为:【
=== AI Engineering from Scratch — Environment Check ===
Core:
[PASS] Python 3.10+ (Python 3.12.13 (main, Jun 2 2026, 22:27:15) [Clang 22.1.3 ])
[PASS] NumPy
[PASS] Matplotlib
[PASS] Jupyter
[PASS] Git
[PASS] Node.js
[FAIL] Rust (cargo)
GPU (optional):
[PASS] PyTorch
[FAIL] CUDA
Result: 6/7 core checks passed, 1/2 GPU checks passed
Fix the failed checks above, then run this script again. 】
这是verify 脚本的检测逻辑太严格,不是环境的问题。
你的 Rust 已经装好了 ,只是脚本找不到cargo命令。
ubuntu:
which cargo
#显示/home/lovasuka/.cargo/bin/cargo说明rust在
sudo ln -sf ~/.cargo/bin/cargo /usr/local/bin/cargo
sudo ln -sf ~/.cargo/bin/rustc /usr/local/bin/rustccd ~/ai-engineering-from-scratch-zh
source ~/.venv/bin/activate
python phases/00-setup-and-tooling/01-dev-environment/code/verify.py
显示:【
】
7.阅读
ubuntu:
cd ~/ai-engineering-from-scratch-zh
# 打开第一课(中文)
less phases/01-math-foundations/01-linear-algebra/docs/zh.md