技术博客
新闻媒体如何集成生成文章摘要?从稿件到要点提炼的全链路

新闻媒体如何集成生成文章摘要?从稿件到要点提炼的全链路

作者: 万维易源
2026-09-02
生成文章摘要新闻媒体内容中台稿件摘要集成方案
# 新闻媒体如何集成生成文章摘要?从稿件到要点提炼的全链路 > 接口 961-1 · 免费(受使用档次限制) · 请求方式 POST/GET · 返回格式 JSON · 适用人群:媒体技术、产品经理、全栈工程师 · 阅读时间:约 8 分钟 ## 核心要点 - 典型链路:稿件入库 → 触发摘要 → 存 `list` → 前端展示要点列表。 - 用 `num` 控制详略:列表页用少条(如 3),详情页可用多些。 - 免费接口每次从额度扣 1 次,批量稿件要做限流与配额管理。 ## Why:媒体为什么需要它 编辑每天面对大量稿件,读者又没耐心读长文。把正文自动压成 3~5 条要点,既能做稿件导读、资讯快报,也能喂给推荐位和推送标题。接口免费、调用简单,适合作为内容中台的一个轻量预处理器。 ## What:接口速览 | 项目 | 说明 | |------|------| | 接口地址 | `https://route.showapi.com/961-1?appKey={your_appKey}` | | 接入点 | `961-1` | | 返回 | `showapi_res_body.list`(摘要字符串数组) | | 计费 | 免费,受使用档次限制(每次扣 1 次额度) | ## How:全链路设计 ### 数据表设计 ```sql -- 稿件表增加摘要字段 ALTER TABLE article ADD COLUMN summary_list JSON NULL COMMENT '生成文章摘要返回的 list'; ALTER TABLE article ADD COLUMN summary_status TINYINT NOT NULL DEFAULT 0 COMMENT '0待生成 1成功 2失败'; ``` ### 触发与调用(Python) ```python import requests, json APPKEY = "YOUR_APPKEY" def gen_summary(text: str, num: int = 3) -> list: resp = requests.post( "https://route.showapi.com/961-1", params={"appKey": APPKEY}, data={"text": text, "num": str(num)}, headers={"content-type": "application/x-www-form-urlencoded"}, timeout=30, ) data = resp.json() if str(data.get("showapi_res_code")) != "0": raise RuntimeError(data.get("showapi_res_error")) body = data["showapi_res_body"] if str(body.get("ret_code")) != "0": raise RuntimeError(f"业务失败 ret_code={body.get('ret_code')}") return body["list"] # 字符串数组 ``` ### 前端展示要点列表 ```html <ul id="summary"></ul> <script> fetch('/api/article/123') .then(r => r.json()) .then(a => { const ul = document.getElementById('summary'); (a.summary_list || []).forEach(t => { const li = document.createElement('li'); li.textContent = t; ul.appendChild(li); }); }); </script> ``` > 展示前判空:`list` 可能为 0 条或少于 `num`(短稿件信息点不足),前端需有「暂无要点」兜底。 ## 返回示例与解析 ```json { "showapi_res_code": 0, "showapi_fee_num": 1, "showapi_res_body": { "ret_code": "0", "list": ["提升学习效率", "AI带来的不仅是效率提升", "在制造领域"] } } ``` ## 进阶 / 边界 - **异步化**:大批量稿件不要同步阻塞,建议稿件入库后丢消息队列,由消费者异步调用并回写 `summary_list`。 - **配额管理**:免费额度有限,批量跑前先估算稿件数 × 1 次/篇,避免超额;超额需购资源包。 - **短稿兜底**:信息量低的稿件返回条数少,UI 上用「全文导读生成中 / 暂无要点」占位,不要报错。 ## FAQ **Q1:一篇稿子调用一次还是多次?** A:一次请求即可得到 `num` 条要点;不要为同一篇稿子重复调用,避免浪费免费额度。 **Q2:列表页和详情页要点数量不同怎么处理?** A:以一次调用存库的 `list` 为准,前端按需截取前 N 条展示,不必多次调用。 **Q3:稿件更新了,摘要要重算吗?** A:正文变更后建议把 `summary_status` 置回「待生成」并重新调用,保证要点与正文一致。 **Q4:`list` 顺序有规律吗?** A:按接口提炼顺序排列,通常对应原文信息重要度,展示时按原序即可。 **Q5:免费额度不够跑全站历史稿件怎么办?** A:分批跑、只处理近 N 天稿件,或购买资源包后继续;详见 [免费 API 说明](https://www.showapi.com/free-api)。 ## 相关能力 / 下一步阅读 - [长文与批量摘要处理:超时、限流与免费配额的最佳实践](https://www.showapi.com/guides/article-summary-batch-961) - [生成文章摘要参数详解:text 与 num 的正确用法](https://www.showapi.com/guides/article-summary-params-guide-961) - **本系列共 8 篇**:查看[生成文章摘要指南总目录](https://www.showapi.com/guides/article-summary-guides-961)