用大模型搭建一个自己的新闻小助手

背景

信息快速增长的时代,及时获取到有价值的资讯是一件很必要的事情。已经有各类新闻app和获取信息的渠道了,为什么还需要在构建一个小助手来获取新闻资讯呢?其实原因很简单各类新闻app服务的是具体一类人群,个人和人群还是有偏差的。如果可以根据自己的需要简单的定制自己的新闻出版获取器不是一件很有意思的事吗。那么这个简单有简单到什么程度呢?为什么这么问呢,因为简单必然是要付出精度代价的。但是大模型的出现很多复杂的是变得更简单了,原因就是模型把做事流程做了抽象挖掘到更多更本质的或者更上层元策略。所以理论讲你可以既简单但又获得更多有价值的信息。
一下假设我们希望我们的新闻小助手具备几种能力(能力可分层,这一阶段有可能部分能力达不到要求)。
1.新闻获取能力:可以根据用户需要搜索到新闻,并对新闻资讯做简单整理
2.新闻摘要、解读、分类
3.可以得到的这么多类新闻做汇总可视化(比如用xmind方式成纲领)
4.可以把内容读取出来:新闻摘要、用户喜欢的新闻成篇读出
5.可以对新闻做深度解析,基于原文+关键词检索对信息作更全面的分析结构化解读(这一步到后面文章介绍)
这篇文章选择用字节开放的“扣子”编排工具来实现,DIfy、autoagent、chatglm、langflow理论上讲都可以实现。但是扣子目前提供的工具插件、以及工作流我觉得是比较容易上手的。并且很多插件是免费使用、把各种API使用需要的权限申请和配置问题解决了。所以这次实践选择用“扣子”来实现。

实现

1.创建Bot

进入扣子页面,点击“创建Bot”,给应用起好名字、做好描述,点击下一步就可以
image.png

2.Bot工作流构建

A.设定好人设与逻辑编排,这部主要是安排好助手指责、做事流程(比如我这边就是给了他两个角色:“提供新闻”、“新闻可视化”),具体要求可以参考下面图(或者可以大概让ai优化格式化指令)
b.设定流程调度的大模型,目前扣子只提供了三个选项:豆包、千问-max、minmax6.5但是长度是限制咋4k(感觉是不够用的,选择的模型效果不算事最好的),这边我是选择了Minmax6.5s 4k,豆包感觉对流程指令遵循能力不算好,千问-max给的指令长度不太够(其实千问系列有更长指令的)
c.构建两个分支工作流:新闻检索、新闻可视化

image.png

3.新闻检索工作流

image.png
这部分包括4道工序:
1.获取当前时间,根据用户需要查资讯时间推导出资讯查询周期
2.对用户的查询query分析生成适合新闻检索的query
3.用插件:“头条新闻”、“搜狐新闻”来实现新闻检索(这边你也可以用bing、百度搜索、谷歌duckduckgo、秘塔…其他插件实现,我选择的两个插件不一定是最好的)
4.对检索到的新闻用大模型做简单加工格式化,抽标题、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:"最新的科技新闻"


任务步骤:
1. 解析输入时间→"2024-05-28 06:57:21"
2. 推算1周时间段→"2024-05-21至2024-05-28"
3. 生成检索词→"2024-05-21至2024-05-28 最新的科技新闻"


请根据以上步骤生成检索提示词:
检索词:"[推算出的时间段] 用户输入的query"
用户输入:当前日期是{
   {
   current}},用户输入的时间{
   {
   day}};用户输入的query是{
   {
   query}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值