OpenAIglasses_for_Navigation
OpenAIglasses_for_Navigation 是一个基于 ESP32 硬件构建的开源智能导航框架,旨在为视障人士提供全方位的出行辅助。它通过集成计算机视觉与多模态大模型技术,有效解决了盲人在独立行走时面临的盲道偏离、过马路安全判断以及日常物品查找困难等核心痛点。
该系统具备强大的实时感知能力:不仅能精准识别盲道并规划避障路线,还能在过马路时自动检测斑马线与红绿灯状态并提供语音引导;在物品寻找场景下,支持用户通过语音指令(如“帮我找红牛”)触发视觉搜索,并结合手部动作检测引导用户完成抓取。此外,系统融合了阿里云通义千问(Qwen-Omni)大模型,实现了自然的图文语音交互体验。
技术亮点方面,项目创新性地采用了"ESP32 端侧采集 + 服务器端高性能推理”的架构,利用 YOLO 系列模型进行实时目标分割与追踪,结合 Lucas-Kanade 光流算法稳定画面,并通过 WebSocket 实现低延迟的视频流推送与 Web 端可视化监控。
鉴于目前项目主要处于技术交流阶段且对硬件部署有一定要求,它非常适合人工智能开发者、嵌入式工程师及助残技术研究人员使用。开发者可以借此深入探索边缘计算与大模型在无障碍领域的落地应用,共同推动辅助技术的进步。请注意,当前版本仅供学习研究,尚未达到直接供视障人群独立使用的安全标准。
使用场景
视障人士李先生独自前往陌生的超市购买特定品牌的饮料,并在结束后安全返回。
没有 OpenAIglasses_for_Navigation 时
- 寻物如大海捞针:在货架前只能依靠触摸或大声询问店员,难以精准定位“红牛”等特定商品,效率极低且容易尴尬。
- 过马路心惊胆战:面对复杂的十字路口,无法独立判断红绿灯状态和斑马线位置,必须等待路人协助,存在严重安全隐患。
- 盲道行走易偏离:缺乏实时方向指引,容易因盲道中断或被占用而迷失方向,甚至碰撞到突发障碍物。
- 交互依赖他人:遇到突发状况或需要确认环境信息时,完全依赖身边是否有好心人,缺乏自主获取信息的能力。
使用 OpenAIglasses_for_Navigation 后
- 语音指令精准找物:李先生只需说“帮我找一下红牛”,系统通过 YOLO-E 开放词汇检测实时追踪目标,并引导手部精准抓取,实现独立购物。
- 智能辅助安全过街:系统自动识别斑马线与红绿灯状态,在绿灯亮起时语音提示“可以通行”,并引导对齐路线,让过马路变得从容安全。
- 实时盲道导航避障:基于分割模型实时检测盲道走向,提前预警急转弯和前方障碍物,提供“左转、直行”等精准语音指引,确保路径顺畅。
- 多模态自主交互:通过 Qwen-Omni 大模型,李先生可随时询问周围环境细节(如“前面是什么店”),获得像与人对话般的自然反馈,重获出行自信。
OpenAIglasses_for_Navigation 将视觉感知转化为听觉指引,不仅解决了视障人士出行的安全痛点,更赋予了他们独立探索世界的尊严与自由。
运行环境要求
- Windows 10/11
- Linux (Ubuntu 20.04+)
- macOS 10.15+
必需,NVIDIA GPU (支持 CUDA 11.8+),推荐 RTX 3060 或以上
最低 8GB,推荐 16GB

快速开始
AI 智能盲人眼镜系统 🤖👓
一个面向视障人士的智能导航与辅助系统,集成了盲道导航、过马路辅助、物品识别、实时语音交互等功能。 本项目仅为交流学习使用,请勿直接给视障人群使用。本项目内仅包含代码,模型地址:https://www.modelscope.cn/models/archifancy/AIGlasses_for_navigation 。下载后存放在/model 文件夹
📋 目录
✨ 功能特性
🚶 盲道导航系统
- 实时盲道检测:基于 YOLO 分割模型实时识别盲道
- 智能语音引导:提供精准的方向指引(左转、右转、直行等)
- 障碍物检测与避障:自动识别前方障碍物并规划避障路线
- 转弯检测:自动识别急转弯并提前提醒
- 光流稳定:使用 Lucas-Kanade 光流算法稳定掩码,减少抖动
🚦 过马路辅助
- 斑马线识别:实时检测斑马线位置和方向
- 红绿灯识别:基于颜色和形状的红绿灯状态检测
- 对齐引导:引导用户对准斑马线中心
- 安全提醒:绿灯时语音提示可以通行
🔍 物品识别与查找
- 智能物品搜索:语音指令查找物品(如"帮我找一下红牛")
- 实时目标追踪:使用 YOLO-E 开放词汇检测 + ByteTrack 追踪
- 手部引导:结合 MediaPipe 手部检测,引导用户手部靠近物品
- 抓取检测:检测手部握持动作,确认物品已拿到
- 多模态反馈:视觉标注 + 语音引导 + 居中提示
🎙️ 实时语音交互
- 语音识别(ASR):基于阿里云 DashScope Paraformer 实时语音识别
- 多模态对话:Qwen-Omni-Turbo 支持图像+文本输入,语音输出
- 智能指令解析:自动识别导航、查找、对话等不同类型指令
- 上下文感知:在不同模式下智能过滤无关指令
📹 视频与音频处理
- 实时视频流:WebSocket 推流,支持多客户端同时观看
- 音视频同步录制:自动保存带时间戳的录像和音频文件
- IMU 数据融合:接收 ESP32 的 IMU 数据,支持姿态估计
- 多路音频混音:支持系统语音、AI 回复、环境音同时播放
🎨 可视化与交互
- Web 实时监控:浏览器端实时查看处理后的视频流
- IMU 3D 可视化:Three.js 实时渲染设备姿态
- 状态面板:显示导航状态、检测信息、FPS 等
- 中文友好:所有界面和语音使用中文,支持自定义字体
💻 系统要求
硬件要求
开发/服务器端:
- CPU: Intel i5 或以上(推荐 i7/i9)
- GPU: NVIDIA GPU(支持 CUDA 11.8+,推荐 RTX 3060 或以上)
- 内存: 8GB RAM(推荐 16GB)
- 存储: 10GB 可用空间
客户端设备(可选):
- ESP32-CAM 或其他支持 WebSocket 的摄像头
- 麦克风(用于语音输入)
- 扬声器/耳机(用于语音输出)
软件要求
- 操作系统: Windows 10/11, Linux (Ubuntu 20.04+), macOS 10.15+
- Python: 3.9 - 3.11
- CUDA: 11.8 或更高版本(GPU 加速必需)
- 浏览器: Chrome 90+, Firefox 88+, Edge 90+(用于 Web 监控)
API 密钥
- 阿里云 DashScope API Key(必需):
- 用于语音识别(ASR)和 Qwen-Omni 对话
- 申请地址:https://dashscope.console.aliyun.com/
🚀 快速开始
1. 克隆项目
git clone https://github.com/yourusername/aiglass.git
cd aiglass/rebuild1002
2. 安装依赖
创建虚拟环境(推荐)
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activate
安装 Python 包
pip install -r requirements.txt
安装 CUDA 和 cuDNN(GPU 加速)
3. 下载模型文件
将以下模型文件放入 model/ 目录:
| 模型文件 | 用途 | 大小 | 下载链接 |
|---|---|---|---|
yolo-seg.pt |
盲道分割 | ~50MB | [待补充] |
yoloe-11l-seg.pt |
开放词汇检测 | ~80MB | [待补充] |
shoppingbest5.pt |
物品识别 | ~30MB | [待补充] |
trafficlight.pt |
红绿灯检测 | ~20MB | [待补充] |
hand_landmarker.task |
手部检测 | ~15MB | MediaPipe Models |
4. 配置 API 密钥
创建 .env 文件:
# .env
DASHSCOPE_API_KEY=your_api_key_here
或在代码中直接修改(不推荐):
# app_main.py, line 50
API_KEY = "your_api_key_here"
5. 启动系统
python app_main.py
系统将在 http://0.0.0.0:8081 启动,打开浏览器访问即可看到实时监控界面。
6. 连接设备(可选)
如果使用 ESP32-CAM,请:
- 烧录
compile/compile.ino到 ESP32 - 修改 WiFi 配置,连接到同一网络
- ESP32 自动连接到 WebSocket 端点
🏗️ 系统架构
整体架构
┌─────────────────────────────────────────────────────────────┐
│ 客户端层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ESP32-CAM │ │ 浏览器 │ │ 移动端 │ │
│ │ (视频/音频) │ │ (监控界面) │ │ (语音控制) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
└─────────┼──────────────────┼──────────────────┼─────────────┘
│ WebSocket │ HTTP/WS │ WebSocket
┌─────────┼──────────────────┼──────────────────┼─────────────┐
│ │ │ │ │
│ ┌────▼──────────────────▼──────────────────▼────────┐ │
│ │ FastAPI 主服务 (app_main.py) │ │
│ │ - WebSocket 路由管理 │ │
│ │ - 音视频流分发 │ │
│ │ - 状态管理与协调 │ │
│ └────┬────────────────┬────────────────┬─────────────┘ │
│ │ │ │ │
│ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐ │
│ │ ASR 模块 │ │ Omni 对话 │ │ 音频播放 │ │
│ │ (asr_core) │ │(omni_client)│ │(audio_player)│ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ 应用层 │
└───────────────────────────────────────────────────────────────┘
│ │ │
┌─────────▼──────────────────▼──────────────────▼──────────────┐
│ 导航统领层 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ NavigationMaster (navigation_master.py) │ │
│ │ - 状态机:IDLE/CHAT/BLINDPATH_NAV/ │ │
│ │ CROSSING/TRAFFIC_LIGHT/ITEM_SEARCH │ │
│ │ - 模式切换与协调 │ │
│ └───┬─────────────────────┬───────────────────┬───┘ │
│ │ │ │ │
│ ┌────▼────────┐ ┌────────▼────────┐ ┌─────▼──────┐ │
│ │ 盲道导航 │ │ 过马路导航 │ │ 物品查找 │ │
│ │(blindpath) │ │ (crossstreet) │ │(yolomedia) │ │
│ └──────────────┘ └──────────────────┘ └─────────────┘ │
└───────────────────────────────────────────────────────────────┘
│ │ │
┌─────────▼──────────────────▼──────────────────▼──────────────┐
│ 模型推理层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ YOLO 分割 │ │ YOLO-E 检测 │ │ MediaPipe │ │
│ │ (盲道/斑马线) │ │ (开放词汇) │ │ (手部检测) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 红绿灯检测 │ │ 光流稳定 │ │
│ │(HSV+YOLO) │ │(Lucas-Kanade)│ │
│ └──────────────┘ └──────────────┘ │
└───────────────────────────────────────────────────────────────┘
│
┌─────────▼─────────────────────────────────────────────────────┐
│ 外部服务层 │
│ ┌──────────────────────────────────────────────┐ │
│ │ 阿里云 DashScope API │ │
│ │ - Paraformer ASR (实时语音识别) │ │
│ │ - Qwen-Omni-Turbo (多模态对话) │ │
│ │ - Qwen-Turbo (标签提取) │ │
│ └──────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────┘
核心模块说明
| 模块 | 文件 | 功能 |
|---|---|---|
| 主应用 | app_main.py |
FastAPI 服务、WebSocket 管理、状态协调 |
| 导航统领 | navigation_master.py |
状态机管理、模式切换、语音节流 |
| 盲道导航 | workflow_blindpath.py |
盲道检测、避障、转弯引导 |
| 过马路导航 | workflow_crossstreet.py |
斑马线检测、红绿灯识别、对齐引导 |
| 物品查找 | yolomedia.py |
物品检测、手部引导、抓取确认 |
| 语音识别 | asr_core.py |
实时 ASR、VAD、指令解析 |
| 语音合成 | omni_client.py |
Qwen-Omni 流式语音生成 |
| 音频播放 | audio_player.py |
多路混音、TTS 播放、音量控制 |
| 视频录制 | sync_recorder.py |
音视频同步录制 |
| 桥接 IO | bridge_io.py |
线程安全的帧缓冲与分发 |
📖 使用说明
语音指令
系统支持以下语音指令(说话时无需唤醒词):
导航控制
"开始导航" / "盲道导航" → 启动盲道导航
"停止导航" / "结束导航" → 停止盲道导航
"开始过马路" / "帮我过马路" → 启动过马路模式
"过马路结束" / "结束过马路" → 停止过马路模式
红绿灯检测
"检测红绿灯" / "看红绿灯" → 启动红绿灯检测
"停止检测" / "停止红绿灯" → 停止检测
物品查找
"帮我找一下 [物品名]" → 启动物品搜索
示例:
- "帮我找一下红牛"
- "找一下AD钙奶"
- "帮我找矿泉水"
"找到了" / "拿到了" → 确认找到物品
智能对话
"帮我看看这是什么" → 拍照识别
"这个东西能吃吗" → 物品咨询
任何其他问题 → AI 对话
导航状态说明
系统包含以下主要状态(自动切换):
IDLE - 空闲状态
- 等待用户指令
- 显示原始视频流
CHAT - 对话模式
- 与 AI 进行多模态对话
- 暂停导航功能
BLINDPATH_NAV - 盲道导航
- ONBOARDING: 上盲道引导
- ROTATION: 旋转对准盲道
- TRANSLATION: 平移至盲道中心
- NAVIGATING: 沿盲道行走
- 实时方向修正
- 障碍物检测
- MANEUVERING_TURN: 转弯处理
- AVOIDING_OBSTACLE: 避障
- ONBOARDING: 上盲道引导
CROSSING - 过马路模式
- SEEKING_CROSSWALK: 寻找斑马线
- WAIT_TRAFFIC_LIGHT: 等待绿灯
- CROSSING: 过马路中
- SEEKING_NEXT_BLINDPATH: 寻找对面盲道
ITEM_SEARCH - 物品查找
- 实时检测目标物品
- 引导手部靠近
- 确认抓取
TRAFFIC_LIGHT_DETECTION - 红绿灯检测
- 实时检测红绿灯状态
- 语音播报颜色变化
Web 监控界面
打开浏览器访问 http://localhost:8081,可以看到:
- 实时视频流:显示处理后的视频,包括导航标注
- 状态面板:当前模式、检测信息、FPS
- IMU 可视化:设备姿态 3D 实时渲染
- 语音识别结果:显示识别的文字和 AI 回复
WebSocket 端点
| 端点 | 用途 | 数据格式 |
|---|---|---|
/ws/camera |
ESP32 相机推流 | Binary (JPEG) |
/ws/viewer |
浏览器订阅视频 | Binary (JPEG) |
/ws_audio |
ESP32 音频上传 | Binary (PCM16) |
/ws_ui |
UI 状态推送 | JSON |
/ws |
IMU 数据接收 | JSON |
/stream.wav |
音频下载流 | Binary (WAV) |
⚙️ 配置说明
环境变量
创建 .env 文件配置以下参数:
# 阿里云 API
DASHSCOPE_API_KEY=sk-xxxxx
# 模型路径(可选,使用默认路径可不配置)
BLIND_PATH_MODEL=model/yolo-seg.pt
OBSTACLE_MODEL=model/yoloe-11l-seg.pt
YOLOE_MODEL_PATH=model/yoloe-11l-seg.pt
# 导航参数
AIGLASS_MASK_MIN_AREA=1500 # 最小掩码面积
AIGLASS_MASK_MORPH=3 # 形态学核大小
AIGLASS_MASK_MISS_TTL=6 # 掩码丢失容忍帧数
AIGLASS_PANEL_SCALE=0.65 # 数据面板缩放
# 音频配置
TTS_INTERVAL_SEC=1.0 # 语音播报间隔
ENABLE_TTS=true # 启用语音播报
修改模型路径
如果模型文件不在默认位置,可以在相应文件中修改:
# workflow_blindpath.py
seg_model_path = "your/custom/path/yolo-seg.pt"
# yolomedia.py
YOLO_MODEL_PATH = "your/custom/path/shoppingbest5.pt"
HAND_TASK_PATH = "your/custom/path/hand_landmarker.task"
调整性能参数
根据硬件性能调整:
# yolomedia.py
HAND_DOWNSCALE = 0.8 # 手部检测降采样(越小越快,精度降低)
HAND_FPS_DIV = 1 # 手部检测抽帧(2=隔帧,3=每3帧)
# workflow_blindpath.py
FEATURE_PARAMS = dict(
maxCorners=600, # 光流特征点数(越少越快)
qualityLevel=0.001, # 特征点质量
minDistance=5 # 特征点最小间距
)
🛠️ 开发文档
添加新的语音指令
- 在
app_main.py的start_ai_with_text_custom()函数中添加:
# 检查新指令
if "新指令关键词" in user_text:
# 执行自定义逻辑
print("[CUSTOM] 新指令被触发")
await ui_broadcast_final("[系统] 新功能已启动")
return
- 如需修改指令过滤规则:
# 修改 allowed_keywords 列表
allowed_keywords = ["帮我看", "帮我找", "你的新关键词"]
扩展导航功能
- 在
workflow_blindpath.py添加新状态:
# 在 BlindPathNavigator.__init__() 中初始化
self.your_new_state_var = False
# 在 process_frame() 中处理
def process_frame(self, image):
if self.your_new_state_var:
# 自定义处理逻辑
guidance_text = "新状态引导"
# ...
- 在
navigation_master.py添加状态机状态:
class NavigationMaster:
def start_your_new_mode(self):
self.state = "YOUR_NEW_MODE"
# 初始化逻辑
集成新模型
- 创建模型包装类:
# your_model_wrapper.py
class YourModelWrapper:
def __init__(self, model_path):
self.model = load_your_model(model_path)
def detect(self, image):
# 推理逻辑
return results
- 在
app_main.py中加载:
your_model = YourModelWrapper("model/your_model.pt")
- 在相应的工作流中调用:
results = your_model.detect(image)
调试技巧
- 启用详细日志:
# app_main.py 顶部
import logging
logging.basicConfig(level=logging.DEBUG)
- 查看帧率瓶颈:
# yolomedia.py
PERF_DEBUG = True # 打印处理时间
- 测试单个模块:
# 测试盲道导航
python test_cross_street_blindpath.py
# 测试红绿灯检测
python test_traffic_light.py
# 测试录制功能
python test_recorder.py
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备