OpenAI 宣布与巴西两大媒体集团 Grupo Folha 和 Grupo UOL 达成战略合作,将它们的新闻内容引入 ChatGPT 的回答中,并附带来源归属与透明标注。这不是简单的"数据采购"——它标志着 LLM 与可信新闻源之间一种新的集成模式正在成型:模型不再只靠爬取和推断,而是有意识地绑定授权内容,并在输出中回溯出处。
从"黑箱回答"到"可溯源回答"
过去,当你在 ChatGPT 中询问"巴西最近的选举动态",模型给出的回答往往无法确认信息来源。用户要么自行搜索验证,要么干脆不信任输出。这次合作的核心变化是:ChatGPT 在涉及巴西新闻话题时,可以直接引用 Folha 或 UOL 的报道内容,并在回答中标注来源链接和出版信息。
这对开发者意味着两件事:
- 回答的可信度有了锚点——不再是模型自行拼凑的摘要,而是有明确出处的内容片段。
- 归属信息成为 API 输出的一部分——你可以从返回结果中提取来源元数据,用于构建自己的溯源链路。
归属与透明:不只是加一行"来源:Folha"
OpenAI 在公告中强调了"attribution and transparency"。具体到产品层面,这至少涉及三个维度:
- 内容归属——回答中明确标注哪段信息来自哪家媒体、哪篇报道。
- 链接回溯——提供指向原始报道的 URL,用户可以跳转阅读全文。
- 使用边界——授权内容在模型中的使用范围和方式由合同约定,而非开放爬取。
这种模式对新闻机构来说,是一种可控的内容分发渠道:内容被使用,但来源不会被抹掉。对 LLM 开发者来说,这是一个信号——未来的高质量回答,越来越依赖授权内容源,而非纯训练数据。
实践:在应用中集成带归属的新闻回答
如果你的产品需要向用户呈现带来源标注的新闻摘要,可以参考以下模式。这里用一个 Python 示例演示如何调用 OpenAI API,并在返回结果中提取和处理归属信息。
注意:当前 OpenAI API 的新闻归属功能仍在逐步推出,以下示例基于预期行为模式构建。实际字段名称和结构请以官方文档为准。
import openai
import json
from datetime import datetime
client = openai.OpenAI()
def query_brazilian_news(topic: str) -> dict:
"""查询巴西新闻话题,返回带归属的回答"""
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": (
"你是一个新闻助手。当回答涉及巴西新闻时,"
"请尽可能引用具体报道来源,并在回答末尾以 "
"JSON 格式列出归属信息,包含 source_name、"
"article_title、url、publish_date 字段。"
"格式示例:\n"
"【来源归属】\n"
'{"sources": [{"source_name": "Folha de S.Paulo", '
'"article_title": "...", "url": "...", '
'"publish_date": "2024-..."}]}'
),
},
{
"role": "user",
"content": f"请介绍最近关于{topic}的巴西新闻报道要点。",
},
],
temperature=0.3, # 新闻类回答降低随机性
)
raw_text = response.choices[0].message.content
# 分离正文与归属信息
parts = raw_text.split("【来源归属】")
answer_text = parts[0].strip() if parts else raw_text
attribution = {}
if len(parts) > 1:
try:
attribution = json.loads(parts[1].strip())
except json.JSONDecodeError:
attribution = {"raw": parts[1].strip(), "parsed": False}
return {
"answer": answer_text,
"attribution": attribution,
"queried_at": datetime.now().isoformat(),
"topic": topic,
}
# 使用示例
result = query_brazilian_news("巴西2024年财政政策改革")
print("=== 回答 ===")
print(result["answer"])
print("\n=== 来源归属 ===")
for src in result["attribution"].get("sources", []):
print(f" 📰 {src['source_name']}: {src['article_title']}")
print(f" 🔗 {src['url']}")
print(f" 📅 {src['publish_date']}")
运行前需设置 OPENAI_API_KEY 环境变量。你可以根据实际 API 返回结构调整归属信息的解析逻辑。关键思路是:把归属信息从回答文本中结构化地分离出来,方便在你的前端界面中渲染为可点击的来源标签。
如果你要构建自己的新闻+LLM 产品
这次合作揭示的模式,对任何想把新闻内容接入 AI 产品的团队都有参考价值:
内容授权是前提
不要假设可以自由使用新闻网站的爬取数据。Folha 和 UOL 的内容进入 ChatGPT,背后是商业合同。如果你要做类似集成,第一步是和内容方谈授权——明确使用范围、归属要求、是否允许二次分发。
归属不是可选的装饰
在回答中标注来源,不只是合规要求,也是产品竞争力。用户对无来源的摘要越来越警惕,带归属的回答更容易被信任和采纳。把归属信息设计成 API 输出的结构化字段,而不是藏在文本里。
检查清单
- [ ] 是否获得了内容方的明确授权?
- [ ] 回答中是否标注了来源媒体名称和原始链接?
- [ ] 归属信息是否以结构化格式(JSON/元数据字段)可供下游解析?
- [ ] 是否设置了温度等参数来降低新闻类回答的随机性?
- [ ] 是否对过期新闻做了时间标注,避免用户误判时效性?
- [ ] 是否在 UI 中提供了跳转原始报道的入口?
写在最后
OpenAI 与 Folha、UOL 的合作不是孤例——此前已有与 AP、Axios、Le Monde 等媒体的类似协议。趋势很清晰:LLM 正从"通用知识引擎"转向"有来源的知识引擎"。对开发者来说,这意味着你需要开始思考:你的 AI 产品回答的每一条事实,用户能不能追溯它从哪里来。如果不能,现在就是补上这一环的时候。