GEO(Generative Engine Optimization)商业化平台是一个为商家提供AI大模型关键词优化服务的SaaS平台。商家可以在平台上选择目标关键词,提供相关商业信息,系统自动优化内容并提升关键词在各大AI模型(如ChatGPT、Claude、文心一言等)中的采用率和曝光度,同时提供实时效果监控和数据分析。
- ✅ 多模型适配器架构: 支持统一接口管理多个AI模型
- ✅ 具体AI模型适配器: 实现OpenAI GPT、百度文心一言等主流模型
- ✅ 模型切换和负载均衡: 自动故障转移、优先级选择、轮询调度
- ✅ 用户角色权限数据模型: 基于用户-角色-权限的RBAC模型
- ✅ JWT认证和权限控制: 基于Sa-Token的统一认证和权限管控
- ✅ 内容存储架构: 支持文本、图片、视频、音频等多种内容类型
- ✅ 文件上传和多媒体处理: 支持文件上传、格式转换、缩略图生成等
- 🔄 关键词处理模块 - 集成大模型进行关键词分析和优化
- 🔄 内容生成模块 - 基于大模型实现智能内容生成
- 🔄 API接口层 - 实现各模块的RESTful API接口
- 🔄 测试验证 - 编写单元测试和集成测试
- 框架: Spring Boot 3.2.0
- 数据库: MySQL 8.0 + MyBatis-Plus
- 缓存: Redis
- 认证: Sa-Token
- 文件存储: MinIO
- 多媒体处理: FFmpeg
- HTTP客户端: OkHttp
- 工具库: Hutool
┌─────────────────────────────────────────────────────┐
│ 前端展示层 │
├─────────────────────────────────────────────────────┤
│ API控制层 │
├─────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ AI模型集成 │ │ 鉴权模块 │ │ 内容管理 │ │
│ │ 模块 │ │ │ │ 模块 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 关键词处理 │ │ 内容生成 │ │ 监控分析 │ │
│ │ 模块 │ │ 模块 │ │ 模块 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────┤
│ 数据访问层 │
├─────────────────────────────────────────────────────┤
│ MySQL Redis MinIO │
└─────────────────────────────────────────────────────┘
src/main/java/com/geo/
├── GeoPlatformApplication.java # 主启动类
├── ai/ # AI模型集成模块
│ ├── adapter/ # 模型适配器
│ │ ├── AIModelAdapter.java # 适配器接口
│ │ └── impl/ # 具体实现
│ │ ├── OpenAIAdapter.java # OpenAI适配器
│ │ └── WenxinAdapter.java # 文心一言适配器
│ ├── model/ # 数据模型
│ │ ├── AIRequest.java # AI请求模型
│ │ ├── AIResponse.java # AI响应模型
│ │ └── ModelConfig.java # 模型配置
│ └── service/ # 服务层
│ └── AIModelManager.java # 模型管理器
├── auth/ # 认证鉴权模块
│ ├── config/ # 配置类
│ │ └── SaTokenConfig.java # Sa-Token配置
│ ├── entity/ # 实体类
│ │ ├── User.java # 用户实体
│ │ ├── Role.java # 角色实体
│ │ ├── Permission.java # 权限实体
│ │ └── UserRole.java # 用户角色关联
│ └── service/ # 服务层
│ ├── AuthService.java # 认证服务
│ └── StpInterfaceImpl.java # 权限接口实现
├── content/ # 内容管理模块
│ ├── entity/ # 实体类
│ │ ├── MultimodalContent.java # 多模态内容
│ │ └── MediaFile.java # 媒体文件
│ ├── service/ # 服务层
│ │ ├── FileUploadService.java # 文件上传服务
│ │ └── MediaProcessingService.java # 媒体处理服务
│ └── storage/ # 存储层
│ └── StorageService.java # 存储服务接口
└── common/ # 通用模块
├── exception/ # 异常处理
│ └── BusinessException.java # 业务异常
└── result/ # 结果封装
└── ResultCode.java # 结果代码
- JDK 17+
- Maven 3.6+
- MySQL 8.0+
- Redis 6.0+
- MinIO (可选)
- FFmpeg (用于视频/音频处理)
主要配置在 src/main/resources/application.yml:
# 数据库配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/geo_platform
username: root
password: your_password
# Redis配置
data:
redis:
host: localhost
port: 6379
# AI模型配置
ai:
models:
openai:
api-key: your_openai_key
enabled: true
wenxin:
api-key: your_wenxin_key
secret-key: your_wenxin_secret
enabled: true
# 文件存储配置
minio:
endpoint: http://localhost:9000
access-key: minioadmin
secret-key: minioadmin# 克隆项目
git clone <repository-url>
cd GEO
# 安装依赖
mvn clean install
# 运行项目
mvn spring-boot:run- 统一接口: 所有AI模型通过统一的适配器接口调用
- 自动故障转移: 当某个模型不可用时,自动切换到备用模型
- 负载均衡: 支持轮询、优先级等多种负载均衡策略
- 使用统计: 实时统计各模型的使用情况和成本
- 基于角色的权限控制: 支持用户-角色-权限的多级权限管理
- JWT令牌认证: 无状态的令牌认证机制
- 细粒度权限控制: 支持菜单、按钮、API、数据等多种权限类型
- 安全防护: 登录失败锁定、会话管理等安全机制
- 多种内容类型: 支持文本、图片、视频、音频等多种内容格式
- 智能处理: 自动生成缩略图、提取媒体信息、格式转换
- 版本管理: 支持内容版本控制和历史记录
- 存储抽象: 支持本地存储、MinIO、云存储等多种存储方案
-
关键词处理模块
- 基于大模型的关键词分析
- 关键词扩展和优化建议
- 竞争度分析和趋势预测
-
内容生成模块
- 智能内容生成和优化
- 多角度内容创建
- SEO友好的内容结构
-
API接口层
- RESTful API设计
- API文档生成
- 接口版本管理
-
测试验证
- 单元测试覆盖
- 集成测试场景
- 性能测试基准
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请通过以下方式联系:
- 项目Issues: GitHub Issues
- 邮箱: team@geo-platform.com
© 2024 GEO Platform Team. All rights reserved.