首页 / 开放能力 / 选题打分 API

选题打分 API

按账号定位对候选内容做四维打分(时效性 / 相关度 / 可口播性 / 差异化),自动剔除禁用题材并做同事件去重。

POST /v1/topics/rank v1 免费额度 · 申请制

快速开始

替换 YOUR_KEY 为你申请到的 Key,直接发起首个请求:

# 提交候选池,选出今天要做的 N 条
curl -X POST https://skyaibi.com/v1/topics/rank \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label": "企业AI落地日报",
       "positioning": "把 AI 领域新进展翻译成企业能用上的话",
       "banned_topics": ["政治敏感", "娱乐八卦"],
       "candidates": [{"title": "…", "url": "https://…",
                       "published": "2026-10-04 09:20", "body": "正文全文…"}],
       "want": 4}'

# 响应
{"ok": true,
 "selected": [{"index": 3, "event": "某公司被收购",
               "angle": "从外包预算角度切入",
               "score": {"timeliness": 8, "relevance": 9,
                         "speakability": 8, "differentiation": 7},
               "has_body": true, "body_chars": 862}],
 "rejected": [{"index": 0, "reason": "与账号定位不符"}]}
示例参数为示意,正式字段与枚举值以 OpenAPI 3.1 规范为准(下方可下载,可直接导入 Apifox / Postman)。

鉴权与调用约束

  • 单次候选上限 300 条;实际送入模型打分的前 45 条,请把最有时效性的排在前面
  • 候选的 body 字段(正文全文)是打分质量的关键:有正文(≥200 字)的条目会被优先推荐,并在响应中以 has_body / body_chars 标出——下游写稿依赖正文,正文缺失会导致内容无事实依据
  • 模型会为每条入选项输出 event(≤12 字的事件概括),可用于同事件合并与跨批次去重
  • 禁用题材(banned_topics)为硬门槛,命中直接剔除,不会进入打分比较
  • 限频规则:免费额度内默认 10 次/分钟,超限返回 429

接口清单

方法路径说明
POST/v1/topics/rank四维打分,返回入选与淘汰清单
GET/v1/topics/dimensions获取评分维度定义与权重说明

错误码

code含义处理建议
40001无效 API Key检查 X-API-Key 是否正确、是否已开通
40002免费额度用尽升级套餐或联系商务扩容
422参数缺失/不合法按错误信息中 field 字段修正请求体
429触发限频降低调用频率,参考 Retry-After 响应头
500服务内部错误稍后重试,持续失败请联系我们
422candidates_empty候选列表为空或超过 300 条

规范与申请

FAQ

常见问题

打分维度是怎么定的?

四维:时效性(越新越好,超 48 小时明显减分)、相关度(与账号定位和偏好选题的契合度)、可口播性(能否用 30-45 秒讲清、有无具体事实与数字支撑)、差异化(硬资讯还是转载炒冷饭)。四维等权综合,不是简单加总。

同事件去重是怎么做的?

不靠标题字面相似度——实测中文标题同义改写后共享连续字极少,正负样本相似度会完全重合。改用模型输出的 event 标签做语义判定,确定性、可解释、无需调参。

为什么要把有正文的条目排前面?

这是从实战里总结的门禁。同一条新闻常有多个来源,短讯没有正文。如果选中短讯,下游写稿只能靠标题+摘要发挥,一旦发布就是编造事实。所以本接口在打分结果里明确标注正文可用性,让下游能拦住这类风险。