AI Trend Radar 的扩展版本——包含数据管道的全部代码 + Graph RAG + Agentic RAG 智能查询层。
项目关系:AI-TREND-RADAR 是数据管道(采集 → 评分 → 报告 → 分发),本仓库是它的超集,在数据管道基础上增加了知识图谱、向量检索和 Agent 对话能力。两个仓库共享同一份
.env配置和digests/数据目录。
AI Trend Radar 面向 AI 内容运营和产品调研,每天抓取公开 AI 信号(国内外共 15+ 数据源),生成一份中文"值得写、值得测、值得深挖"的选题池,并通过 HTML、Web UI、RSS、Telegram、飞书和 GitHub Actions 分发。它不是一个简单的信息搬运脚本,而是把分散的 AI 行业信号转成可排序、可解释、可交付的选题决策流:先采集公开证据,再用评分框架判断优先级,最后沉淀成报告、结构化数据和自动化分发链路。
本仓库在此基础上增加了智能对话能力——通过 Neo4j 知识图谱构建选题实体之间的关系网络,通过 ChromaDB 向量搜索实现跨报告的语义检索,再由 LangGraph ReAct Agent 编排多个检索工具,让用户可以用自然语言直接查询历史选题数据、分析趋势、获取选题推荐。
Nexus-inspired Knowledge Engine
= Agentic RAG — Agent 自主决定何时检索、用哪个工具、如何综合
+ Pre-runtime Knowledge Compilation — 每日 ingestion 阶段预编译知识制品
+ Knowledge Artifact Layer — 结构化知识实体(话题图谱、趋势轨迹、实体关系)
+ Structured Knowledge Query — 声明式查询(Cypher + 语义混合)
+ Evidence & Governance Layer — 每条结论可追溯到原始数据源和评分证据
+ Evaluation Feedback Loop — 选题质量反馈驱动评分权重和分类规则的持续优化
当前进度:基础 Graph RAG(知识图谱构建 + 混合检索 + 6 工具 Agent)已完成,后续迭代预编译知识制品和声明式查询层。
| 能力 | 示例问题 |
|---|---|
| 趋势分析 | "最近 RAG 领域有什么新进展?" |
| 话题查询 | "OpenAI 最近发布了什么?" |
| 选题推荐 | "给我推荐几个值得深挖的选题" |
| 跨源对比 | "中英文社区对大模型的讨论有什么不同?" |
| 关系图谱 | "LangChain 和哪些项目有关系?" |
AI-TREND-RADAR(数据管道)
pnpm digest → digests/YYYY-MM-DD/*.md + topic-pool.json
↓
AI-TREND-RADAR-RAG(本项目)
python -m rag.ingest → Neo4j 知识图谱 + ChromaDB 向量库
python -m rag.server → http://localhost:8001(Chat UI + API)
↓
LangGraph ReAct Agent(6 个工具)
├── search — 搜索任何内容(自动混合图+向量 RRF 融合)
├── topic_trend — 话题趋势分析(分数变化、热度走向)
├── entity_info — 实体详情和关系网络
├── daily_overview — 某日选题概览
├── source_coverage — 跨数据源对比分析
└── recommend — 选题推荐(基于评分和趋势)
Agentic RAG(智能检索增强生成):不是简单的"检索 + 回答",而是让 Agent 自主决定何时检索、用哪个工具检索、如何综合多次检索结果。当用户问"最近有什么趋势"时,Agent 会先用 recommend 获取热门选题,再用 topic_trend 分析变化,最后综合生成回答。
Graph RAG(图谱检索增强生成):通过 Neo4j 知识图谱把分散的选题数据组织成结构化的关系网络。话题通过 APPEARED_ON 关系连接到日期,通过 DISCOVERED_VIA 连接到数据源,实体通过 MENTIONS 连接到话题。这让 Agent 不仅能搜索内容,还能查询关系——"谁和谁有关"、"某个话题在哪些源出现过"。
- Python 3.11+
- Docker(用于 Neo4j)
- 一个 LLM API Key(DeepSeek / OpenAI / Anthropic 均可)
# 1. 克隆项目
git clone https://github.com/Conradgui/AI-TREND-RADAR-RAG.git
cd AI-TREND-RADAR-RAG
# 2. 配置 API Key
cp .env.example .env
# 编辑 .env,设置 LLM_PROVIDER 和对应的 API_KEY
# 2b.(可选)配置 Gitee Token 以获取 Gitee 热门项目数据
# 前往 https://gitee.com/profile/personal_access_tokens 创建只读 Token
# 在 .env 中取消注释并填入:GITEE_TOKEN=your_token
# 如需在 GitHub Actions 中使用,还需在仓库 Settings → Secrets 中添加 GITEE_TOKEN
# 3. 安装依赖 + 启动 Neo4j
pnpm setup:rag
# 4. 生成数据 + 摄取 + 启动服务
pnpm digest
python -m rag.ingest
python -m rag.server
# 5. 打开浏览器
# http://localhost:8001首次打开会显示配置页面,填写 LLM Provider 和 API Key 后进入 Chat 界面。
| 层 | 技术 | 用途 |
|---|---|---|
| 知识图谱 | Neo4j 5 | 话题、实体、来源的关系网络 |
| 向量库 | ChromaDB | 日报内容的语义嵌入和搜索 |
| Agent 框架 | LangGraph | ReAct 模式的智能对话代理 |
| LLM | LangChain | Anthropic / OpenAI / DeepSeek 封装 |
| 后端 | FastAPI | HTTP API 服务 |
| 前端 | 原生 HTML/JS | 对话界面(marked.js 渲染 Markdown) |
| 数据管道 | TypeScript (原有) | 15+ 数据源采集 + 日报生成 |
| 容器 | Docker | Neo4j 数据库 |
-- 节点
(:Topic {id, name, category, totalScore, mentionCount, firstSeen, lastSeen})
(:Entity {id, name, type})
(:Source {id, name, type: "international"|"chinese"|"official"})
(:Document {id, title, date, reportType, content})
(:DailyDigest {date, candidateCount, generatedAt})
-- 关系
(:Topic)-[:APPEARED_ON {score, action}]->(:DailyDigest)
(:Topic)-[:DISCOVERED_VIA]->(:Source)
(:Entity)-[:MENTIONS]->(:Topic)
(:Document)-[:PART_OF]->(:DailyDigest)
-- 索引
CREATE CONSTRAINT topic_id FOR (t:Topic) REQUIRE t.id IS UNIQUE
CREATE FULLTEXT INDEX entity_search FOR (e:Entity) ON EACH [e.name, e.description]| 端点 | 方法 | 说明 |
|---|---|---|
/ |
GET | Chat UI 页面 |
/chat |
POST | Agent 对话入口 |
/config |
POST | 保存 API 配置 |
/health |
GET | 健康检查 |
/ingest |
POST | 触发数据摄取 |
rag/
├── config.py # 配置(读取项目 .env)
├── server.py # FastAPI 服务入口
├── ingest.py # 数据摄取脚本
├── graphrag/ # Neo4j 知识图谱层
│ ├── driver.py # 连接管理
│ ├── schema.py # Schema 定义
│ └── builder.py # 图谱构建器
├── retriever/ # 检索层
│ ├── vector_store.py # ChromaDB 向量库
│ └── hybrid.py # 混合检索器
├── agent/ # Agent 层
│ ├── agent.py # LangGraph ReAct Agent
│ ├── tools.py # 6 个工具定义
│ └── prompts.py # 系统提示词
├── web/ # Chat UI
│ └── chat.html # 对话界面 + 配置页面
└── tests/ # 测试
本仓库是 AI-TREND-RADAR 的超集——包含其全部代码,外加 RAG 层。两个仓库的 src/(TypeScript 数据管道)代码完全一致。
AI-TREND-RADAR(数据管道) AI-TREND-RADAR-RAG(本项目 = 数据管道 + RAG)
├── 抓取 15+ 数据源 ├── [同左] 全部数据管道代码
├── 生成日报/周报/月报 ├── Neo4j 知识图谱
├── 输出到 digests/ ├── ChromaDB 向量搜索
├── GitHub Pages 展示 ├── LangGraph ReAct Agent(6 工具)
└── 评分框架(商业影响/热度/新鲜度) ├── Chat UI(http://localhost:8001)
└── MCP Worker(Cloudflare)
两个项目共享同一份 .env 配置和 digests/ 数据目录。主仓库的 rag/、services/agentdb/、mcp/ 是从本仓库引入的实验性代码副本。
本项目的整体架构参考了 Pinecone Nexus 的"知识引擎"理念——将分散的数据预编译为结构化的知识制品(Knowledge Artifacts),让 Agent 查询时直接获取已组织好的知识,而非每次从原始文档中检索。
当前实现覆盖了 Nexus 架构的前两层(Agentic RAG + 基础知识图谱),后续迭代方向:
| Nexus 层 | 当前状态 | 下一步 |
|---|---|---|
| Agentic RAG | ✅ LangGraph ReAct Agent + 6 工具 | 优化工具选择策略 |
| Pre-runtime Knowledge Compilation | ✅ 每日 ingestion 预构建图谱 | 增量更新 + 去重 |
| Knowledge Artifact Layer | ✅ Topic/Entity/Source/Document 节点 | 增加趋势轨迹制品 |
| Structured Knowledge Query | 声明式查询模板 | |
| Evidence & Governance Layer | 完整溯源链 | |
| Evaluation Feedback Loop | 🔲 未开始 | 评分权重自适应 |
MIT