02 Go Eino AI应用开发实战 | 快速开始

92 阅读5分钟

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

系统架构概览

image.png

这份全面的快速入门指南将帮助你在几分钟内让系统运行起来。该企业级面试系统基于字节跳动的 Hertz 框架和 Eino AI 框架构建,提供智能简历分析、问题生成和答案评估功能。

先决条件

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

组件最低版本推荐版本
Go1.24+1.24.10
Node.js18.0+20.x
MySQL8.0+8.0+
Redis7.0+7.0+
Docker24.0+最新版
Docker Compose2.0+最新版

必需的 API 密钥

你需要访问至少以下一个 AI 模型提供商:

提供商必需项用途
OpenAIAPI 密钥面试使用的语言模型
ByteDance ArkAccessKey/SecretKey备选 AI 模型
Google SearchAPI 密钥 + 搜索引擎 ID网络搜索功能

快速部署选项

🚀 选项 1:一键 Docker 部署(推荐)

这是让整个系统连同所有依赖运行起来的最快方式。

git clone 项目地址可以私信博主微信获得:wangzhongyang1993
cd go-eino-interview-agent
 
# 2. 创建环境文件
cp .env.example .env
# 使用你的 API 密钥和配置编辑 .env 文件
 
# 3. 启动所有服务
docker-compose up -d
 
# 4. 等待服务初始化(2-3 分钟)
docker-compose ps

所有服务运行后,访问:

🛠️ 选项 2:开发环境设置

适用于希望修改和扩展系统的开发者。

后端设置

# 1. 导航到后端目录
cd backend
 
# 2. 安装 Go 依赖
go mod download
 
# 3. 复制并配置设置
cp config.example.yaml config.yaml
# 使用你的数据库和 API 配置编辑 config.yaml 文件
 
# 4. 启动数据库(如果不使用 Docker)
# 确保本地已运行 MySQL 和 Redis
 
# 5. 运行后端服务
go run main.go

前端设置

# 1. 导航到前端目录
cd frontend
 
# 2. 安装 Node.js 依赖
npm install
 
# 3. 配置 API 端点
# 编辑 src/config/api.ts 指向你的后端
 
# 4. 启动开发服务器
npm run dev

配置指南

后端配置 ([config.example.yaml])

主配置文件控制所有系统设置:

# 需要配置的基本设置
database:
  dsn: "root:password@tcp(localhost:3306)/interview_agent?charset=utf8mb4&parseTime=True&loc=Local"
 
redis:
  addr: "localhost:6379"
  password: "your-redis-password"
 
# AI 模型配置
openai:
  api_key: "your-openai-api-key"
  model_name: "gpt-4"
 
# 安全设置
security:
  jwt_secret: "your-jwt-secret-key"
  jwt_expiration: "24h"

环境变量

在项目根目录创建 .env 文件:

# 数据库配置
DB_PASSWORD=your_mysql_password
DB_NAME=interview_agent
DB_USER=root
 
# Redis 配置  
REDIS_PASSWORD=your_redis_password
 
# AI 模型配置
OPENAI_API_KEY=your_openai_key
EMBEDDING_API_KEY=your_embedding_key
EMBEDDING_MODEL=your_model_id
EMBEDDING_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
 
# Milvus 配置(如果使用向量搜索)
MILVUS_ADDRESS=localhost:19530
MILVUS_USERNAME=your_username
MILVUS_PASSWORD=your_password

服务依赖

系统由多个相互连接的服务组成:

服务端口描述状态
前端3000Next.js Web 应用✅ 活动
后端 API8888Hertz REST API 服务器✅ 活动
MySQL3307主数据库✅ 活动
Redis6379缓存和消息队列✅ 活动
Nginx80反向代理✅ 活动
Milvus19530向量数据库✅ 活动

验证步骤

部署完成后,验证系统是否正常工作:

1. 检查服务健康状态

# 验证所有容器正在运行
docker-compose ps
 
# 检查后端健康状态
curl http://localhost:8888/health
 
# 检查前端可访问性  
curl http://localhost:3000

2. 测试核心功能

  1. 用户注册:在 http://localhost:3000 创建新账户
  2. 简历上传:上传 PDF 简历进行分析
  3. 创建面试:启动 AI 面试会话
  4. 回答问题:响应生成的面试问题
  5. 查看结果:检查你的评估报告

3. API 测试

直接测试后端 API:

# 测试用户注册
curl -X POST http://localhost:8888/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username":"test","email":"test@example.com","password":"password123"}'
 
# 测试简历上传
curl -X POST http://localhost:8888/api/v1/resume/upload \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -F "file=@/path/to/resume.pdf"

故障排除

常见问题

问题解决方案
端口冲突在 docker-compose.yml 中更改端口
数据库连接失败验证 MySQL 正在运行且凭据正确
API 密钥错误检查环境变量和 API 密钥有效性
前端无法加载确保前端可以访问后端 API

日志位置

  • 后端日志./backend/logs/
  • Docker 日志docker-compose logs [service-name]
  • 前端日志:浏览器控制台和终端输出

性能提示

为获得最佳性能,请确保你的系统至少有 8GB RAM 和 SSD 存储。AI 模型在初始加载时可能会消耗大量资源。

如果你遇到响应缓慢的问题,请检查 Redis 缓存配置,并在使用 Docker 时确保所有服务运行在同一网络中。

支持资源

  • 文档:查看 doc/ 目录获取详细指南
  • API 参考:访问 http://localhost:8888/swagger 获取交互式 API 文档
  • 社区:加入我们的微信群获取支持(联系人:wangzhongyang1993)

恭喜!你现在拥有一个完全可用的 AI Interview Agent 平台。系统已准备好根据你的特定需求进行定制和扩展。

一起学习进步

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

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

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