Skip to content

aws300/ai-native-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Native Development Scaffold

一个现代化的AI原生开发脚手架,支持微服务架构、自动化部署和模块化开发。

前提条件

在使用本脚手架之前,请确保您的本地环境已安装并配置以下工具:

  • AWS CLI: 用于AWS资源管理和部署
  • kubectl: 用于Kubernetes集群管理
  • helm: 用于Kubernetes应用包管理和部署

重要: 请确保您可以通过kubectl控制一个K8s集群,所有服务将部署到该集群中。

架构概述

本脚手架采用微服务架构,所有服务间通信使用gRPC协议,数据结构定义使用Protocol Buffers。

目录结构

ai-native-dev/
├── README.md                    # 项目主说明文档
├── deploy/                      # Helm部署配置
│   └── README.md
├── proto/                       # Protocol Buffers协议定义
│   └── README.md
├── frontend/                    # 前端Vite项目
│   └── README.md
├── python/                      # Python AI服务
│   └── README.md
└── golang/                      # Golang业务服务
    └── README.md

核心特性

🤖 AI原生设计

  • 每个子目录配备独立的Agent和Context处理
  • 专门的Python目录处理AI算法、Agent、视觉等工程
  • 智能化的开发和部署流程

🔄 统一协议通信

  • 所有模块间交互遵循proto目录中的Protocol Buffers定义
  • 使用gRPC进行高效的服务间通信
  • HTTP流量通过网关自动转换为gRPC流量

🚀 自动化部署

  • 基于Helm的Kubernetes部署
  • 支持多微服务统一管理
  • 模块化构建和部署

🧩 模块化架构

  • 前端组件化开发(Vite + Components)
  • 后端服务分离(Python AI服务 + Golang业务服务)
  • 独立的协议定义和管理

快速开始

  1. 环境检查

    # 检查必要工具
    aws --version
    kubectl version --client
    helm version
    
    # 检查K8s集群连接
    kubectl cluster-info
  2. 协议定义

    • 首先在proto/目录中定义您的服务协议
    • 按照service/v1/*.proto模式组织协议文件
  3. 服务开发

    • Python AI服务:在python/目录中开发
    • Golang业务服务:在golang/目录中开发
    • 前端应用:在frontend/目录中开发
  4. 部署

    • 使用deploy/目录中的Helm配置进行部署
    • 通过网关处理HTTP到gRPC的流量转换

开发工作流

  1. 协议优先: 在开发任何服务之前,先在proto目录中定义接口协议
  2. 独立开发: 每个目录可以独立开发,拥有自己的Agent和Context
  3. 统一部署: 通过Helm统一管理所有微服务的部署
  4. 流量管理: HTTP流量通过网关自动路由到相应的gRPC服务

注意事项

  • 所有子模块间的交互必须遵循proto目录中定义的协议
  • 每个子目录都有独立的README.md文件,包含详细的开发指南
  • 确保在开发前正确配置AWS CLI、kubectl和helm工具
  • 部署前请确认K8s集群的连接状态

支持

如需帮助,请参考各子目录中的README.md文件,或查看相关工具的官方文档。

About

ai native development scaffold

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors