Skip to content

JustCod101/InsightFeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InsightFeed

InsightFeed 是一个结合 Spring Cloud Alibaba 微服务LLM 能力 的智能内容投放平台。项目涵盖完整的服务端链路(用户、内容、LLM 处理、推荐、互动)以及基于 Next.js 16 的门户与运营后台,目标是在几秒内完成内容入库、理解、向量化并在前端 Feed 中实时呈现推荐结果。完整架构设计详见 docs/InsightFeed项目架构方案.md

核心特性

  • 内容冷启动秒级打通:内容服务推送新稿至 RabbitMQ,LLM 处理服务使用 LangChain4j + DeepSeek 生成摘要、关键词与向量,落地 Milvus/ES 后回写状态。
  • 混合推荐引擎:推荐服务通过 CompletableFuture 并行调用用户协同过滤、语义向量召回、热点榜、标签倒排等策略,并支持 RAG 解释生成与 SSE 推送。
  • 高并发互动埋点:点赞/阅读事件先写 Redis + Kafka,Hot Feed 通过 Redis ZSet 即时出榜,再由消费端异步落库。
  • 门户 + 管理双端体验:Next.js 前端提供 Feed 首页、文章详情、AI 投稿页,以及 Dashboard、CMS、Prompt Engineering、用户/设置等后台模块。
  • 工程化能力:统一 BOM(insight-feed-dependencies)、JWT 鉴权链路、Nacos 配置中心、Docker Compose 一键拉起所需基础设施。

架构与模块

模块/服务 说明
insight-feed-gateway Spring Cloud Gateway 统一流量入口,JWT 全局过滤器透传用户上下文,并负责熔断、限流策略。
insight-feed-user 用户注册登录、标签管理,使用 Spring Security、MyBatis-Plus、Redis 缓存兴趣向量。
insight-feed-content 文章创建、状态流转、触发 LLM 处理并接受回调更新摘要/Embedding 状态。
insight-feed-llm-processor LangChain4j 封装 DeepSeek/OpenAI,大纲生成、Embedding、Milvus/ES 写入,并暴露内部 /api/internal/llm/embedding
insight-feed-recommend 并行多策略召回 + 轻量级排序,调用 Milvus、ES 与热点缓存,必要时触发 RAG 解释。
insight-feed-interaction 点赞/曝光/阅读埋点,Redis 统计 + Kafka 异步链路,维护实时热榜。
frontend Next.js 16 + Tailwind + Shadcn UI,覆盖门户首页、文章详情、投稿编辑器、Dashboard、CMS、Prompt、用户中心、设置中心等页面。

更多背景、时序图与 Q&A 策略可查阅 docs/InsightFeed项目架构方案.md

代码目录

.
├── backend/                    # Spring Cloud 微服务及 docker-compose
│   ├── docker-compose.yml      # MySQL/Redis/Nacos/MinIO/Milvus/ES/RabbitMQ 等
│   ├── sql/                    # 初始化脚本及示例数据
│   └── insight-feed-*          # 各微服务模块
├── frontend/                   # Next.js 16 门户 & 运营后台
├── docs/InsightFeed项目架构方案.md   # 架构方案(DDD + 微服务 + LLM)
└── README.md                   # 当前文件

技术栈

  • 后端:JDK 21、Spring Boot 3.2、Spring Cloud 2023、Spring Cloud Alibaba 2023、LangChain4j、MyBatis-Plus、MapStruct、JWT、Kafka、RabbitMQ。
  • 前端:Next.js 16 (App Router)、React 19、TypeScript、Tailwind CSS 4、Shadcn UI、Recharts、Lucide Icons、React Markdown。
  • 基础设施:MySQL 8、Redis 7、Nacos、Milvus 2.4 + MinIO + Etcd、Elasticsearch 8、RabbitMQ 3.12、Docker Compose。

快速开始

  1. 准备运行环境

    • 必备:JDK 21、Maven 3.9+、Node.js 20+、npm、Docker / Docker Compose。
    • 设置必要环境变量(样例):DEEPSEEK_API_KEYNACOS_SERVER=localhost:8848,其余中间件地址可在 backend/*/src/main/resources/application*.yml 中覆写。
  2. 启动基础设施

    cd backend
    docker compose up -d

    首次启动会自动执行 sql/init.sql。Milvus 依赖 Etcd + MinIO,确保容器都处于 healthy 状态。

  3. 构建并启动微服务

    cd backend
    mvn clean install
    # 选择需要的模块运行
    mvn spring-boot:run -pl insight-feed-gateway
    mvn spring-boot:run -pl insight-feed-user
    mvn spring-boot:run -pl insight-feed-content
    mvn spring-boot:run -pl insight-feed-llm-processor
    mvn spring-boot:run -pl insight-feed-recommend
    mvn spring-boot:run -pl insight-feed-interaction
    • insight-feed-commoninsight-feed-dependencies 为依赖模块,无需单独启动。
    • 如需导入 IDE,可直接以 Maven 多模块工程打开 backend/
  4. 运行前端

    cd frontend
    npm install
    npm run dev  # 默认 http://localhost:3000
    • npm run build && npm run start 可预览生产构建。
    • npm run lint 执行 ESLint 规则。
  5. 验证链路

    • POST /auth/registerPOST /auth/login(gateway 转发至 insight-feed-user)获取 JWT。
    • POST /articles 创建文章,检查 RabbitMQ 消息与 LLM 回调 PUT /internal/articles/analysis
    • GET /api/recommend/feed?userId= 可查看混合召回结果及 RAG 推荐理由。
    • 前端门户首页展示 Feed 卡片、AI summary;后台 CMS / Prompt 页面实时读取 API。

文档与更多信息

  • 详细架构、流程图、数据库设计与 Q&A:docs/InsightFeed项目架构方案.md
  • 后端微服务说明:backend/README.md
  • 前端功能说明:frontend/README.md
  • 如果扩展模块/策略,请同步更新上述文档以及 backend/docker-compose.yml

贡献指南

  1. Fork 或创建功能分支,保持与主分支同步。
  2. 提交前运行 mvn clean verify(后端)与 npm run lint(前端),确保构建通过。
  3. 对新增中间件/配置在 README 与 docker-compose 中补充说明。
  4. 通过 Pull Request 描述需求、影响面与测试结果。

欢迎继续完善更多召回策略、互动类型、监控告警与前端数据可视化能力。

About

InsightFeed 是一个面向 AI 基础设施团队的内容与运营平台。此仓库包含基于 Next.js 16 (App Router)构建的前端代码,整合了 TypeScript、Tailwind CSS、Shadcn/ui、Recharts等工具,实现门户首页、文章详情、AI 投稿编辑器以及后台管理(Dashboard、CMS、Prompt Engineering、用户/设置中心等)功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors