0%

ChromaDB向量数据库

LLM Embedding(大语言模型嵌入) 是指利用特定的LLM将文本(如单词、句子、段落)转换为固定长度的数值向量(即“嵌入向量”,embedding vector) 的过程。这些向量能够捕捉文本的语义信息,使得语义相近的文本在向量空间中距离更近。

用于LLM Embedding的特定的模型叫Embedding LLM(手动滑稽),业内有BGE、GTE等

Canvas2DRenderingContext2D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ctx.beginPath();
ctx.fillStyle = '#5E8C7B';
ctx.strokeStyle = '#FFFFFF';
ctx.lineWidth = 4;
ctx.lineJoin = 'round';

// Draw left side (head to tail)
ctx.moveTo(leftPoints[0].x, leftPoints[0].y);
for (let i = 1; i < leftPoints.length; i++) {
const xc = (leftPoints[i].x + leftPoints[i - 1].x) / 2;
const yc = (leftPoints[i].y + leftPoints[i - 1].y) / 2;
ctx.quadraticCurveTo(leftPoints[i - 1].x, leftPoints[i - 1].y, xc, yc);
}
ctx.closePath();
ctx.fill();
ctx.stroke();

运行在浏览器的扩展程序可直接与当前网页交互 可以实现自动评论 媒体捕获等功能

框架

YOLO(You Only Look Once) 高效目标检测算法框架 与传统目标检测方法不同 可以同时识别出图中多个物体的类别和位置

通常我们获取某个主流实现,如Ultralytics YOLOv8 其提供了多种安装方案、命令、API等

一键安装Ultralytics YOLO工具箱

1
pip install -U ultralytics

上述命令下载安装包括

  • YOLO算法的调用代码 包含了 YOLOv5, YOLOv8, YOLOv11 等不同版本模型的定义、训练、验证和推理的全部 Python 代码。
  • 相关依赖如Pytorch NumPy OpenCV等
  • CLI工具 以支持在终端直接调用yolo命令

使用Ultralytics YOLO几乎不需要编写代码

训练项目形如:

1
2
3
4
5
6
7
8
my_dataset/
├── images/
│ ├── train/ # 训练图片
│ └── val/ # 验证图片
├── labels/
│ ├── train/ # 训练标签
│ └── val/ # 验证标签
└── data.yaml # 数据配置文件

data.yaml配置:

1
2
3
4
train: my_dataset/images/train
val: my_dataset/images/val
nc: 2 # 类别数量
names: ['cat', 'dog'] # 类别名称

yolo命令

1
2
# 训练
yolo train model=yolov8n.pt data=data.yaml epochs=100 imgsz=640

其中yolov8n.pt是预训练模型的标志符 也可以是路径;data.yaml传入数据集 100轮训练 图片尺寸640*640

训练完成生成.pt文件 如best.pt

1
2
3
4
# 验证
yolo val model=runs/detect/train/weights/best.pt data=my_dataset.yaml
#推理
yolo predict model=best.pt source=path/to/your/image.jpg

python api:

1
2
3
from ultralytics import YOLO
model = YOLO('best.pt') # 加载模型
results = model('bus.jpg') # 进行推理

实践:钢铁缺陷检测

PaddlePaddle竞赛

项目目录

1

EDA数据分析

在钢铁缺陷检测实践中 需识别图像中是否存在龟裂、夹杂、点蚀、划痕、斑块、氧化铁皮压入6种缺陷,在导入模型训练前,对样本标记结果进行如下分析

  1. 类别分布
  2. 标注框尺寸分布
  3. 缺陷面积箱线图
  4. 类别不均衡程度

根据数据分析结果做特定的数据增强操作

数据增强

  • Pillow 做图像旋转、翻转
  • 亮度 对比度调整
  • 噪声(NumPy)
  • Albumentations

YOLO训练中自动开启的数据增强:

  • Mosaic
  • MixUp
  • 几何变换
  • 色彩变换

一款神经网络音频编解码器 可用于影视角色台词二创

Autodl 部署GPT-sovits

📋 任务概述

目标:使用原音频训练声音模型,生成新台词语音

原台词

我病了三年,四万块钱一瓶的正版药我吃了三年,房子吃没了,家人被我吃垮了,现在好不容易有了便宜药,你们非说他是假药,那药假不假,我们能不知道吗?那药才买五百块钱一瓶,药贩子根本没赚钱,谁家能不遇上个病人,你能保证你这一辈子不生病吗,啊?你们把他抓走了,我们都得等死,我不想死,我想活着

新台词

我失业了三年,四万块钱一个月的房贷我扛了三年,房子扛没了,家人被我啃垮了,现在好不容易有了openclaw,你们非说他没用,龙虾有没有用,我们能不知道吗?那软件是开源的,原作者根本没赚钱,谁家能保证自己不失业,你能保证你这一辈子不被AI取代吗,啊?你们把AI泡沫戳破了,我们都得等死,我不想死,我想活着


第一部分:租用AutoDL实例

AutoDL 4090 社区镜像关键字RVC-Boss/GPT-sovits

1.4 获取连接信息

实例启动后,在AutoDL控制台获取:

  • SSH连接命令(如:ssh -p 12345 root@region-x.autodl.pro
  • 密码

第二部分:环境配置

2.1 连接实例

1
2
3
# 使用AutoDL提供的SSH命令连接
ssh -p <端口> root@<地址>
# 输入密码

2.2 安装依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 更新系统
apt update && apt upgrade -y

# 安装ffmpeg和git
apt install -y ffmpeg git

# 创建工作目录
mkdir -p /root/workspace
cd /root/workspace

# 克隆GPT-SoVITS仓库(使用国内镜像加速)
git clone https://gitee.com/RVC-Boss/GPT-SoVITS.git
# 或使用GitHub
# git clone https://github.com/RVC-Boss/GPT-SoVITS.git

cd GPT-SoVITS

2.3 使用Conda环境

1
2
3
4
5
6
7
8
9
10
11
12
13
# 检查conda是否存在
which conda

# 创建Python环境
conda create -n GPTSoVits python=3.10 -y
conda activate GPTSoVits

若需conda init:

```bash
conda init bash
source ~/.bashrc
conda activate GPTSoVits

安装PyTorch(根据CUDA版本选择)

查看CUDA版本

nvidia-smi | grep “CUDA Version”

显示

1
| NVIDIA-SMI 580.105.08             Driver Version: 580.105.08     CUDA Version: 13.0     |

查看pytorch
1
python -c "import torch; print(torch.__version__)"

1
2.10.0+cu128

安装项目依赖

1
2
cd /root/workspace/GPT-SoVITS
bash install.sh --device CU128 --source ModelScope

torch版本未指定问题

1
2
3
4
5
6
# 卸载可能冲突的包
pip uninstall torch torchvision torchaudio triton
# 清理 pip 缓存(可选)
pip cache purge
# 用正确命令重装(以 cu121 为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

2.4 下载预训练模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 方法1:使用安装脚本(推荐,自动下载所有必需模型)


# 方法2:手动下载(如果脚本失败)
# 创建模型目录
mkdir -p GPT_SoVITS/pretrained_models
mkdir -p GPT_SoVITS/text
mkdir -p tools/UVR5/UVR5_weights

# 使用modelscope下载(国内镜像) 因为使用的python3.8 需要安装旧版本modelscope
pip install modelscope=1.11.0

modelscope download iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch

mv ~/.cache/modelscope/hub/iic/* ~/GPT-SoVITS/tools/asr/models

第三部分:准备训练数据

3.1 上传音频文件

方法1:使用AutoDL文件管理器(推荐)

  1. 在AutoDL控制台打开”文件管理”
  2. 创建目录 /root/workspace/audio/
  3. 上传音频文件 output.wav

方法2:使用SCP上传

1
2
# 在本地电脑执行
scp -P <端口> output.wav root@<地址>:/root/workspace/audio/

方法3:使用rclone或其他工具

1
# 如果音频在网盘,可以使用rclone下载

3.2 音频要求

  • 格式:WAV(推荐)、MP3、FLAC
  • 采样率:建议16kHz以上,24kHz最佳
  • 声道:单声道
  • 时长:建议1-5分钟的清晰人声
  • 质量:无背景音乐、无噪音、无混响

3.3 音频预处理(可选)

如果音频有背景音乐或噪音,需要先处理:

1
2
3
4
5
6
7
8
cd /root/workspace/GPT-SoVITS

# 启动WebUI
python webui.py zh_CN

# 浏览器访问 http://<实例IP>:9874
# 进入 "0a-UVR5人声伴奏分离&去混响去延迟工具"
# 上传音频,选择模型,点击"分离"

第四部分:训练模型

4.1 方案A:快速推理(零样本,无需训练)

适合快速测试,效果可能不如微调:

1
2
3
4
5
6
7
cd /root/workspace/GPT-SoVITS
python webui.py

# 浏览器访问 http://<实例IP>:9874
# 1. 在"请上传参考音频"处上传音频文件
# 2. 在"输入目标文本"处输入新台词
# 3. 点击"生成"按钮

4.2 方案B:微调训练(推荐,效果更好)

步骤1:配置AutoDL端口映射

  1. 在AutoDL控制台 → 自定义服务 → 开启端口映射
  2. 添加端口 9874(WebUI默认端口)
  3. 获取访问链接
1
ssh -p 19612 -L 9874:localhost:9874 root@connect.bjb2.seetacloud.com

步骤2:启动WebUI

1
2
3
4
5
6
7
8
cd /root/workspace/GPT-SoVITS
conda activate GPTSoVits

# 启动WebUI(监听所有端口)
python webui.py --listen 0.0.0.0

# 或指定端口
python webui.py --listen 0.0.0.0 --port 9874

package issues

1
2
pip install opencc==1.1.6
pip install torchcodec

use pytorch 2.8

1
2
pip uninstall torch torchaudio torchvision torchcodec -y
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0

步骤3:使用WebUI训练

  1. 打开WebUI:浏览器访问端口映射地址

  2. 音频切分(如果音频较长):

    • 进入 0b-音频切片工具
    • 上传音频,设置切片参数(建议每段10-15秒)
    • 点击”切分”
  3. 语音识别

    • 进入 0c-中文ASR工具
    • 选择切分后的音频目录
    • 点击”识别”,生成文本标注
  4. 文本校对

    • 进入 0d-文本校对工具
    • 校对识别结果,确保文本与音频内容一致
    • 保存标注文件
  5. 训练集格式化

    • 进入 1A-训练集格式化工具
    • 选择处理好的音频和标注文件
    • 点击”格式化”,生成训练数据
  6. 微调训练

    • 进入 1B-微调训练
    • 设置训练参数:
      • SoVITS训练轮数:建议10-20轮
      • GPT训练轮数:建议10-20轮
      • 批量大小:根据显存调整(RTX 4090可用8-12)
      • 学习率:使用默认值
    • 点击”开始训练”
    • 等待训练完成(约30分钟-1小时)
  7. 推理测试

    • 训练完成后,回到主页
    • 选择训练好的模型
    • 输入新台词,点击”生成”
    • 下载生成的音频

第五部分:命令行训练(高级用户)

如果WebUI不可用,可以使用命令行:

5.1 准备训练数据

1
2
3
4
5
6
7
8
9
10
# 创建训练数据目录
mkdir -p /root/workspace/GPT-SoVITS/Data/your_speaker_name

# 复制音频文件
cp /root/workspace/audio/output.wav /root/workspace/GPT-SoVITS/Data/your_speaker_name/

# 创建标注文件
cat > /root/workspace/GPT-SoVITS/Data/your_speaker_name/esd.list << 'EOF'
/root/workspace/GPT-SoVITS/Data/your_speaker_name/output.wav|your_speaker_name|我病了三年,四万块钱一瓶的正版药我吃了三年,房子吃没了,家人被我吃垮了,现在好不容易有了便宜药,你们非说他是假药,那药假不假,我们能不知道吗?那药才买五百块钱一瓶,药贩子根本没赚钱,谁家能不遇上个病人,你能保证你这一辈子不生病吗,啊?你们把他抓走了,我们都得等死,我不想死,我想活着
EOF

5.2 处理训练数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cd /root/workspace/GPT-SoVITS
conda activate GPTSoVits

# 生成文本特征
python prepare_datasets/1-get-text.py \
--inp_text Data/your_speaker_name/esd.list \
--inp_wav_dir Data/your_speaker_name \
--opt_dir Data/your_speaker_name/processed

# 生成hubert特征
python prepare_datasets/2-get-hubert.py \
--inp_text Data/your_speaker_name/processed/esd.list \
--inp_wav_dir Data/your_speaker_name \
--opt_dir Data/your_speaker_name/processed

# 生成语义特征
python prepare_datasets/3-get-semantic.py \
--inp_text Data/your_speaker_name/processed/esd.list \
--inp_wav_dir Data/your_speaker_name \
--opt_dir Data/your_speaker_name/processed

5.3 训练SoVITS模型

1
2
3
4
5
6
7
8
9
10
11
# 修改配置文件
cp configs/s2.json configs/s2_custom.json

# 编辑配置文件,设置训练参数
# 主要修改:
# - train_dataset_path: 训练数据路径
# - batch_size: 批量大小(根据显存调整)
# - total_epoch: 训练轮数(建议10-20)

# 开始训练
python s2_train.py --config configs/s2_custom.json

5.4 训练GPT模型

1
2
3
4
5
# 修改配置文件
cp configs/s1.json configs/s1_custom.json

# 开始训练
python s1_train.py --config configs/s1_custom.json

5.5 推理生成

1
2
3
4
5
6
7
8
# 使用训练好的模型生成语音
python inference.py \
--s2_model_path logs/s2/your_model.pth \
--s1_model_path logs/s1/your_model.ckpt \
--ref_audio /root/workspace/audio/output.wav \
--ref_text "我病了三年,四万块钱一瓶的正版药我吃了三年" \
--target_text "我失业了三年,四万块钱一个月的房贷我扛了三年" \
--output_path output.wav

第六部分:使用API调用

6.1 启动API服务

1
2
3
4
5
6
7
8
cd /root/workspace/GPT-SoVITS
conda activate GPTSoVits

# 启动API服务
python api_v2.py --listen 0.0.0.0 --port 9880

# 后台运行
nohup python api_v2.py --listen 0.0.0.0 --port 9880 > api.log 2>&1 &

6.2 API调用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import requests

url = "http://<实例IP>:9880/tts"

data = {
"text": "我失业了三年,四万块钱一个月的房贷我扛了三年,房子扛没了,家人被我啃垮了,现在好不容易有了openclaw,你们非说他没用,龙虾有没有用,我们能不知道吗?那软件是开源的,原作者根本没赚钱,谁家能保证自己不失业,你能保证你这一辈子不被AI取代吗,啊?你们把AI泡沫戳破了,我们都得等死,我不想死,我想活着",
"text_lang": "zh",
"ref_audio_path": "/root/workspace/audio/output.wav",
"prompt_text": "我病了三年,四万块钱一瓶的正版药我吃了三年,房子吃没了,家人被我吃垮了",
"prompt_lang": "zh",
"top_k": 5,
"top_p": 1.0,
"temperature": 1.0,
"text_split_method": "cut5",
"batch_size": 1,
"speed_factor": 1.0,
"split_bucket": True
}

response = requests.post(url, json=data)
with open("output.wav", "wb") as f:
f.write(response.content)

6.3 curl调用示例

1
2
3
4
5
6
7
8
9
10
curl -X POST "http://<实例IP>:9880/tts" \
-H "Content-Type: application/json" \
-d '{
"text": "我失业了三年,四万块钱一个月的房贷我扛了三年",
"text_lang": "zh",
"ref_audio_path": "/root/workspace/audio/output.wav",
"prompt_text": "我病了三年,四万块钱一瓶的正版药我吃了三年",
"prompt_lang": "zh"
}' \
--output output.wav

第七部分:下载生成的音频

7.1 使用AutoDL文件管理器

  1. 在AutoDL控制台打开”文件管理”
  2. 找到生成的音频文件
  3. 点击下载

7.2 使用SCP下载

1
2
# 在本地电脑执行
scp -P <端口> root@<地址>:/root/workspace/GPT-SoVITS/output.wav ./

7.3 使用rclone同步

1
2
3
4
5
# 在云主机上配置rclone
rclone config

# 同步到网盘
rclone copy /root/workspace/GPT-SoVITS/output.wav remote:backup/

第八部分:常见问题

Q1:显存不足怎么办?

1
2
3
4
5
6
7
8
# 减小batch_size
# 修改配置文件中的batch_size参数
# RTX 3090/4090: batch_size = 8-12
# RTX 3080: batch_size = 4-6
# RTX 2080: batch_size = 2-4

# 或使用fp16训练
export CUDA_LAUNCH_BLOCKING=1

Q2:训练速度慢?

  • 检查是否正确使用GPU:nvidia-smi
  • 确认CUDA版本与PyTorch版本匹配
  • 使用更快的GPU(如RTX 4090)

Q3:生成的语音效果不好?

  • 增加训练轮数(20-50轮)
  • 使用更高质量的训练音频
  • 确保训练音频与目标文本风格一致
  • 调整推理参数(top_k, top_p, temperature)

Q4:WebUI无法访问?

  • 检查端口映射是否正确配置
  • 确认防火墙设置
  • 使用 --listen 0.0.0.0 参数

Q5:模型下载失败?

  • 使用国内镜像(HF-Mirror, ModelScope)
  • 手动下载模型文件

第九部分:费用估算

AutoDL计费参考

GPU型号 参考价格(元/小时) 预计训练时间 预计费用
RTX 4090 约 3-4 元 30分钟-1小时 约 2-4 元
RTX 3090 约 2-3 元 1-2小时 约 3-6 元
A100 约 10-15 元 20-40分钟 约 5-10 元

建议:选择RTX 4090,性价比最高,总费用约5元以内


第十部分:完整操作流程总结

快速版(零样本推理,无需训练)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1. 连接实例
ssh -p <端口> root@<地址>

# 2. 克隆仓库
git clone https://gitee.com/RVC-Boss/GPT-SoVITS.git
cd GPT-SoVITS

# 3. 安装依赖
conda create -n GPTSoVits python=3.10 -y
conda activate GPTSoVits
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

# 4. 下载模型
bash install.sh --device CU118 --source HF-Mirror

# 5. 上传音频到 /root/workspace/audio/output.wav

# 6. 启动WebUI
python webui.py --listen 0.0.0.0

# 7. 浏览器访问,上传音频,输入新台词,生成语音

完整版(微调训练,效果更好)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1-4步同上

# 5. 启动WebUI
python webui.py --listen 0.0.0.0

# 6. 使用WebUI工具:
# - 0b: 音频切片
# - 0c: 语音识别
# - 0d: 文本校对
# - 1A: 训练集格式化
# - 1B: 微调训练

# 7. 训练完成后,使用新模型生成语音

# 8. 下载生成的音频

2025最新GPT-SoVITS教程

总结 该项目对python pytorch版本要求严格 cuda向下兼容 使用cu124/cu128无差

task1 情感分析+数据统计

分析以下文本的情感倾向,并统计其中的行数:’这个产品非常好用,我很喜欢它的设计,使用体验非常棒!\n价格也很合理,推荐大家购买。\n客服态度也很好,解答问题很及时。’

数据格式转换

将以下CSV数据转换为JSON格式:’name,age,comment\n张三,25,这个产品很好\n李四,30,服务态度差\n王五,28,性价比高’

针对AI应用开发岗位,对Python的掌握程度要求是分层的,面试考察点也十分聚焦。以下为你梳理了从技能要求、面试考察点到学习资源的完整指南。

🐍 Python 掌握程度:从基础到工程化

在AI应用开发领域,“会Python”和“能用Python做AI”是两个概念。你需要具备结合AI场景的工程化与算法落地能力,而非仅仅是语法专家。

1. 基础层:熟练到“零卡顿”

基础语法是你的“菜刀”,你不需要纠结菜刀怎么握,而要专注于“菜品”本身。要求是熟练、无阻碍。

  • 核心数据结构: 熟练使用 list, dict, set,特别是 NumPy 数组的切片、广播、维度变换(如 reshape),这是处理AI数据的基本功。
  • 函数与类: 能编写函数封装重复逻辑(如数据预处理),会用类定义模型模块(如自定义神经网络层)。
  • 流程控制与调试: 熟练使用 if-elsefor 循环处理数据流程,并能使用 print、调试器(如pdb或IDE断点)高效定位问题。
  • 文件与环境: 熟悉 os/pathlib 处理文件路径,能用 pip/conda 管理依赖和虚拟环境,避免版本冲突。

2. 工具层:精通“轮子”的使用

AI开发的核心是“站在库的肩膀上”,不需要重复造轮子,但必须懂“轮子怎么用”。

  • 数据处理 (Pandas & NumPy):
    • NumPy: 必须精通。AI中所有数据(图像、文本向量)都以NumPy数组存储。要熟悉数组创建、矩阵运算(np.dot)、广播机制。
    • Pandas: 能熟练加载数据(pd.read_csv)、处理缺失值(df.dropna)、特征统计(df.groupby)。
  • 可视化 (Matplotlib & Seaborn): 不需要炫酷图表,但要能通过 plt.plot 画损失曲线,用 sns.heatmap 画混淆矩阵,这是分析模型效果的“眼睛”。
  • 机器学习 (Scikit-learn): 掌握完整的机器学习流程:数据划分 → 特征标准化 → 模型训练 → 评估指标计算 → 调参。
  • 深度学习框架 (PyTorch / TensorFlow): 二选一深入精通,另一个了解基础即可。
    • PyTorch (推荐): 熟练定义 nn.Module 神经网络,使用 torch.utils.data 加载数据,能手写训练循环(前向传播、计算损失、反向传播、更新参数)。
    • TensorFlow/Keras: 熟悉使用 tf.keras 搭建模型,用 model.fit 训练,并了解 tf.data 处理大数据。
  • 其他关键库:
    • 大模型工具链: 熟悉 Hugging Face Transformers 调用预训练模型,或 LangChain 构建RAG(检索增强生成)应用。
    • Web框架: 了解 FlaskFastAPI,用于将模型封装成API服务。

3. 场景层:工程化落地能力

从“能跑通”到“能跑稳”,具备生产环境思维。

  • 异常处理: 使用 try-except 捕获数据路径错误、GPU内存不足等异常。
  • 命令行参数: 使用 argparse 方便地切换模型参数、数据路径等。
  • GPU加速: 理解如何将模型和数据放到GPU上(如PyTorch的 .cuda()),并处理GPU内存溢出问题(如减小batch size)。
  • 模型保存与加载: 熟练进行模型的持久化操作,避免训练中断后前功尽弃。
  • 代码规范: 遵循 PEP 8 风格指南,写出清晰、可维护的代码。

💡 面试常考技术细节

面试通常会从基础编码能力、核心库原理到系统设计层层递进。

1. Python 语言基础与数据结构

  • 数据结构对比: 列表(list)与NumPy数组(array)在内存布局、性能上的区别;何时使用向量化操作?
  • 拷贝机制: 浅拷贝(如数组切片)与深拷贝的区别,以及在数据预处理中不注意浅拷贝可能导致的数据泄露问题。
  • 高级特性: 装饰器(如使用 @lru_cache 优化递归)、生成器(处理大数据时节省内存)的使用场景和实现。

2. 核心库原理与应用

  • NumPy:
    • 如何高效地进行矩阵运算?
    • 解释广播(broadcasting)机制,并指出其可能带来的内存膨胀陷阱。
  • Pandas:
    • 如何高效地处理缺失值和异常值?
    • groupbymerge 等操作的实际应用。
  • 机器学习 (Scikit-learn):
    • 监督学习与无监督学习的区别,并举例说明。
    • 如何检测和缓解模型过拟合(如使用交叉验证、正则化)?
    • 偏差-方差权衡(Bias-Variance Tradeoff)是什么?

3. 深度学习与框架

  • 模型构建: 手动实现一个简单的神经网络模块(如一个包含卷积层、激活函数、全连接层的CNN)。
  • 训练流程: 解释反向传播的计算图机制,如何在代码中实现梯度裁剪以防止梯度爆炸?
  • 大模型应用: 如何使用Hugging Face库加载一个预训练的BERT模型并进行文本分类微调?

4. 系统设计与工程化 (MLOps)

  • API服务: 如何使用 Flask/FastAPI 将你的模型封装成一个RESTful API接口?
  • 模型部署: 如何使用 Docker 容器化你的AI应用?
  • 实验跟踪: 是否了解 MLflowWeights & Biases 等工具来记录实验参数和指标?

📚 推荐学习资源

📖 书籍推荐

书籍名称 作者 推荐理由
《利用Python进行数据分析》 Wes McKinney Pandas之父亲著,数据处理领域的圣经,必读。
《Python深度学习》 François Chollet Keras之父执笔,深入浅出,理论与实践结合极佳,适合入门深度学习。
《流畅的Python》 Luciano Ramalho 帮助你从“会用”Python进阶到“精通”Python,深入理解语言特性。
《机器学习实战》 Peter Harrington 侧重于算法的Python实现,代码清晰,适合配合理论学习使用。

💻 在线资源与社区

  • 官方文档: 永远是最好的教程。深入阅读 PyTorchTensorFlowHugging FacePandas 的官方文档和教程。
  • Kaggle: 全球知名的数据科学竞赛平台。通过参加入门竞赛(如Titanic、House Prices),你可以实践完整的AI项目流程,并学习优秀开源代码。
  • GitHub: 关注热门的AI开源项目,阅读他人的代码是提升水平最快的方式之一。
  • 技术博客与社区: 如 CSDN、DEV Community 等,可以找到大量实战经验分享和面试指南。

codex cli:

1
2
3
npm install -g @openai/codex
codex login
codex "我是prompt 回答我"

通常codex登录openai账号 调用GPT系列模型使用,或者在.codex/config.toml中配置其他llm api的provider

介于现阶段网络社区分享了无数批量注册的openai access token 可以将其导入CLIProxyAPI启动本地代理 即可在codex中使用本地的api key调用llm

安装CLIProxyAPI
CLIProxyAPI Github

启动CLIProxyAPI.exe使用当前根目录下的配置启动代理http服务

访问 http://127.0.0.1:8317/management.html 在认证文件页上传好心人分享的token

1
{"id_token":"xxxxx","access_token":"xxxx","refresh_token":"xxx","account_id":"xxx","last_refresh":"2026-03-03T06:03:41Z","email":"ocac7feab9d5@dollicons.com","type":"codex","expired":"2026-03-13T06:03:41Z"}

在配置面板-API密钥列表 复制本地服务的api-key 写入~/.codex/auth.json

1
2
3
{
"OPENAI_API_KEY": "YOUR-CLIProxyAPI-API-KEY"
}

配置 ~/.codex/config.toml使用CLIProxyAPI代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 无需确认是否执行操作,危险指令,初次接触codex不建议开启,移除#号即可开启
# approval_policy = "never"

# 沙箱模式超高权限,危险指令,初次接触codex不建议开启,移除#号即可开启
# sandbox_mode = "danger-full-access"

model_provider = "cliproxyapi"
model = "gpt-5-codex" # 或者是gpt-5,你也可以使用任何我们支持的模型
model_reasoning_effort = "high"

[model_providers.cliproxyapi]
name = "cliproxyapi"
base_url = "http://127.0.0.1:8317/v1"
wire_api = "responses"