04 Go Eino AI应用开发实战 | 开发环境搭建

74 阅读4分钟

声明:本AI应用开发系列教程首发在同名公众号:王中阳,未经授权禁止转载。

开发环境搭建

本指南为搭建 AI Interview Agent 平台的开发环境提供了全面的说明。该平台由使用 Hertz 框架和 Eino AI 组件的 Go 后端,以及 Next.js 前端组成。

系统要求

在开始搭建之前,请确保你的系统满足以下要求:

组件最低版本推荐版本
Go1.24+1.24.10
Node.js18.0+20.x
Docker24.0+最新版
MySQL8.0+最新版
Redis7.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. 访问应用

Docker 设置会自动包含 MySQLRedis 和 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

故障排除

常见问题

  1. 端口冲突: 如果默认端口被占用,请修改 docker-compose.yml 中的端口
  2. Go 版本不匹配: 确保安装并激活了 Go 1.24+
  3. Node.js 版本: 前端开发请使用 Node.js 18+
  4. 数据库连接: 启动后端前,请确认 MySQL 和 Redis 服务正在运行

开发技巧

  • 使用环境变量管理敏感配置
  • 后端使用 GORM 进行数据库操作
  • 前端遵循 Next.js App Router 结构
  • 两个项目都包含了全面的代码检查配置

后续步骤

开发环境搭建完成后:

  1. 查看架构概览了解系统设计
  2. 探索Eino 组件架构了解 AI 集成详情
  3. 查看Hertz Web 框架搭建了解后端 API 开发
  4. 访问Next.js 应用结构了解前端开发模式

生产环境部署请参考 Docker 部署指南,其中包含优化配置和安全最佳实践。

一起学习进步

对这个项目感兴趣的朋友欢迎关注我,私信我,免费领取学习资料,一起成长进步。

加我微信:wangzhongyang1993,备注:Eino实战。

本文首发在我的同名公众号:王中阳,未经授权禁止转载。