本案例概要
使用的插件
| 插件名称 | 接口 / 能力 | 作用 |
|---|---|---|
| 头条搜索 | getToutiaoNews | 按关键词搜索新闻,返回新闻列表(含 url、title、summary 等)。 |
| 链接读取 | LinkReaderPlugin | 根据网页/PDF 等 url 抓取正文,返回 data.content(在批处理中对每个新闻链接调用)。 |
| iSlide | get_themes | 按关键词获取 PPT 主题列表,返回主题 id、缩略图等,用于选模板。 |
| iSlide | generate_presentation | 传入标准大纲,结合主题模板生成 PPT,返回 PPT 名称、总页数、首页图、单页缩略图等,返回 historyId |
| iSlide | download_presentation | 返回下载链接,pptx 源文件可编辑,PPT 生成后 2 小时有效 |
技术要点
- 文本处理:用「字符串拼接」节点将用户输入的行业名拼成搜索关键词(如 <code v-pre>{{theme}}行业发展现状</code>)。
- 代码节点:两处 Python 代码——① 从头条新闻列表中提取
url_list;② 从 iSlide 主题列表中取第一个主题的id作为mode_id。 - 批处理:对每条新闻的 url 批量调用「链接读取」插件抓取正文,批大小 100、并发 10,汇总后作为大模型上下文。
- 大模型:使用 DeepSeek-R1,通过系统提示词约束输出为指定 JSON 结构(PPT 大纲),便于下游 iSlide 生成 PPT。
- 结构化输出:大模型按
title / subtitle / sections / contents / items等层级输出大纲,与 iSlide 的outline格式一致。
工作流程概览
开始(theme, style)
↓
文本拼接 → "{{theme}}行业发展现状"
↓
头条搜索 getToutiaoNews → 新闻列表 news
↓
代码:从 news 提取 url_list
↓
批处理:对每个 url 调用 LinkReaderPlugin → 得到各页正文,汇总为 toutiao_content
↓
大模型(theme + toutiao_content) → 按 JSON 格式生成 outline
↓
iSlide get_themes(style) → 主题列表,代码取第一个 themeId
↓
iSlide generate_presentation(outline, themeId) → 生成 PPT,得到 historyId
↓
iSlide download_presentation(historyId) → 得到 ppt 下载链接
↓
结束:返回 ppt_link(下载链接)