本文总阅读量:  次 | 文章总字数: 2,016 字

投研简报如何保留原始出处:公告、网页正文与 AI 摘要证据链

投研简报如何保留原始出处,真正困难的通常不是完成一次 API 调用,而是让结果可以校验、失败可以定位、后续能够回到原始证据。本文围绕“如何汇总公告和网页内容,并让摘要、关键词与情感结果保持可追溯”给出一套可以直接落到任务状态和数据契约上的实现方式。

问题与结果

简报中的每条摘要都关联来源 URL、正文哈希、发布时间和生成版本,来源失败时不生成内容。

最终交付不是一段不可追溯的模型回答,而是一组带来源、版本、状态和失败记录的数据。这样既方便接入后续系统,也能在接口、页面或模型输出变化时定位问题。

适用场景

  • 公司公告与行业新闻简报
  • 主题资料持续跟踪
  • 研究团队晨报素材整理

实现前先确定边界

  1. 公告和媒体文章使用不同来源类型
  2. 先保存正文证据,再运行摘要和标签
  3. 重复内容按来源与正文哈希去重

可验证工作流

投研简报如何保留原始出处工作流架构图

API 编排与职责

步骤 接口 请求方式 用途
港股公告 港股上市公司公告 GET 获取港股上市公司公告
公众号文章 公众号头条文章 GET 获取公众号文章来源;当前没有可验证的公开详情页链接
技术博客 软件开发技术博文头条 GET 适合技术行业简报来源
正文抓取 获取任意链接文章正文 POST 从 URL 抽取正文内容
文章抽取 文章抽取信息化 JSON POST 生成更结构化的文章信息
文本摘要 文本多语言 AI 摘要 POST 生成简报摘要
关键词 多语言长文本 AI 关键字提取 POST 提取主题词
情感分析 多语言文本 AI 情感分析 POST 判断内容倾向

最小可运行实现

获取港股公告:

curl -G "https://api.gugudata.com/stock/hk/bulletin" \
  --data-urlencode "appkey=YOUR_APPKEY" \
  --data-urlencode "symbol=00700"

抓取任意链接正文:

curl -X POST "https://api.gugudata.com/news/fetchcontent?appkey=YOUR_APPKEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/news/article"
  }'

生成摘要:

curl -X POST "https://api.gugudata.com/ai/text-summarize?appkey=YOUR_APPKEY&lang=zh-cn&streaming=false" \
  -H "Content-Type: application/json" \
  -d '{
    "textContent": "这里放入正文内容",
    "streaming": false
  }'

Agent 可以先做来源去重:

from hashlib import sha256

def source_fingerprint(title: str, url: str) -> str:
    """Build a stable fingerprint for report source dedupe."""
    normalized = f"{title.strip()}|{url.strip()}".lower()
    return sha256(normalized.encode("utf-8")).hexdigest()

简报结构设计

投研简报不应该只是若干摘要拼接。建议结构如下:

区块 内容
今日重点 按影响程度排列的 3 到 5 条内容
公司动态 公告、财报、重大事项
行业主题 关键词聚合后的行业变化
情绪变化 正负面内容比例和重点来源
来源索引 原始链接、发布时间、处理时间

这样输出既能快速阅读,也能回到来源复核。Agent 不应隐藏来源,也不应把不同来源的观点混成一个未经验证的事实。

失败分类与降级

如果某个 URL 抓取失败,应保留失败状态和来源,不要让模型根据标题补正文。如果摘要接口失败,可以先保存正文,稍后重试摘要。对于重复内容,应合并来源,不要重复进入简报。

当情感分析和人工判断不一致时,情感标签应作为辅助指标,而不是自动决定内容是否进入报告。

数据契约与留痕

建议至少保存以下字段;真实项目可以继续拆分,但不要删除来源、版本和状态信息。

字段 作用
item_id 稳定业务标识,用于关联记录并避免名称冲突
source_type 原始来源或原始响应,供后续复核
source_url 来源或目标 URL,保留最终跳转前后的差异
published_at 带时区的采样或生成时间,判断数据新鲜度
content_hash 内容哈希,用于完整性校验、版本识别和去重
summary 派生结果,必须关联输入版本与生成时间
keywords 业务数据字段,保存时记录来源、口径和缺失状态
sentiment 业务数据字段,保存时记录来源、口径和缺失状态

所有派生结果都应带生成时间和输入版本。发生重试时新增尝试记录,不要覆盖最后一次失败,以免排查时只剩“最终成功”而看不到中间问题。

验收清单

  • [ ] 每条简报都能打开或定位原始来源
  • [ ] 转载和重复正文可识别
  • [ ] 生成结论与原文事实明确分离

能力边界

自动摘要可能遗漏语境,情感标签也不代表市场影响;简报不构成投资建议。

示例中的 YOUR_APPKEY 仅为占位符。真实密钥只能放在服务端环境变量或密钥管理系统中,不应进入前端、文章、日志或版本库。

EOF

转载须以超链接形式标明文章原始出处和作者信息

微信公众号二维码