一个现代化的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
- 每个子目录配备独立的Agent和Context处理
- 专门的Python目录处理AI算法、Agent、视觉等工程
- 智能化的开发和部署流程
- 所有模块间交互遵循proto目录中的Protocol Buffers定义
- 使用gRPC进行高效的服务间通信
- HTTP流量通过网关自动转换为gRPC流量
- 基于Helm的Kubernetes部署
- 支持多微服务统一管理
- 模块化构建和部署
- 前端组件化开发(Vite + Components)
- 后端服务分离(Python AI服务 + Golang业务服务)
- 独立的协议定义和管理
-
环境检查
# 检查必要工具 aws --version kubectl version --client helm version # 检查K8s集群连接 kubectl cluster-info
-
协议定义
- 首先在
proto/目录中定义您的服务协议 - 按照
service/v1/*.proto模式组织协议文件
- 首先在
-
服务开发
- Python AI服务:在
python/目录中开发 - Golang业务服务:在
golang/目录中开发 - 前端应用:在
frontend/目录中开发
- Python AI服务:在
-
部署
- 使用
deploy/目录中的Helm配置进行部署 - 通过网关处理HTTP到gRPC的流量转换
- 使用
- 协议优先: 在开发任何服务之前,先在proto目录中定义接口协议
- 独立开发: 每个目录可以独立开发,拥有自己的Agent和Context
- 统一部署: 通过Helm统一管理所有微服务的部署
- 流量管理: HTTP流量通过网关自动路由到相应的gRPC服务
- 所有子模块间的交互必须遵循proto目录中定义的协议
- 每个子目录都有独立的README.md文件,包含详细的开发指南
- 确保在开发前正确配置AWS CLI、kubectl和helm工具
- 部署前请确认K8s集群的连接状态
如需帮助,请参考各子目录中的README.md文件,或查看相关工具的官方文档。