TinyAI 是一个纯 Java 实现的全栈式 AI 框架,覆盖从底层数值计算到前沿 AI 应用的完整技术栈。项目采用高度模块化的分层架构,包含 26 个核心模块,提供了深度学习、大语言模型、智能体系统、具身智能和多模态理解五大技术领域的完整实现。
- 🎓 教育友好: 清晰的代码结构、完整的中文注释、详尽的技术文档,适合学习和教学
- 🏗️ 生产就绪: 企业级架构设计、并行训练支持、模型序列化、完整的测试覆盖
- 🔧 纯 Java 实现: 零第三方依赖的核心引擎,充分利用 Java 生态优势
- 📦 模块化设计: 26个独立模块,可单独使用也可灵活组合
- 🚀 全栈覆盖: 从底层数值计算到前沿大模型应用的完整解决方案
简洁性 (Simplicity) - 最小化API表面积,用最少的代码表达最复杂的AI概念
Variable x = Variable.of(ndarray); Variable y = x.relu().linear(128).softmax(); Loss loss = CrossEntropyLoss.of(y, target); loss.backward();
透明性 (Transparency) - 每个操作的实现都是透明的,可以深入到任何层级查看具体逻辑
public class LinearLayer extends Layer { @Override public Variable layerForward(Variable input) { Variable result = input.matmul(this.weight); if (bias != null) result = result.add(bias); return result; } }
模块化 (Modularity) - 每个模块职责清晰,可独立使用也可组合构建复杂系统
NdArray array = new NdArray(data); // 数值计算 Variable var = new Variable(array, true); // 自动微分 Model model = new GPT2Model("gpt2"); // 大语言模型 EmbodiedAgent agent = new EmbodiedAgent(); // 具身智能体
深度学习核心
- ✅ 多维数组库 (NdArray)
- ✅ 自动微分引擎 (AutoGrad)
- ✅ 神经网络层 (50+ Layers)
- ✅ 机器学习框架 (Trainer/Optimizer)
- ✅ 强化学习 (DQN/REINFORCE/PPO)
- ✅ 自然语言处理 (RNN/LSTM/GRU)
- ✅ 计算机视觉 (CNN/ResNet)
大语言模型
- ✅ GPT系列 (GPT-1/2/3)
- ✅ DeepSeek (R1推理/V3代码生成)
- ✅ MiniMind (轻量级LLM)
- ✅ Qwen3 (现代Transformer)
- ✅ Banana (多模态图像生成)
- ✅ LoRA微调
- ✅ MoE架构
智能体系统
- ✅ 基础智能体框架
- ✅ RAG检索增强生成
- ✅ 多智能体协作
- ✅ 自进化智能体
- ✅ 认知模式库 (ReAct/Reflection)
- ✅ AI编程助手 (Cursor风格)
- ✅ 深度研究智能体
- ✅ 手稿智能体 (OpenManus)
具身智能
- ✅ 自动驾驶模拟 (6种场景)
- ✅ 扫地机器人 (路径规划)
- ✅ VLA架构 (视觉-语言-动作)
- ✅ 世界模型 (VAE+MDN-RNN)
- ✅ 5种传感器模拟
- ✅ 端到端学习
- ✅ 想象训练
| 特性 | 说明 | 优势 |
|---|---|---|
| 纯Java实现 | 零外部依赖核心引擎 | 易部署、易调试、易集成 |
| 完整技术栈 | 6层架构、26个模块 | 从底层到应用的全覆盖 |
| 教育友好 | 30万字文档、800+测试 | 适合学习和教学 |
| 生产就绪 | 并行训练、模型序列化 | 支持实际应用部署 |
| 前沿技术 | R1推理、VLA、世界模型 | 紧跟学术前沿 |
| 模块化 | 高度解耦、灵活组合 | 按需使用、易于扩展 |
TinyAI 采用清晰的六层架构设计,自下而上构建完整的 AI 技术栈:
graph TB
subgraph "🎯 应用层"
App1[智能客服]
App2[代码生成]
App3[自动驾驶]
App4[图像生成]
end
subgraph "🤖 智能体层 (7个模块)"
Agent1[context - 基础框架]
Agent2[rag - 检索增强]
Agent3[multi - 多智能体]
Agent4[evol - 自进化]
Agent5[pattern - 认知模式]
Agent6[research - 深度研究]
Agent7[manus - 手稿智能体]
end
subgraph "🧠 模型层 (6个模块)"
Model1[gpt - GPT系列]
Model2[deepseek - R1/V3]
Model3[qwen - Qwen3]
Model4[minimind - 轻量级LLM]
Model5[banana - 多模态]
Model6[lora - 参数高效微调]
end
subgraph "🏋️ 具身智能层 (4个模块)"
Embodied1[base - 自动驾驶]
Embodied2[robot - 扫地机器人]
Embodied3[vla - VLA架构]
Embodied4[wm - 世界模型]
end
subgraph "🚀 框架层 (4个模块)"
Framework1[ml - 机器学习核心]
Framework2[nnet - 神经网络层]
Framework3[rl - 强化学习]
Framework4[nl - 自然语言处理]
end
subgraph "⚡ 引擎层 (1个模块)"
Engine1[func - 自动微分引擎]
end
subgraph "🧮 基础层 (1个模块)"
Base1[ndarr - 多维数组库]
end
App1 --> Agent1
App2 --> Model1
App3 --> Embodied1
App4 --> Model5
Agent1 --> Framework1
Model1 --> Framework1
Embodied1 --> Framework3
Framework1 --> Engine1
Framework3 --> Engine1
Engine1 --> Base1
| 层次 | 模块数 | 核心模块 | 主要功能 |
|---|---|---|---|
| 🎯 应用层 | 1 | tinyai-deeplearning-case | 完整应用示例、教学演示 |
| 🤖 智能体层 | 7 | context、rag、multi、evol、pattern、research、manus | 智能体框架、RAG、协作、自进化 |
| 🧠 模型层 | 6 | gpt、deepseek、qwen、minimind、banana、lora | 大语言模型、多模态模型 |
| 🏋️ 具身智能层 | 4 | base、robot、vla、wm | 自动驾驶、机器人、VLA、世界模型 |
| 🚀 框架层 | 4 | ml、nnet、rl、nl | 训练引擎、网络层、强化学习 |
| ⚡ 引擎层 | 1 | func | 自动微分、计算图 |
| 🧮 基础层 | 1 | ndarr | 多维数组、数值计算 |
| 总计 | 26个核心模块 | ||
| 项目 | 版本/配置 | 说明 |
|---|---|---|
| Java | JDK 17+ | 核心语言版本 |
| Maven | 3.6+ | 构建工具 |
| 内存 | 8GB+ 推荐 | 大型模型训练建议 |
| 空间 | 2GB+ | 源码+编译+模型文件 |
# 1 克隆仓库 git clone https://github.com/leavesfly/TinyAI.git cd TinyAI # 2 配置Java环境 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home # 3 一键构建 mvn clean install -DskipTests # 快速安装 # 4 运行测试(可选) mvn test # 运行800+单元测试
import io.leavesfly.tinyai.agent.AdvancedAgent; // 创建智能体 AdvancedAgent agent = new AdvancedAgent("我的AI助手", "你是一个专业AI助手"); // 添加知识库 agent.addKnowledge("TinyAI是一个纯Java实现的AI框架", "tinyai_intro"); // 对话交互 String answer = agent.processMessage("什么是TinyAI?"); System.out.println(answer);
import io.leavesfly.tinyai.ml.*; import io.leavesfly.tinyai.nnet.v1.block.MlpBlock; // 构建模型 MlpBlock mlp = new MlpBlock("mnist", 784, new int[]{256, 128, 10}); Model model = new Model("classifier", mlp); // 准备数据 DataSet dataset = new ArrayDataset(trainX, trainY); // 配置训练 Trainer trainer = new Trainer( 100, // epochs new Monitor(), // 训练监控 new AccuracyEval(), // 评估器 true, // 启用并行 4 // 4线程 ); // 开始训练 trainer.init(dataset, model, new SoftmaxCrossEntropyLoss(), new Adam(0.001)); trainer.train(true); // 保存模型 model.save("model.bin");
import io.leavesfly.tinyai.gpt2.GPT2Model; import io.leavesfly.tinyai.deepseek.rx.DeepSeekR1Model; // GPT-2 文本生成 GPT2Model gpt2=GPT2Model.createSmallModel("gpt2-small"); List<Integer> tokens=Arrays.asList(100,200,300); List<Integer> generated=gpt2.generateText(tokens,50); // DeepSeek R1 推理 DeepSeekR1Model r1=new DeepSeekR1Model("deepseek-r1"); DeepSeekR1Model.ReasoningResult result=r1.performReasoning(inputIds); System.out.println("推理步骤: "+result.numSteps); System.out.println("置信度: "+result.averageConfidence);
import io.leavesfly.tinyai.embodied.*; // 自动驾驶智能体 EnvironmentConfig config = EnvironmentConfig.createHighwayConfig(); EmbodiedAgent agent = new EmbodiedAgent(config); // 运行一个回合 Episode episode = agent.runEpisode(200); System.out.println("总奖励: " + episode.getTotalReward()); System.out.println("步数: " + episode.getLength()); System.out.println("平均奖励: " + episode.getAverageReward());
import io.leavesfly.tinyai.banana.*; // 创建 Banana 模型 BananaModel banana = BananaModel.create("banana-tiny", "tiny"); // 文本生成图像 Variable textInput = new Variable(textTokens); // 文本描述 Variable generatedImage = banana.generateImage(textInput); System.out.println("生成图像尺寸: " + generatedImage.getValue().getShape()); // 输出: [batch, 3, 256, 256]
# 基础智能体框架 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.agent.AgentDemo" \ -pl tinyai-agent/tinyai-agent-context # 自进化智能体 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.agent.evol.EvolDemo" \ -pl tinyai-agent/tinyai-agent-evol # 多智能体系统 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.agent.multi.MultiAgentDemo" \ -pl tinyai-agent/tinyai-agent-multi # 手稿智能体 (OpenManus) mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.agent.manus.ManusDemo" \ -pl tinyai-agent/tinyai-agent-manus
# GPT-2 模型演示 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.gpt2.GPT2Demo" \ -pl tinyai-model/tinyai-model-gpt # DeepSeek R1 推理模型 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.deepseek.rx.DeepSeekR1Demo" \ -pl tinyai-model/tinyai-model-deepseek # MiniMind 轻量级LLM mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.minimind.MiniMindDemo" \ -pl tinyai-model/tinyai-model-minimind # Banana 多模态图像生成 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.banana.BananaDemo" \ -pl tinyai-model/tinyai-model-banana
# 自动驾驶智能体 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.embodied.AgentDemo" \ -pl tinyai-embodied/tinyai-embodied-base # 扫地机器人 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.robot.SimpleDemo" \ -pl tinyai-embodied/tinyai-embodied-robot # VLA 智能体 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.vla.VLADemo" \ -pl tinyai-embodied/tinyai-embodied-vla # 世界模型 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.wm.WorldModelDemo" \ -pl tinyai-embodied/tinyai-embodied-wm
# MNIST 手写数字识别 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.example.classify.MnistMlpExam" \ -pl tinyai-deeplearning/tinyai-deeplearning-case # CartPole 强化学习 mvn exec:java -Dexec.mainClass="io.leavesfly.tinyai.example.rl.CartPoleDQNExample" \ -pl tinyai-deeplearning/tinyai-deeplearning-case
| 模块 | 说明 | 文档链接 |
|---|---|---|
| tinyai-deeplearning-ndarr | 多维数组库 | N维数组操作、广播机制、内存优化 |
| tinyai-deeplearning-func | 自动微分引擎 | 动态计算图、反向传播、数学函数库 |
| tinyai-deeplearning-nnet | 神经网络层 | 全连接、卷积、循环、Transformer |
| tinyai-deeplearning-ml | 机器学习核心 | 模型管理、并行训练、优化器 |
| tinyai-deeplearning-rl | 强化学习 | DQN、REINFORCE、经验回放 |
| tinyai-deeplearning-nl | 自然语言处理 | RNN、LSTM、GRU、序列建模 |
| tinyai-deeplearning-case | 应用示例 | 完整的教学演示案例 |
| 模块 | 说明 | 文档链接 |
|---|---|---|
| tinyai-model-gpt | GPT系列模型 | GPT-1/2/3、文本生成 |
| tinyai-model-deepseek | DeepSeek模型 | R1推理、V3代码生成 |
| tinyai-model-qwen | Qwen3模型 | GQA、RoPE、SwiGLU |
| tinyai-model-minimind | 轻量级LLM | 教学友好、完整训练流程 |
| tinyai-model-banana | 多模态模型 | 文本生成图像、VisionTransformer |
| tinyai-model-lora | LoRA微调 | 参数高效微调、权重管理 |
| 模块 | 说明 | 文档链接 |
|---|---|---|
| tinyai-agent-context | 基础智能体框架 | 记忆管理、工具调用、MCP协议 |
| tinyai-agent-rag | RAG检索增强 | 语义检索、向量数据库 |
| tinyai-agent-multi | 多智能体协作 | 消息通信、任务分配 |
| tinyai-agent-evol | 自进化智能体 | 经验学习、策略优化 |
| tinyai-agent-pattern | 认知模式库 | ReAct、Reflection、Planning |
| tinyai-agent-research | 深度研究智能体 | 多阶段推理、知识图谱 |
| tinyai-agent-manus | 手稿智能体 | OpenManus架构、Flow编排 |
| 模块 | 说明 | 文档链接 |
|---|---|---|
| tinyai-embodied-base | 具身智能基础 | 自动驾驶模拟、6种场景 |
| tinyai-embodied-robot | 扫地机器人 | 路径规划、障碍物避障 |
| tinyai-embodied-vla | VLA架构 | 视觉-语言-动作统一建模 |
| tinyai-embodied-wm | 世界模型 | VAE编码器、想象训练 |
| 指标 | 数值 | 说明 |
|---|---|---|
| 总模块数 | 26个 | 覆盖6个技术层次 |
| Java类文件 | 800+ | 精心设计的类结构 |
| 代码行数 | 150,000+ | 不含注释和空行 |
| 测试用例 | 800+ | 完整的单元测试 |
| 文档页数 | 400+ | 30万字技术文档 |
| 支持场景 | 50+ | 丰富的应用场景 |
| 模块类别 | 测试数量 | 覆盖率 | 状态 |
|---|---|---|---|
| 深度学习框架 | 400+ | 95%+ | ✅ 通过 |
| 智能体系统 | 250+ | 92%+ | ✅ 通过 |
| 大语言模型 | 120+ | 90%+ | ✅ 通过 |
| 具身智能 | 120+ | 95%+ | ✅ 通过 |
| 总计 | 890+ | 93%+ | ✅ 全部通过 |
目标: 掌握深度学习基础知识和框架使用
-
多维数组操作 - 学习 tinyai-deeplearning-ndarr
- 理解N维数组的创建和操作
- 掌握广播机制和形状变换
- 完成矩阵运算练习
-
自动微分原理 - 学习 tinyai-deeplearning-func
- 理解动态计算图
- 掌握反向传播机制
- 实现简单的梯度计算
-
神经网络构建 - 学习 tinyai-deeplearning-nnet
- 掌握各类神经网络层
- 理解Block组合模式
- 构建简单的MLP模型
目标: 掌握完整的模型训练流程和实际应用
-
机器学习框架 - 学习 tinyai-deeplearning-ml
- 掌握Trainer训练流程
- 理解优化器和损失函数
- 实现并行训练
-
应用案例实践 - 学习 tinyai-deeplearning-case
- MNIST手写数字识别
- CartPole强化学习
- 序列预测任务
-
强化学习 - 学习 tinyai-deeplearning-rl
- DQN算法实现
- 策略梯度方法
- 经验回放机制
目标: 掌握大语言模型、智能体和具身智能
-
大语言模型 - 学习模型层各模块
-
智能体系统 - 学习智能体层各模块
-
具身智能 - 学习具身智能层各模块
- 智能客服系统: 基于RAG的企业知识库问答
- 代码生成助手: 智能编程辅助和代码审查
- 文档智能处理: 多智能体协作的文档分析
- 业务流程自动化: 自进化智能体的决策优化
- 自动驾驶系统: 完整的具身智能解决方案
- 机器人控制: 工业机器人、服务机器人
- 内容生成平台: 多模态内容创作
- AI课程教学: 完整的教学案例和演示
- 学术研究平台: 算法验证和实验
- 模型架构研究: 从基础到前沿的完整实现
- 深度学习实验: 丰富的实验环境
- 自适应推荐: 具备自主学习的推荐引擎
- 智能运维: 多专家协作的运维助手
- 个性化学习: 自适应教育平台
- 创意内容生成: AI驱动的内容创作
- 复杂任务规划: 计划驱动的任务执行
本项目采用 Apache License 2.0 开源许可证。详情请参阅 LICENSE 文件。
感谢所有为 TinyAI 项目做出贡献的开发者和研究者!
特别感谢:
- Java 开源社区的技术支持
- 深度学习领域的理论基础
- 智能体系统的前沿研究
- 所有提供反馈和建议的用户
🎉 重大重构升级
- ✨ 模块数量: 从22个扩展到26个核心模块
- ✨ 新增模块: MiniMind、Banana多模态、世界模型等
- 📊 测试用例: 从690+增加到890+
- 📝 代码量: 增长60%+达到15万行
- 📚 文档: 30万字完整技术文档
🚀 技术升级
- 🆕 多模态图像生成能力 (Banana模型)
- 🆕 完整的LLM训练流程 (MiniMind)
- 🆕 世界模型和想象训练
- 🔧 架构重构,更清晰的分层设计
- 📈 性能优化,训练速度提升30%
🚀 具身智能系统上线
- ✨ 自动驾驶完整模拟环境
- ✨ 扫地机器人控制系统
- ✨ VLA视觉-语言-动作架构
- 📊 116个单元测试,100%通过率