# java-ai-ad-rt-push **Repository Path**: yyl2291/java-ai-ad-rt-push ## Basic Information - **Project Name**: java-ai-ad-rt-push - **Description**: AI驱动的实时广告推送系统 项目简介 这是一个基于Java Spring Boot开发的AI广告实时推送系统,集成了用户行为分析、广告召回、排序和智能推送等功能。系统采用微服务架构设计,支持多种召回策略和机器学习排序算法。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-06 - **Last Updated**: 2026-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: 广告实时推送系统 ## README # java-ai-ad-rt-push AI驱动的实时广告推送系统 ## 项目简介 这是一个基于Java Spring Boot开发的AI广告实时推送系统,集成了用户行为分析、广告召回、排序和智能推送等功能。系统采用微服务架构设计,支持多种召回策略和机器学习排序算法。 ## 技术栈 - **框架**: Spring Boot - **语言**: Java - **机器学习**: XGBoost - **AI模型**: DeepSeek (用于广告文案生成和智能召回) - **数据存储**: Redis (缓存) - **时序数据**: TimescaleDB (用户行为时序数据) ## 模块说明 ### 模型层 (com.ad.model) - **Ad**: 广告实体,包含产品信息、卖点、类型、是否仅限会员等属性 - **UserProfile**: 用户画像,包含年龄、性别、兴趣、消费能力、活跃度等 - **UserEvent**: 用户行为事件,记录用户点击、浏览、购买等行为 - **FeatureVector**: 特征向量,用于广告排序的特征表示 - **ScoredAd**: 带评分的广告,实现 Comparable 接口用于排序 ### 处理层 (com.ad.processor) - **UserBehaviorProcessor**: 用户行为处理器,继承 Flink 的 ProcessFunction,用于: - 实时处理用户行为事件 - 构建和更新用户画像 - 基于时间衰减计算行为权重 ### 排序层 (com.ad.ranker) - **AdRanker**: 广告排序器,负责: - 构建广告和用户的特征向量 - 使用 XGBoost 模型预测点击率 - 应用业务规则进行加权 - 识别新广告并进行适当加权 ### 服务层 (com.ad.service) - **AdRecallService**: 广告召回服务,提供多种召回策略: - **协同过滤召回**: 基于用户相似度推荐 - **内容召回**: 基于广告内容相似度 - **热门召回**: 推荐热门广告 - **深度学习召回**: 使用 DeepSeek AI 模型智能召回 - 去重处理 ### 工具类 (com.ad.utils) - **PushUtils**: 推送工具类,提供: - 预测用户最佳推送时间 - AI 生成广告文案 - 判断是否应该推送广告 ## 核心功能 ### 1. 用户行为分析 实时处理用户行为事件,构建用户画像,支持时间衰减算法。 ### 2. 广告召回 支持多种召回策略的融合,为每个用户召回最相关的广告候选集。 ### 3. 广告排序 结合机器学习模型(XGBoost)和业务规则,对广告进行精准排序。 ### 4. 智能推送 - 预测最佳推送时间 - AI 生成个性化广告文案 - 频率控制,避免过度打扰 ## 快速开始 ### 环境要求 - JDK 8+ - Maven 3.0+ - Redis - TimescaleDB (可选) ### 构建项目 ```bash mvn clean package ``` ### 运行项目 ```bash java -jar target/*.jar ``` ## 配置说明 项目使用 Spring Boot 标准配置方式,主要配置项包括: - 数据库连接配置 - Redis 连接配置 - AI 模型服务配置 - 业务规则参数 ## 扩展开发 ### 添加新的召回策略 在 `AdRecallService` 中添加新的召回方法,并修改 `recallAds` 方法以集成新策略。 ### 添加新的排序特征 在 `AdRanker` 的 `buildFeatureVectors` 方法中添加新的特征构建逻辑。 ### 集成其他AI模型 修改 `DeepSeekClient` 类以适配其他AI服务提供商。 ## 许可证 本项目仅供学习参考使用。