Skip to content

bingyue/geo-platform

Repository files navigation

GEO Platform - Generative Engine Optimization Platform

项目概述

GEO(Generative Engine Optimization)商业化平台是一个为商家提供AI大模型关键词优化服务的SaaS平台。商家可以在平台上选择目标关键词,提供相关商业信息,系统自动优化内容并提升关键词在各大AI模型(如ChatGPT、Claude、文心一言等)中的采用率和曝光度,同时提供实时效果监控和数据分析。

核心功能

1. AI模型集成模块

  • 多模型适配器架构: 支持统一接口管理多个AI模型
  • 具体AI模型适配器: 实现OpenAI GPT、百度文心一言等主流模型
  • 模型切换和负载均衡: 自动故障转移、优先级选择、轮询调度

2. 鉴权模块

  • 用户角色权限数据模型: 基于用户-角色-权限的RBAC模型
  • JWT认证和权限控制: 基于Sa-Token的统一认证和权限管控

3. 多模态内容管理

  • 内容存储架构: 支持文本、图片、视频、音频等多种内容类型
  • 文件上传和多媒体处理: 支持文件上传、格式转换、缩略图生成等

4. 待实现功能

  • 🔄 关键词处理模块 - 集成大模型进行关键词分析和优化
  • 🔄 内容生成模块 - 基于大模型实现智能内容生成
  • 🔄 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

核心特性

1. 多模型AI集成

  • 统一接口: 所有AI模型通过统一的适配器接口调用
  • 自动故障转移: 当某个模型不可用时,自动切换到备用模型
  • 负载均衡: 支持轮询、优先级等多种负载均衡策略
  • 使用统计: 实时统计各模型的使用情况和成本

2. 安全鉴权体系

  • 基于角色的权限控制: 支持用户-角色-权限的多级权限管理
  • JWT令牌认证: 无状态的令牌认证机制
  • 细粒度权限控制: 支持菜单、按钮、API、数据等多种权限类型
  • 安全防护: 登录失败锁定、会话管理等安全机制

3. 多模态内容管理

  • 多种内容类型: 支持文本、图片、视频、音频等多种内容格式
  • 智能处理: 自动生成缩略图、提取媒体信息、格式转换
  • 版本管理: 支持内容版本控制和历史记录
  • 存储抽象: 支持本地存储、MinIO、云存储等多种存储方案

下一步开发计划

  1. 关键词处理模块

    • 基于大模型的关键词分析
    • 关键词扩展和优化建议
    • 竞争度分析和趋势预测
  2. 内容生成模块

    • 智能内容生成和优化
    • 多角度内容创建
    • SEO友好的内容结构
  3. API接口层

    • RESTful API设计
    • API文档生成
    • 接口版本管理
  4. 测试验证

    • 单元测试覆盖
    • 集成测试场景
    • 性能测试基准

贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

联系我们

如有问题或建议,请通过以下方式联系:


© 2024 GEO Platform Team. All rights reserved.

About

GEO商业化平台是一个提供AI大模型关键词优化服务的SaaS平台。系统自动优化内容并提升关键词在各大AI模型中的采用率和曝光度,同时提供实时效果监控和数据分析。

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages