Skip to content

Leavesfly/TinyAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyAI - 全栈式 AI 框架

Java Maven License Version Tests

一个完全基于 Java 构建的全栈式 AI 框架

从数值计算到大语言模型 · 从深度学习到具身智能 · 从智能体系统到多模态理解

快速开始 · 架构设计 · 模块文档 · 应用示例 · 学习路径


📋 项目简介

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
Loading

核心模块分布

层次 模块数 核心模块 主要功能
🎯 应用层 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+ 源码+编译+模型文件

安装步骤

# ① 克隆仓库
git clone https://github.com/leavesfly/TinyAI.git
cd TinyAI

# ② 配置Java环境
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

# ③ 一键构建
mvn clean install -DskipTests    # 快速安装

# ④ 运行测试(可选)
mvn test                          # 运行800+单元测试

五分钟上手

示例 1: 基础智能体

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);

示例 2: 深度学习训练

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");

示例 3: 大语言模型

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);

示例 4: 具身智能

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());

示例 5: 多模态图像生成

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%+ ✅ 全部通过

🎓 学习路径

初级: 理解基础概念

目标: 掌握深度学习基础知识和框架使用

  1. 多维数组操作 - 学习 tinyai-deeplearning-ndarr

    • 理解N维数组的创建和操作
    • 掌握广播机制和形状变换
    • 完成矩阵运算练习
  2. 自动微分原理 - 学习 tinyai-deeplearning-func

    • 理解动态计算图
    • 掌握反向传播机制
    • 实现简单的梯度计算
  3. 神经网络构建 - 学习 tinyai-deeplearning-nnet

    • 掌握��类神经网络层
    • 理解Block组合模式
    • 构建简单的MLP模型

中级: 模型训练与应用

目标: 掌握完整的模型训练流程和实际应用

  1. 机器学习框架 - 学习 tinyai-deeplearning-ml

    • 掌握Trainer训练流程
    • 理解优化器和损失函数
    • 实现并行训练
  2. 应用案例实践 - 学习 tinyai-deeplearning-case

    • MNIST手写数字识别
    • CartPole强化学习
    • 序列预测任务
  3. 强化学习 - 学习 tinyai-deeplearning-rl

    • DQN算法实现
    • 策略梯度方法
    • 经验回放机制

高级: 前沿技术探索

目标: 掌握大语言模型、智能体和具身智能

  1. 大语言模型 - 学习模型层各模块

  2. 智能体系统 - 学习智能体层各模块

  3. 具身智能 - 学习具身智能层各模块

🎯 应用场景

企业级应用

  • 智能客服系统: 基于RAG的企业知识库问答
  • 代码生成助手: 智能编程辅助和代码审查
  • 文档智能处理: 多智能体协作的文档分析
  • 业务流程自动化: 自进化智能体的决策优化
  • 自动驾驶系统: 完整的具身智能解决方案
  • 机器人控制: 工业机器人、服务机器人
  • 内容生成平台: 多模态内容创作

教育与研究

  • AI课程教学: 完整的教学案例和演示
  • 学术研究平台: 算法验证和实验
  • 模型架构研究: 从基础到前沿的完整实现
  • 深度学习实验: 丰富的实验环境

创新应用

  • 自适应推荐: 具备自主学习的推荐引擎
  • 智能运维: 多专家协作的运维助手
  • 个性化学习: 自适应教育平台
  • 创意内容生成: AI驱动的内容创作
  • 复杂任务规划: 计划驱动的任务执行

📄 许可证

本项目采用 Apache License 2.0 开源许可证。详情请参阅 LICENSE 文件。

🙏 致谢

感谢所有为 TinyAI 项目做出贡献的开发者和研究者!

特别感谢:

  • Java 开源社区的技术支持
  • 深度学习领域的理论基础
  • 智能体系统的前沿研究
  • 所有提供反馈和建议的用户

📈 更新历史

v2.0.0 (2025-01)

🎉 重大重构升级

  • 模块数量: 从22个扩展到26个核心模块
  • 新增模块: MiniMind、Banana多模态、世界模型等
  • 📊 测试用例: 从690+增加到890+
  • 📝 代码量: 增长60%+达到15万行
  • 📚 文档: 30万字完整技术文档

🚀 技术升级

  • 🆕 多模态图像生成能力 (Banana模型)
  • 🆕 完整的LLM训练流程 (MiniMind)
  • 🆕 世界模型和想象训练
  • 🔧 架构重构,更清晰的分层设计
  • 📈 性能优化,训练速度提升30%

v1.1.0 (2024-10)

🚀 具身智能系统上线

  • ✨ 自动驾驶完整模拟环境
  • ✨ 扫地机器人控制系统
  • ✨ VLA视觉-语言-动作架构
  • 📊 116个单元测试,100%通过率

🎯 让AI开发在Java生态中焕发新的活力!

如果这个项目对您有帮助,请给我们一个 ⭐️

⚡ 快速开始 | 📖 查看文档 | 📚 学习路径 | 🤝 参与贡献

让我们一起构建下一代AI框架!

About

全栈式轻量级AI框架,TinyAI IS ALL YOU NEED。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages