给自己写的。

原链接(也是翻译国外版):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:

  1. 重启电脑,在开机画面出现时,根据屏幕提示反复按下 Del/F2/F10 键(不同品牌主板按键不同)进入BIOS设置界面。

  2. 在“高级”或“Configuration”等菜单中找到“SVM Mode”(amd cpu才叫这个),确保其状态为“Enabled”(启用)。

  3. 按 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:\Projects

wsl --update
wsl --version 

#看到版本号说明正确

修改Windows DNS设置:

  1. 在任务栏的网络图标上右键,选择“打开‘网络和Internet’设置”。

  2. 点击“更改适配器选项”,找到你当前正在使用的网络(Wi-Fi或以太网),右键选择“属性”。

  3. 找到并双击“Internet 协议版本 4 (TCP/IPv4)”。

  4. 勾选“使用下面的 DNS 服务器地址”,然后将首选DNS服务器设置为国内常用的公共DNS,例如:223.5.5.5(阿里云DNS),备选DNS服务器可设置为 114.114.114.114

  5. 点击“确定”保存设置,win+r cmd回车ipconfig /flushdns刷新DNS缓存。

        PS:

# wsl --install -d Ubuntu --location D:\WSL\Ubuntu

wsl --install -d Ubuntu-24.04 --location D:\WSL\Ubuntu

# 默认 Ubuntu可能安装非 LTS 版本(如 24.10),ROCm 官方不支持,会导致后续库缺失。

弹窗设好用户名(比如 lovaska)后,窗口中一般用户名和装系统用户名一样,设置一下密码回车,有一个是否把自己信息上传给公司研究,y回车-同意,n回车-不同意。

自动进入PS窗口中的ubuntu界面:

lovaska@DESKTOP-XXX:~$

看到用户名@...:~$说明成功。

在安装完成、第一次进入 Ubuntu 后,加一步:

lsb_release -a

并说明:

✅ 正确结果应包含:

Release: 24.04.x
Codename: noble

如果不是,请立即重装。(我已经在24.10中配好了环境不想重装,用9700x cpu来跑了)

在 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界面都可以直接用 uv

uv python install 3.12

uv venv
source .venv/bin/activate  

uv pip install numpy matplotlib jupyter

python

#进入写python代码界面,新手每行一回车,

import sys
print(f"Python {sys.version}")  #Python 3.12.x

import 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文件再运行

  1. 在项目目录里创建一个文件ubuntu:nano verify1.py

  2. 粘贴代码,保存(Ctrl + O→ 回车 → Ctrl + X

  3. 运行: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/rustc

cd ~/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

本节课后练习:

Day 00 - 多语言 Hello World 练习(单目录版)

一、进入正确目录

cd ~/projects/day00
mkdir -p day00
cd day00
mkdir -p day00
cd ~/projects/day00/day00

二、Python(直接运行)

1️⃣ 创建并运行

nano hello.py

粘贴内容:

# hello.py
print("Hello, World from Python!")

运行:

python hello.py

输出

Hello, World from Python!

三、TypeScript(单文件运行)

1️⃣ 初始化项目(只需一次)

pnpm init -y
pnpm add -D typescript ts-node @types/node

2️⃣ 创建 TypeScript 文件

nano hello.ts

粘贴内容:

// hello.ts
console.log("Hello, World from TypeScript!");

3️⃣ 运行

pnpm exec ts-node hello.ts

输出

Hello, World from TypeScript!

四、Rust(单文件编译运行)

1️⃣ 创建 Rust 文件

nano hello.rs

粘贴内容:

// hello.rs
fn main() {
    println!("Hello, World from Rust!");
}

2️⃣ 编译并运行

rustc hello.rs -o hello_rust
./hello_rust

输出

Hello, World from Rust!

五、Julia(单文件运行)

1️⃣ 创建 Julia 文件

nano hello.jl

粘贴内容:

# hello.jl
println("Hello, World from Julia!")

2️⃣ 运行

julia hello.jl

输出

Hello, World from Julia!

六、一键运行所有语言的脚本

创建 run_all.sh

nano run_all.sh

粘贴内容:

#!/bin/bash

echo "=== Running Hello World in All Languages ==="

echo ""
echo "1. Python:"
python hello.py

echo ""
echo "2. TypeScript:"
pnpm exec ts-node hello.ts

echo ""
echo "3. Rust:"
./hello_rust

echo ""
echo "4. Julia:"
julia hello.jl

echo ""
echo "=== All Done! ==="

赋予执行权限并运行:

chmod +x run_all.sh
./run_all.sh

完整输出示例

=== Running Hello World in All Languages ===

1. Python:
Hello, World from Python!

2. TypeScript:
Hello, World from TypeScript!

3. Rust:
Hello, World from Rust!

4. Julia:
Hello, World from Julia!

=== All Done! ===

最终目录结构

~/projects/day00/day00/
├── hello.py              # Python
├── ts-hello/             # TypeScript 项目
│   ├── package.json
│   ├── tsconfig.json
│   ├── hello.ts
│   └── dist/
│       └── hello.js
├── rust-hello/           # Rust 项目
│   ├── Cargo.toml
│   └── src/
│       └── main.rs
├── hello.jl              # Julia
└── run_all.sh            # 一键运行脚本
Logo

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

更多推荐