声明:本AI应用开发系列教程首发在同名公众号:王中阳,未经授权禁止转载。
开发环境搭建
本指南为搭建 AI Interview Agent 平台的开发环境提供了全面的说明。该平台由使用 Hertz 框架和 Eino AI 组件的 Go 后端,以及 Next.js 前端组成。
系统要求
在开始搭建之前,请确保你的系统满足以下要求:
| 组件 | 最低版本 | 推荐版本 |
|---|---|---|
| Go | 1.24+ | 1.24.10 |
| Node.js | 18.0+ | 20.x |
| Docker | 24.0+ | 最新版 |
| MySQL | 8.0+ | 最新版 |
| Redis | 7.0+ | 最新版 |
项目使用 Go 1.24.0 和 toolchain go1.24.10,具体配置见 backend/go.mod。请确保安装了正确的 Go 版本。
架构概览
开发环境由多个协同工作的服务组成:
使用 Docker 快速开始
最快的方式是使用 Docker Compose:
1. 克隆仓库
git clone 代码仓库私信博主微信获得:wangzhongyang1993
2. 启动服务
docker-compose -f docker-compose.yml up # macOS/Linuxdocker compose -f docker-compose.yml up
3. 访问应用
- 前端: http://localhost:3000
- 后端 API: http://localhost:8888
- Nginx 代理: http://localhost:80
Docker 设置会自动包含 MySQL、Redis 和 Nginx 反向代理 配置。
手动开发环境搭建
后端搭建
1. 安装 Go 依赖
cd backend
go mod download
2. 配置环境
复制示例配置文件并进行自定义:
cp config.example.yaml config.yaml
config.example.yaml 中的关键配置部分:
- 数据库: MySQL 连接设置
- Redis: 缓存配置
- OpenAI: AI 功能的 API 密钥
- Milvus: 向量数据库配置
- 安全: JWT 和 CORS 设置
3. 数据库设置
# 导入数据库架构
mysql -u root -p < db_schema.sql
4. 启动后端服务
go run main.go
后端将在端口 8888 上启动,使用 Hertz 框架。
前端搭建
1. 安装 Node.js 依赖
cd frontend
npm install
前端使用 Next.js 14.0.4 和 React 18.2.0 以及 TypeScript。
2. 配置 API 连接
在前端目录创建 .env.local:
NEXT_PUBLIC_API_BASE_URL=http://localhost:8888/api
3. 启动开发服务器
npm run dev
前端将在端口 3000 上启动,并启用热重载。
配置详情
后端配置
后端配置 支持使用环境变量替换敏感数据:
# 环境变量使用示例
Embedding:
APIKey: "${EMBEDDING_API_KEY}"
Model: "${EMBEDDING_MODEL}"
BaseURL: "${EMBEDDING_BASE_URL}"
Milvus:
Address: "${MILVUS_ADDRESS}"
Username: "${MILVUS_USERNAME}"
Password: "${MILVUS_PASSWORD}"
前端依赖
package.json 中的关键前端技术:
- Ant Design 5.12.8: UI 组件库
- Zustand 4.4.7: 状态管理
- Axios 1.6.5: HTTP 客户端
- Tailwind CSS 3.4.1: 样式框架
开发工具和命令
后端开发
# 更新 Thrift IDL 生成的代码
cd backend
hz update --idl ./idl/api.thrift --enable_extends
# 运行测试
go test ./... -v
# 同步飞书文档到 Milvus
go run ./internal/eino/milvus/cmd/milvusctl -cmd feishu-import -language golang -category specialized
前端开发
# 代码检查和格式化
npm run lint
npm run lint:fix
# 生产环境构建
npm run build
# 启动生产服务器
npm start
可选服务
Milvus 向量数据库
如需启用高级 AI 功能,可在 docker-compose.yml 中启用 Milvus:
milvus:
image: milvusdb/milvus:v2.4.0
ports:
- "19530:19530"
- "9091:9091"
attu:
image: zilliz/attu:v2.3.4
ports:
- "8000:3000"
访问 Milvus 管理界面:http://localhost:8000
故障排除
常见问题
- 端口冲突: 如果默认端口被占用,请修改 docker-compose.yml 中的端口
- Go 版本不匹配: 确保安装并激活了 Go 1.24+
- Node.js 版本: 前端开发请使用 Node.js 18+
- 数据库连接: 启动后端前,请确认 MySQL 和 Redis 服务正在运行
开发技巧
- 使用环境变量管理敏感配置
- 后端使用 GORM 进行数据库操作
- 前端遵循 Next.js App Router 结构
- 两个项目都包含了全面的代码检查配置
后续步骤
开发环境搭建完成后:
- 查看架构概览了解系统设计
- 探索Eino 组件架构了解 AI 集成详情
- 查看Hertz Web 框架搭建了解后端 API 开发
- 访问Next.js 应用结构了解前端开发模式
生产环境部署请参考 Docker 部署指南,其中包含优化配置和安全最佳实践。
一起学习进步
对这个项目感兴趣的朋友欢迎关注我,私信我,免费领取学习资料,一起成长进步。
加我微信:wangzhongyang1993,备注:Eino实战。
本文首发在我的同名公众号:王中阳,未经授权禁止转载。