震惊,历时 3 个月,我基于 CloudWeGo 全家桶 将B站up主程序员鱼皮的 AI 零代码应用生成平台从头到尾重构了一遍。这也是目前 Go 语言生态中较为少见的 AI 方向实战项目,希望能为刚入门 Go 的开发者提供一份完整的学习参考。
项目背景
鱼皮的 AI 零代码应用生成平台原本是一个帮助用户通过自然语言描述生成 Web 应用平台。为了更好地学习 Go 语言并实践微服务架构,我决定使用 CloudWeGo 技术栈对其进行全面重构。重构后的项目不仅保持了原有功能,还在性能、可维护性和扩展性上有了显著提升。
技术选型
| 技术类型 | 框架选用 | 选用原因 |
|---|---|---|
| Web框架 | Hertz | 字节跳动开源,高性能,支持 HTTP/2,与 Kitex 无缝集成 |
| ORM | GORM | Go 最流行的 ORM,功能丰富,社区活跃 |
| 缓存数据库框架 | go-redis | 高性能 Redis 客户端,支持集群、哨兵模式 |
| AI 工作流 | Eino | 字节开源的大模型编排框架,支持链式调用、流式输出、工具集成 |
| 前端 | Vue 3 + TS + Ant Design Vue | 现代化、类型安全、组件丰富 |
| 配置管理 | Viper | 支持多种配置源,热加载 |
| 依赖注入 | go-Wire | 编译时 DI,无反射开销 |
项目覆盖的核心知识点
- Go 协程与 Channel – 并发模型实战,例如 AI 生成任务中的流式处理
- Hertz / Gin – 高性能 Web 框架的使用,包括路由、中间件、参数绑定
- GORM / go-redis – 数据库与缓存框架的集成,支持连接池、事务、软删除
- Eino – 目前 Go 生态中最强大的 AI 工作流框架,支持 ChatModel、Retriever、Tool 等组件
- Kitex – 微服务 RPC 通信,服务注册与发现(Nacos)
- Wire – 依赖注入自动生成,解决循环依赖
目前整个项目的单体服务架构以及完善好了,剩下的微服务架构估计还要半个月的时间,如果该仓库的star数较多,我会考虑出一份详细的教程
如果你觉得这个项目有意思,或者想学习 Go 微服务 + AI 应用开发,请为我点一个 Star ⭐️,这对我非常重要,也会激励我更快出教程!