背景
在信息爆炸的时代,及时获取有价值的资讯至关重要。虽然市面上已有各类新闻 APP 和信息渠道,但它们主要服务于大众群体,难以完全契合个人的特定需求。如果可以根据自己的兴趣定制专属的新闻获取器,将是一件非常有价值的事情。
传统的定制方案往往需要较高的技术门槛,但大语言模型(LLM)的出现降低了这一门槛。模型能够抽象复杂的处理流程,挖掘更本质的策略,使得开发者既能保持方案的简洁性,又能获得高质量的信息筛选能力。
本文旨在介绍如何利用大模型编排工具搭建一个具备以下能力的新闻小助手:
- 新闻获取:根据用户需求搜索并整理新闻资讯。
- 内容处理:对新闻进行摘要、解读和分类。
- 可视化汇总:将多类新闻以思维导图形式呈现。
- 语音播报:朗读用户感兴趣的新闻内容。
- 深度解析:基于原文和关键词检索进行结构化分析。
本文将使用字节跳动的'扣子'(Coze)平台作为实现载体,结合其工作流编排能力和丰富的插件生态,展示如何快速构建此类应用。
实现步骤
1. 创建 Bot
进入扣子平台后,点击'创建 Bot'。为应用设置清晰的名字和描述,例如'个人新闻助手',以便后续管理。点击下一步即可进入配置界面。
在此阶段,建议明确 Bot 的核心功能定位,这将有助于后续提示词(Prompt)的编写和工作流的规划。
2. Bot 工作流构建
A. 设定人设与逻辑编排
首先需要在系统提示词中定义助手的角色。例如,可以设定两个核心角色:'新闻提供者'负责检索和整理,'新闻可视化专家'负责生成思维导图结构。
具体的指令可以参考以下逻辑:
- 接收用户输入的时间范围和主题。
- 判断意图是查询新闻还是查看可视化结果。
- 调度相应的工作流分支。
B. 选择调度模型
扣子平台目前提供了多个模型选项,如豆包、千问-max、Minmax6.5 等。由于工作流涉及较长的上下文和复杂的指令遵循,建议选择指令长度支持较好且逻辑能力较强的模型。例如 Minmax6.5s 4k 版本在处理复杂任务时表现较为稳定。
C. 构建分支工作流
为了实现不同功能的解耦,建议构建两个独立的工作流分支:
- 新闻检索工作流:负责数据获取和初步清洗。
- 新闻可视化工作流:负责数据格式转换和图表生成。
3. 新闻检索工作流
该工作流包含四个关键工序:
- 时间推导:获取当前时间,根据用户输入的相对时间(如'最近一周')推算出精确的查询时间段。
- Query 优化:利用大模型分析用户的自然语言查询,生成适合搜索引擎或新闻 API 的结构化检索词。
- 插件调用:调用新闻类插件(如头条新闻、搜狐新闻等)执行实际检索。也可以集成 Bing、Google 等通用搜索插件。
- 内容加工:将检索到的原始新闻通过大模型进行格式化,提取标题、URL、摘要及简要解读。
检索 Query 生成 Prompt 示例
任务:生成包含用户输入的时间和问题的检索词。
1. 解析输入的时间格式(YYYY-MM-DD HH:MM:SS),例如 "2024-05-28 06:57:21"。
2. 根据输入时间推算出目标时间段,例如推算出一周内的时间段为 "2024-05-21 至 2024-05-28"。
3. 组合用户的 query 和推算出的时间段生成检索词。
示例:
输入时间:"2024-05-28 06:57:21"
用户输入的 query:
任务步骤:
解析输入时间 →
推算 周时间段 →
生成检索词 →
请根据以上步骤生成检索提示词:
检索词:
用户输入:当前日期是{{current}},用户输入的时间{{day}};用户输入的 query 是{{query}}
只输出 [推算出的时间段] 用户输入的 query


