3.3 KiB
3.3 KiB
通用问答-文档总结-Summarize
适用场景
当 query 包含“总结一下、概括、提炼、分析这个、这篇文章、这个网页、这个文档、屏幕上的内容”等表达时,容易在 文档总结、Summarize()、QA()、文本创作、图片问答 之间混淆。
候选集合
文档总结:旧 tag 或 Agent 包装候选。Summarize():function program,适合已经确认有文档、URL 或资源对象时。QA():泛知识问答,没有可总结资源,或用户问的是开放知识。文本创作/Generate(object=Text):用户不是要求总结已有内容,而是要求生成新文本、评论、文案、文章。VisionQA():用户问题依赖图片、屏幕、拍照或视觉指代,且不是明确文档/URL 总结。
决策顺序
- 先判断是否存在可总结资源:
- 明确文档、网页、URL、附件、屏幕文章、图片形式的文档。
- 多轮上下文里上一轮刚上传或打开了资源。
- 如果有资源,再判断资源类型:
- 文档:
x0=Resource(type="DOC")+Summarize(object=x0)。 - URL/网页:
x0=Resource(type="URL")+Summarize(object=x0)。 - 未知资源但明确“总结一下”:可以使用
Summarize(),并在结果中标注资源待系统补全。
- 文档:
- 如果没有资源,只是问知识:
- “总结一下红楼梦”:通常是
QA(),不是文档总结。 - “介绍一下孔乙己”:通常是
QA()。
- “总结一下红楼梦”:通常是
- 如果用户要求基于已有内容生成新文本:
- “根据这篇文章写一段评论”:需要区分任务是否要求总结,还是创作。可以先总结资源,再进入文本创作,但最终 target 需按当前任务定义确认。
- 如果 query 依赖视觉内容:
- “屏幕上这段话是什么意思”:如果屏幕内容是文档/文章,偏
Summarize();如果是图片、图标、题目或视觉指代,偏VisionQA()。
- “屏幕上这段话是什么意思”:如果屏幕内容是文档/文章,偏
正例
| query | 推荐 |
|---|---|
| 总结一下这个文档 | x0=Resource(type="DOC") + Summarize(object=x0) |
| 这个网页讲了什么 | x0=Resource(type="URL") + Summarize(object=x0) |
| 总结一下 | Summarize(),资源由上下文或系统补全 |
| 总结一下这篇论文的核心观点 | Summarize(),如果已知是文档则补 Resource(type="DOC") |
反例
| query | 不应给 | 推荐 |
|---|---|---|
| 总结一下红楼梦 | Summarize() |
QA() |
| 孔乙己这篇文章主要讲什么 | 无上下文资源时不要强行文档总结 | QA() |
| 写一段关于这篇文章的朋友圈文案 | 单纯 Summarize() |
需要确认是否文本创作,或先总结再生成 |
| 这个图标是什么意思 | Summarize() |
VisionQA() 或图片问答 |
输出建议
- 如果当前任务使用 function program,优先输出
Summarize()或 object +Summarize(object=x0)。 - 如果当前任务仍使用旧 tag,使用
Agent(tag="文档总结")前必须确认这批数据要求 Agent 包装。 - 如果只是“总结一下某个知识实体”,不要因为出现“总结”两个字就给
Summarize()。
仍需确认
- 资源是否真实存在,还是用户只是问一个知识实体。
- 当前数据集 target 要求是 function program、intent,还是
Agent(tag="xxx")。