texts-to-transformer 是一个面向 Apple Silicon Mac 的本地化机器学习项目,用于从用户自己的 iMessage 历史记录中从零训练一个小型 decoder-only Transformer 语言模型。它提供了完整流水线:安全快照 Messages 数据库、文本提取、隐私脱敏、数据集划分、训练 byte-level BPE tokenizer、使用 MLX 训练小型 Transformer、评估记忆风险、导出模型,并在本地终端生成类似用户个人风格的回复建议。项目强调“非预训练”,目标不是构建通用 AI 助手,而是实验性地学习个人聊天语气、短句风格、emoji、标点和常见回复模式。
适用领域
本地机器学习 / 自然语言处理 / 小型语言模型训练 / Apple Silicon / MLX / iMessage 数据处理 / 隐私保护与本地优先应用 / 个人风格建模 / Transformer 教学与实验
配置难度
中高级。项目安装本身不复杂,但完整运行需要理解 macOS 权限、iMessage 数据库快照、Python/uv、MLX、tokenizer、Transformer 训练、评估指标和隐私风险。对有机器学习和命令行经验的开发者较友好;对普通非技术用户门槛较高。
商业价值
该项目的直接商业化价值有限,因为它主要是个人本地实验工具,且训练结果不是通用助手。但它在技术参考和产品原型层面有较高价值:可以作为本地优先 AI、隐私敏感数据处理、个人风格建模、Apple Silicon MLX 应用、端侧小模型训练的示范项目。对于做端侧 AI、个人知识/沟通助手、隐私保护型 AI 产品的团队,它提供了有参考意义的数据管线、审计设计和能力边界说明。
01
技术亮点
- 完整端到端流水线,从 iMessage 数据库快照到本地模型推理全部覆盖。
- 本地优先设计,不上传数据,不调用云端模型,不发送 iMessage,只在终端生成建议。
- 隐私保护做得较细,包括只读数据库备份、HMAC 伪匿名化、URL/邮箱/手机号样式字符串脱敏、日志不打印原文、Git 忽略私有产物。
- 针对 Apple Messages schema 变化设计了 inspect-schema 步骤,而不是硬编码固定数据库结构。
- 支持从零训练 tokenizer 和 Transformer,适合教学和理解语言模型训练细节。
- 使用 MLX,适合 Apple Silicon 用户体验本地训练。
- 包含训练、评估、导出、推理、审计、测试等工程化环节。
- README 对能力边界描述清晰,明确说明模型不是通用助手,可能记忆隐私文本。
- 提供了模型选择机制、memorization check、held-out test 评估和审计命令,有助于降低误用风险。
- MIT 许可证,便于学习、修改和二次开发。
02
目标用户
- 使用 Apple Silicon Mac 的机器学习开发者
- 对从零训练 Transformer 感兴趣的 NLP 学习者
- 希望研究个人聊天风格建模的开发者
- 关注本地优先和隐私保护 AI 的工程师
- 想学习 MLX 训练流程的 Apple 生态开发者
- 有大量 iMessage 历史记录并愿意在本地实验的高级用户
03
配置要求
- 硬件:Apple Silicon Mac,M1 或更新芯片。
- 系统:macOS 14 或更新版本。
- 内存:建议至少 16GB 统一内存。
- 磁盘:需要足够空间存储 Messages 数据库快照、tokenized corpus、checkpoint、导出模型和中间报告。
- 权限:运行 snapshot 的应用需要 Full Disk Access,以只读方式访问 ~/Library/Messages/chat.db。
- 依赖管理:使用 uv 管理 Python 环境和依赖。
- Python:项目使用 Python 3.11。
- 机器学习框架:使用 MLX 0.32.0,不依赖 PyTorch。
- 数据要求:真实训练至少需要一百万 token;数据量不足时项目会拒绝训练或标记为高记忆风险实验。
- 隐私配置:需要妥善保护 work/ 和 outputs/ 目录,建议使用 FileVault 加密磁盘,不应提交、上传或分享这些目录。
- 模型配置:默认提供 model-1m 和 model-7m 两个配置,分别约 1.38M 和 6.16M 参数。
04
适用场景
- 从自己的 iMessage 历史中训练一个小型个人回复风格模型
- 学习从数据准备、tokenizer 训练到 Transformer 训练和推理的完整流程
- 研究小数据集条件下语言模型的过拟合和记忆风险
- 验证 MLX 在 Apple Silicon 上训练小模型的可行性
- 构建仅在本地运行、不上传聊天数据的实验性 AI 回复建议工具
- 作为隐私敏感数据处理、伪匿名化、数据集切分和审计流程的参考实现
05
部署与配置
- 确认设备为 Apple Silicon Mac,macOS 14 或更高版本,建议至少 16GB 统一内存。
- 安装 Homebrew 和 uv;如果尚未安装 uv,可执行:brew install uv。
- 克隆仓库:git clone https://github.com/Doriandarko/texts-to-transformer.git。
- 进入项目目录:cd texts-to-transformer。
- 同步 Python 依赖:uv sync。
- 运行环境检查:uv run imessage-mlx doctor。
- 如果 doctor 提示无法安全访问 Messages 数据库,需要在 macOS 系统设置中为 Terminal、Codex 或实际运行命令的应用授予 Full Disk Access。
- 创建 iMessage 数据库安全快照:uv run imessage-mlx snapshot --config configs/data.yaml。
- 检查本地 Messages schema:uv run imessage-mlx inspect-schema --database work/snapshot/chat.db --output work/schema/schema.json。
- 构建私有数据集并运行隐私审计:uv run imessage-mlx prepare --config configs/data.yaml && uv run imessage-mlx privacy-audit。
- 训练 tokenizer:uv run imessage-mlx train-tokenizer --train work/splits/train.jsonl --output outputs/tokenizer --vocab-size 4096。
- 编码语料并选择模型大小:uv run imessage-mlx corpus-stats --splits work/splits --tokenizer outputs/tokenizer --output work/tokens。
- 训练模型:uv run imessage-mlx train --config configs/model-1m.yaml --data work/tokens --tokenizer outputs/tokenizer --output outputs/runs/my-model。
- 评估测试集:uv run imessage-mlx evaluate --checkpoint outputs/runs/my-model/best --data work/tokens --output outputs/evaluation.json。
- 导出最终模型:uv run imessage-mlx export --checkpoint outputs/runs/my-model/best --metrics outputs/evaluation.json --output outputs/final。
- 启动本地回复生成器:uv run imessage-mlx chat --model outputs/final。
06
风险与注意事项
- 隐私风险较高:训练数据来自个人 iMessage,模型和中间产物可能记忆敏感聊天内容。
- 伪匿名化不是匿名化,work/ 和 outputs/ 泄露后仍可能造成隐私暴露。
- 模型能力有限:从零训练的小模型无法可靠进行推理、事实问答或复杂任务。
- 数据量不足时容易严重过拟合,只是记住常见句子而不是泛化个人风格。
- 仅支持 Apple Silicon 和 MLX,对 Windows、Linux、Intel Mac 用户不友好。
- 需要 Full Disk Access,普通用户可能对 macOS 权限配置不熟悉。
- 依赖 iMessage 数据库结构和 macOS 行为,未来系统升级可能导致兼容性问题。
- 生成内容可能包含不合适、过时或私密的短语,不应直接自动发送。
- 训练效果高度依赖用户历史消息数量、质量和多样性。
- 在企业或合规环境中处理聊天数据可能涉及法律、隐私和数据治理问题。
2026-07-15
第21名
新收录 · github_search
2026-07-14
第19名
新收录 · github_search
2026-07-13
第21名
新收录 · github_search
2026-07-12
第22名
新收录 · github_search