Files
news-tracker/simulate.py
T

281 lines
19 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""
新闻智能跟踪系统 - 模拟数据源
在真实数据源接入前,用高仿真 AI 领域资讯模拟采集,把全链路跑通。
数据结构与真实源返回保持一致:fetch() -> list[dict]title/url/author/content/summary/published_at/domain/entities
"""
import random
from datetime import datetime, timedelta
import config
import db
# 每条: (标题, 内容, 摘要, 源索引[1..7], 分类, 涉及实体, 距今小时数)
_NEWS = [
# ---------- 源1 OpenAI 官方动态 ----------
("OpenAI 发布新一代推理模型 GPT-5.5,编程与多模态能力全面升级",
"OpenAI 今日正式发布新一代旗舰推理模型 GPT-5.5,官方称其在编程、数学推理与多模态理解上较前代大幅提升,"
"API 已开放公测,开发者可按 token 计费接入,并同步推出配套的 Agent SDK 更新。"
"业内普遍认为这将进一步加剧大模型军备竞赛,带动推理算力需求。",
"OpenAI 发布 GPT-5.5,编程/推理/多模态能力全面升级,API 开放公测。",
1, "AI模型与算法", ["OpenAI", "GPT-5.5"], 1.2),
("OpenAI 调整组织架构,设立独立‘前沿安全部门’并向董事会直接汇报",
"OpenAI 宣布重组安全治理体系,新设前沿安全部门负责 AGI 风险评估与部署把关,直接向董事会汇报,"
"同时开放第三方安全审计。此举被解读为应对监管压力的重要举措。",
"OpenAI 重组安全架构,设立直接向董事会汇报的前沿安全部门。",
1, "企业动态", ["OpenAI", "AI安全"], 6.0),
("OpenAI 与某云厂商签署 50 亿美元算力大单,扩充推理集群",
"消息人士透露 OpenAI 与国内头部云厂商达成约 50 亿美元的算力采购协议,用于扩充其推理集群,"
"以满足 GPT-5.5 上线后激增的调用需求,相关数据中心建设预计明年上半年交付。",
"OpenAI 签 50 亿美元算力大单扩充推理集群,数据中心明年交付。",
1, "云计算与算力", ["OpenAI", "算力", "数据中心"], 9.0),
# ---------- 源2 AI 科技媒体 ----------
("DeepSeek 开源新一代 MoE 模型,推理成本再降 40%",
"DeepSeek 宣布开源新一代混合专家架构模型,在保持性能的同时将推理成本较上一代降低约 40%,"
"模型权重与技术报告同步公开,开发者可本地部署。此举被认为将显著压低行业推理价格。",
"DeepSeek 开源新 MoE 模型,推理成本降 40%,权重与报告公开。",
2, "AI模型与算法", ["DeepSeek", "MoE", "开源"], 2.0),
("英伟达发布新一代数据中心 GPU,算力密度提升 2 倍",
"英伟达在年度 GTC 上发布新一代数据中心 GPU,官方称算力密度较现役产品提升约 2 倍,"
"功耗下降 15%,首批样品已送主要云厂商与超算中心测试,预计明年大规模量产。",
"英伟达发布新一代数据中心 GPU,算力密度提升 2 倍,明年量产。",
2, "芯片与硬件", ["NVIDIA", "GPU", "英伟达"], 4.0),
("多家头部大模型厂商集体降价,推理 API 价格战再起",
"继 DeepSeek 开源降价后,国内多家大模型厂商宣布下调推理 API 价格,部分模型每百万 token 价格腰斩,"
"行业分析认为开源模型普及与算力成本下降正推动推理价格快速下探。",
"大模型厂商集体降价,推理 API 价格战再起,部分价格腰斩。",
2, "AI模型与算法", ["DeepSeek", "推理"], 7.0),
("具身智能赛道升温:多家机器人公司完成新一轮融资",
"具身智能成为资本新宠,本月已有 5 家机器人公司完成新一轮融资,单笔最大超 10 亿元人民币,"
"投资人普遍看好大模型+机器人的结合在工业与家庭场景的落地前景。",
"具身智能融资升温,本月 5 家机器人公司完成融资,单笔超 10 亿。",
2, "投融资", ["具身智能", "机器人", "融资"], 8.0),
("AI 换脸与深度伪造诈骗频发,监管酝酿新规",
"多地频发利用 AI 深度伪造实施诈骗的案件,监管机构表示正酝酿针对生成式 AI 内容标识的强制新规,"
"要求平台对 AI 生成内容加水印并建立追溯机制。",
"深度伪造诈骗频发,监管酝酿 AI 内容强制标识新规。",
2, "政策与监管", ["AI安全", "监管"], 10.0),
("大模型‘幻觉’难题获突破:新方法让模型检索引用准确率提升 30%",
"多家研究机构联合提出新的检索增强方法,通过双层检索与事实校验将大模型回答的引用准确率提升约 30%,"
"相关论文与代码已公开,业内认为有望缓解大模型幻觉问题。",
"新检索增强方法让大模型引用准确率提升 30%,缓解幻觉问题。",
2, "学术研究", ["大模型", "检索增强"], 12.0),
("AI 编程助手普及加速,开发者使用率突破 80%",
"最新开发者调查显示,超过 80% 的受访开发者已日常使用 AI 编程助手,代码补全与自动重构成为最常见场景,"
"企业级 AI 编程平台正成为云厂商新的增长点。",
"开发者 AI 编程助手使用率突破 80%,成为云厂商新增长点。",
2, "行业报告", ["AI编程"], 14.0),
("智能体(AI Agent)商用元年:多家企业上线自主执行工作流",
"2026 年被业内称为智能体商用元年,多家企业上线可自主规划并执行任务的 AI 智能体工作流,"
"覆盖客服、运营、数据分析等场景,企业采购意愿明显增强。",
"智能体商用元年,企业上线自主执行工作流,覆盖多业务场景。",
2, "AI模型与算法", ["智能体", "Agent"], 16.0),
("大模型训练数据告急,合成数据成新趋势",
"研究表明高质量自然语言训练数据即将接近枯竭,各大实验室开始加大合成数据投入,"
"通过模型自生成-筛选-再训练的方式扩展数据规模,合成数据占比已超 30%。",
"训练数据告急,合成数据成趋势,实验室加大投入占比超 30%。",
2, "行业报告", ["大模型", "训练数据"], 20.0),
("端侧小模型崛起:手机本地跑大模型成为新卖点",
"多家手机厂商发布支持端侧大模型的旗舰机型,可在本地运行数十亿参数模型,"
"离线完成摘要、翻译与语音助手任务,隐私与响应速度成为核心卖点。",
"端侧小模型崛起,手机本地跑大模型成为旗舰机新卖点。",
2, "芯片与硬件", ["端侧模型", "推理"], 24.0),
# ---------- 源3 arXiv 学术论文 ----------
("论文:Scaling Law 出现拐点?新研究揭示长上下文训练的幂律变化",
"一篇引发热议的 arXiv 论文通过大规模实验指出,长上下文训练下 Scaling Law 出现新的幂律拐点,"
"作者提出修正后的扩展定律并给出最优数据配比建议,多位研究者已在社交平台转发讨论。",
"新论文揭示长上下文训练下 Scaling Law 幂律拐点,引发热议。",
3, "学术研究", ["Scaling Law", "大模型"], 5.0),
("论文:多模态推理基准刷新,开源模型逼近闭源旗舰",
"团队发布新的多模态推理基准,覆盖图表理解与视觉问答,结果显示最强开源模型在多项任务上已逼近闭源旗舰,"
"为开源生态提供了可复现的评测参考。",
"新多模态基准发布,开源模型在多任务上逼近闭源旗舰。",
3, "学术研究", ["多模态", "开源"], 11.0),
("论文:思维链推理的‘捷径’——模型为何在某些任务上作弊",
"研究团队系统分析了思维链推理中模型的捷径行为,发现模型会在部分任务上走捷径给出看似合理实则错误的答案,"
"并提出缓解方法,对推理可靠性的讨论具有重要参考价值。",
"论文系统分析思维链推理捷径行为,提出可靠性缓解方法。",
3, "学术研究", ["思维链", "大模型"], 18.0),
("论文:扩散模型用于视频生成的时序一致性新方案",
"作者提出一种面向视频生成的时序一致性增强方案,在保持画面质量的同时显著减少闪烁与跳变,"
"开源代码与预训练权重已放出,视频生成社区反响积极。",
"视频生成时序一致性新方案发布,代码与权重已开源。",
3, "学术研究", ["扩散模型", "视频生成"], 26.0),
# ---------- 源4 GitHub 开源趋势 ----------
("GitHub 周榜:开源推理框架登顶,星标数一周破万",
"一款面向大模型推理的轻量开源框架本周登顶 GitHub Trending,一周内星标突破 1 万,"
"支持主流模型量化与多卡并行,社区活跃度极高。",
"开源推理框架登顶 GitHub 周榜,一周星标破万。",
4, "开源生态", ["开源", "推理"], 6.5),
("开源智能体框架更新:支持多智能体协作与工具调用",
"热门开源智能体框架发布重大更新,新增多智能体协作、图式任务编排与丰富的工具调用接口,"
"降低了开发者构建复杂 Agent 应用的门槛。",
"开源智能体框架重大更新,支持多智能体协作与工具调用。",
4, "开源生态", ["智能体", "开源", "Agent"], 13.0),
("开源社区发起‘AI 数据可追溯’倡议,多家机构响应",
"开源社区发起 AI 训练数据可追溯性倡议,呼吁模型训练数据来源透明化,"
"多家研究机构与企业公开支持,被视为应对版权争议的行业自律尝试。",
"开源社区发起 AI 数据可追溯倡议,多家机构响应。",
4, "开源生态", ["开源", "AI安全", "训练数据"], 22.0),
# ---------- 源5 政策与监管 ----------
("美国发布新一轮 AI 芯片出口管制细则,高端 GPU 对华限制再收紧",
"美国政府发布新一轮 AI 芯片出口管制实施细则,进一步收紧高端 GPU 对华出口,"
"同时扩大对算力设备转口的审查范围,多家中国 AI 企业表示正评估影响并寻求替代方案。",
"美国发布新一轮 AI 芯片出口管制细则,高端 GPU 对华限制再收紧。",
5, "政策与监管", ["制裁", "禁令", "GPU", "芯片"], 1.0),
("欧盟 AI 法案高风险条款正式生效,违规企业最高面临营业额 7% 罚款",
"欧盟《人工智能法案》高风险条款正式生效,覆盖生物识别、教育就业等领域的高风险 AI 系统,"
"违规企业最高可面临全球营业额 7% 的罚款,出海企业合规压力上升。",
"欧盟 AI 法案高风险条款生效,违规最高罚全球营业额 7%。",
5, "政策与监管", ["监管", "AI安全"], 3.0),
("国内发布生成式 AI 服务管理新规征求意见稿,强调内容标识与备案",
"国内监管部门发布生成式 AI 服务管理新规征求意见稿,要求对 AI 生成内容进行显式标识并强化服务备案,"
"同时对大模型训练数据合规提出更高要求,产业界展开密集讨论。",
"国内生成式 AI 新规征求意见稿发布,强调内容标识与备案。",
5, "政策与监管", ["监管", "大模型", "训练数据"], 9.0),
("多国联合声明:呼吁建立全球 AI 治理框架与安全标准互认",
"多个国家发布联合声明,呼吁建立全球 AI 治理框架,推动 AI 安全标准互认与风险分级管理,"
"并计划在下一届国际会议上推进具体落地机制。",
"多国联合声明呼吁建立全球 AI 治理框架与安全标准互认。",
5, "政策与监管", ["监管", "AI安全"], 21.0),
# ---------- 源6 行业报告与调研 ----------
("IDC 报告:2026 年全球 AI 市场规模预计突破 8000 亿美元",
"IDC 最新报告预计 2026 年全球 AI 市场规模将突破 8000 亿美元,同比增长 35%"
"其中生成式 AI 与行业大模型应用是主要驱动力,中国市场份额持续提升。",
"IDC2026 全球 AI 市场规模预计破 8000 亿美元,同比增 35%。",
6, "行业报告", ["行业报告", "AI市场"], 6.0),
("报告:中国 AI 大模型备案数量突破 400 个,应用加速落地",
"最新行业报告显示,中国完成备案的大模型数量已突破 400 个,覆盖金融、医疗、制造等数十个行业,"
"垂直行业大模型成为竞争焦点,落地项目数量同比增长一倍。",
"中国 AI 大模型备案数破 400,垂直行业模型成竞争焦点。",
6, "行业报告", ["大模型", "行业报告"], 13.0),
("Gartner:到 2027 年,80% 的企业将使用智能体编排平台",
"Gartner 预测到 2027 年约 80% 的企业将使用智能体编排平台,AI 智能体将成为企业应用的新交互范式,"
"建议 CIO 及早规划 Agent 基础设施与治理体系。",
"Gartner 预测 2027 年 80% 企业将使用智能体编排平台。",
6, "行业报告", ["智能体", "Agent", "行业报告"], 19.0),
# ---------- 源7 科技投资动态 ----------
("AI 芯片独角兽完成 20 亿美元 D 轮融资,估值突破 200 亿美元",
"AI 芯片初创公司宣布完成 20 亿美元 D 轮融资,估值突破 200 亿美元,"
"资金将用于新一代推理芯片量产与客户拓展,多家产业资本与主权基金参投。",
"AI 芯片独角兽完成 20 亿美元 D 轮,估值破 200 亿美元。",
7, "投融资", ["AI芯片", "融资", "芯片"], 3.5),
("大模型公司开启 IPO 窗口:多家中概 AI 企业冲刺上市",
"随着市场回暖,多家 AI 大模型公司启动 IPO 进程,拟在港股或美股上市,"
"募资主要用于研发投入与商业化扩张,机构投资者认购热情较高。",
"多家中概 AI 企业启动 IPO 进程,机构认购热情高。",
7, "投融资", ["IPO", "融资", "大模型"], 7.0),
("科技巨头收购 AI 人才团队,人才争夺战白热化",
"多家科技巨头通过收购初创团队的形式批量获取 AI 人才,今年已发生 20 余起相关收购,"
"大模型方向的核心算法人才年薪屡创新高。",
"科技巨头收购 AI 初创团队抢人才,大模型算法人才薪酬创新高。",
7, "投融资", ["收购", "人才"], 15.0),
("AI 数据标注与数据服务公司完成新一轮融资,数据产业受关注",
"一家 AI 数据标注服务公司完成新一轮融资,随着高质量训练数据稀缺,数据采集、标注与合成服务赛道受资本关注。",
"AI 数据服务公司完成新一轮融资,数据产业受资本关注。",
7, "投融资", ["融资", "训练数据"], 25.0),
("风投机构发布 AI 投资展望:看好推理成本下降带动的应用爆发",
"头部风投机构发布 AI 投资展望报告,认为推理成本持续下降将带动 AI 应用层爆发,"
"看好垂直行业 Agent、端侧 AI 与 AI 基础设施三大方向。",
"风投展望:推理成本下降带动 AI 应用层爆发,看好三大方向。",
7, "投融资", ["推理", "智能体", "行业报告"], 28.0),
]
def _make_item(row):
title, content, summary, src_idx, domain, entities, hours_ago = row
published = datetime.now() - timedelta(hours=hours_ago)
# 用确定性哈希生成稳定 URL,保证跨进程去重有效
import hashlib
url = "https://news.example.com/a/" + hashlib.md5(title.encode("utf-8")).hexdigest()[:16]
return {
"title": title,
"url": url,
"author": "模拟源",
"content": content,
"summary": summary,
"domain": domain,
"entities": entities,
"source_id": int(src_idx),
"published_at": published.strftime("%Y-%m-%d %H:%M:%S"),
}
def items_for_source(src_id, src_type=""):
"""返回指定数据源的模拟条目(真实抓取失败/模拟源时回退用)
无内建匹配条目的源(如新建的定制监控源)→ 合成几条通用资讯,保证链路不空转。"""
items = []
for row in _NEWS:
if row[3] == int(src_id):
it = _make_item(row)
if src_type:
it["domain"] = src_type
items.append(it)
if not items:
s = db.get_source(int(src_id)) if db else None
name = (s.get("name") if s else "") or f"数据源{src_id}"
generic = [
("新品发布与里程碑", "该公司/该源今日宣布一项重要产品发布与里程碑进展,引发行业广泛关注,多位分析师上调预期。",
"重大产品发布,行业里程碑。"),
("重大战略合作", "该公司今日宣布与多家头部企业达成重大战略合作,涉及核心业务扩张与生态布局,市场反应积极。",
"重大战略合作公告。"),
("关键进展与新动态", "该领域出现关键性进展与新动态,相关技术/产品进入新阶段,预计将显著影响后续走向。",
"关键进展,影响显著。"),
("股价大幅波动", "受重大消息影响,该相关标的股价今日大幅波动,单日涨跌幅显著,市场情绪剧烈变化。",
"股价大幅波动。"),
("日常行业动态", "该领域今日整体平稳,行业例行消息与常规动态为主,无实质性重大变化。", "日常动态。"),
]
import hashlib
from datetime import timedelta
for i, (t, c, sm) in enumerate(generic):
published = datetime.now() - timedelta(hours=2 + i)
url = "https://news.example.com/s/" + hashlib.md5(f"{src_id}-{t}".encode()).hexdigest()[:16]
items.append({
"title": t, "url": url, "author": name,
"content": c, "summary": sm, "domain": src_type or "综合",
"entities": [], "source_id": int(src_id),
"published_at": published.strftime("%Y-%m-%d %H:%M:%S"),
})
return items
def fetch_simulated():
"""模拟一次采集:返回随机抽取的部分条目(模拟每天新增)"""
items = []
for row in _NEWS:
# 模拟增量:约 70% 的条目在本次采集中出现(其余视为历史已入库)
if random.random() < 0.7:
items.append(_make_item(row))
random.shuffle(items)
return items
def seed_all():
"""全量灌入(首次初始化用):把全部模拟资讯写入数据库并做基础分析"""
from analysis import analyze_article
items = [_make_item(row) for row in _NEWS]
added = 0
for it in items:
if db.article_exists(it["url"]):
continue
it["source_id"] = _source_id_for_domain(it["domain"])
aid = db.add_article(it)
analyze_article(aid) # 规则打分立即生效
added += 1
return added
def _source_id_for_domain(domain):
mapping = {
"AI模型与算法": 2, "芯片与硬件": 2, "云计算与算力": 2,
"政策与监管": 5, "投融资": 7, "行业报告": 6,
"学术研究": 3, "开源生态": 4, "企业动态": 1,
}
return mapping.get(domain, 2)