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

背景

信息快速增长的时代,及时获取到有价值的资讯是一件很必要的事情。已经有各类新闻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}}
只输出[推算出的时间段] 用户输入的query

新闻简单加工和格式化prompt设置:

请从下面的用户输入中提取并格式化每条新闻的名称、url,并判断新闻属于什么类。要求如下:
1. 将每条新闻单独列出,名称、url和类别分别输出。
2. 新闻名称:直接摘录内容,不需要做任何改动。
3. url:从提供的链接中提取,不需要修改。
4. 类别判断:根据新闻简介内容,判断其主要涉及的关键词。例如,如果新闻涉及健康、医学研究,判断其为“健康”。如果涉及宇宙、天文,判断其为“天文”。
5.输出的新闻标题,基于summary提取,不要用输入的"title"
6.并对每条新闻作出解读
7. 根据输入格式化并分类新闻条目,最终结果以 JSON 格式输出。
示例输入:

sitename : williamzhang51
summary : 1. 脑损伤揭示慷慨路径:一项研究表明,腹内侧前额叶皮层(vmPFC)在我们的帮助他人的意愿中起着关键作用。2. 微塑料入侵:新墨西哥大学的研究人员在人体和犬类的睾丸组织中发现了微塑料,提出了对生殖健康的担忧。3. 哈勃探索宇宙奇观:哈勃望远镜探索了处于处女座星系团的棒状螺旋星系NGC 4731,展示了其详细的颜色和结构。4. 新型冠状病毒可能引发下一次大流行:5. NASA的欧罗巴探测器准备发射:6. 纳米级3D映射揭示大脑结构革命性见解:7. 量子计算进展:8. 绿色科技:9. 平台工程:
title : 2024年5月28日科技新闻 1
url : http://m.toutiao.com/group/7373817664730300978/

示例输出:

[
{
“title”: “脑损伤揭示慷慨路径”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “健康”,
“新闻解读”:“脑损伤揭示慷慨路径: 一项研究表明,腹内侧前额叶皮层(vmPFC)在我们的帮助他人的意愿中起着关键作用。”
},
{
“title”: “微塑料入侵”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “健康”,
“新闻解读”:微塑料入侵: 新墨西哥大学的研究人员在人体和犬类的睾丸组织中发现了微塑料,提出了对生殖健康的担忧。"
},
{
“title”: “哈勃探索宇宙奇观”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “天文”,
“新闻解读”:“哈勃探索宇宙奇观: 哈勃望远镜探索了处于处女座星系团的棒状螺旋星系NGC 4731,展示了其详细的颜色和结构。”
},
{
“title”: “新型冠状病毒可能引发下一次大流行”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “健康”,
“新闻解读”:“新型冠状病毒可能引发下一次大流行”
},
{
“title”: “NASA的欧罗巴探测器准备发射”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “天文”,
“新闻解读”:“NASA的欧罗巴探测器准备发射”
},
{
“title”: “纳米级3D映射揭示大脑结构革命性见解”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “科学技术”,
“新闻解读”:“纳米级3D映射揭示大脑结构革命性见解”
},
{
“title”: “量子计算进展”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “科学技术”,
“新闻解读”:“量子计算进展”
},
{
“title”: “绿色科技”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “环境”,
“新闻解读”:“绿色科技”
},
{
“title”: “平台工程”,
“url”: “http://m.toutiao.com/group/7373817664730300978/”,
“category”: “技术”,
“新闻解读”:“平台工程”
}
]

用户输入{{input1}}、{{input2[0]}}

4.新闻可视化工作流image.png

包括两道工序:
a.把检索回来已经简单加工的新闻资讯做进一步的加工,适配treemind呈现格式
b.把大模型进一步加工好的数据输入给插件“TreeMind”来做可视化
大模型加工这边选择是Minmax6.5s(256k),指令如下:

Generate a mind map in xmind format from the following data. The mind map should be organized with top-level nodes as categories and under each category, include the articles as sub-nodes with their titles and URLs:Data:
[{"category":"健康","title":"脑损伤揭示慷慨路径","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"健康","title":"微塑料入侵","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"天文","title":"哈勃探索宇宙奇观","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"健康","title":"新型冠状病毒可能引发下一次大流行","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"天文","title":"NASA的欧罗巴探测器准备发射","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"科学技术","title":"纳米级3D映射揭示大脑结构革命性见解","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"科学技术","title":"量子计算进展","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"环境","title":"绿色科技","url":"http://m.toutiao.com/group/7373817664730300978/"},{"category":"技术","title":"平台工程","url":"http://m.toutiao.com/group/7373817664730300978/"}
]The mind map should look like this:- 健康
- Title: 脑损伤揭示慷慨路径
URL: http://m.toutiao.com/group/7373817664730300978/
- Title: 微塑料入侵
URL: http://m.toutiao.com/group/7373817664730300978/
- Title: 新型冠状病毒可能引发下一次大流行
URL: http://m.toutiao.com/group/7373817664730300978/
- 天文
- Title: 哈勃探索宇宙奇观
URL: http://m.toutiao.com/group/7373817664730300978/
- Title: NASA的欧罗巴探测器准备发射
URL: http://m.toutiao.com/group/7373817664730300978/
- 科学技术
- Title: 纳米级3D映射揭示大脑结构革命性见解
URL: http://m.toutiao.com/group/7373817664730300978/
- Title: 量子计算进展
URL: http://m.toutiao.com/group/7373817664730300978/
- 环境
- Title: 绿色科技
URL: http://m.toutiao.com/group/7373817664730300978/
- 技术
- Title: 平台工程
URL: http://m.toutiao.com/group/7373817664730300978/用户输入:{{input}}

TreeMind对信息可视化结果如下:
image.png
或者如下:
image.png
最终模型执行结果如下,可以让机器给你读新闻,可以实现xmind可视化、可以设定每天定时给你推送加工好的新闻。后面如果要做深度解读可以再加一条链路。
image.png
根据你自己需要按上面格式输入你想看的周期类别的新闻。
image.png
可以点选朗读,让机器给你读新闻,如果你不想自己点也可以设定自动读。输入“新闻可视化”实现新闻的xmind格式呈现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/334276.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python练习题-反转一个只有三位数的整数

【问题描述】&#xff1a;反转一个只有三位数的整数 [示例]&#xff1a;123 321 完整代码如下&#xff1a; nint(input()) if n<100 or n>999: print("请输入三位数&#xff01;") else: gen%10 shin//10%10 bain//100 m100*ge10*shibai…

瓦罗兰特账号怎么注册 瓦罗兰特延迟高用什么加速器

《瓦罗兰特》&#xff08;Valorant&#xff09;是由拳头游戏&#xff08;Riot Games&#xff09;开发并发行的一款免费的多人在线第一人称射击游戏&#xff08;FPS&#xff09;&#xff0c;它结合了传统的硬核射击机制与英雄角色的能力系统&#xff0c;为玩家提供了独特的竞技体…

5.28 学习总结

一.CSS学习(一) 一、CSS简介 1、什么是CSS CSS&#xff1a;Cascading Style Sheet 层叠样式表是一组样式设置的规则&#xff0c;用于控制页面的外观样式 2、为什么使用CSS 实现内容与样式的分离&#xff0c;便于团队开发样式复用&#xff0c;便于网站的后期维护页面的精确…

B站广告推广引流哪里能做?

哔哩哔哩&#xff08;B站&#xff09;作为国内领先的年轻人文化社区与视频平台&#xff0c;其独特的二次元文化氛围和高度活跃的用户群体&#xff0c;成为了众多品牌寻求突破、触达年轻消费群体的理想阵地。在这样一个充满活力但又竞争激烈的平台上有效推广&#xff0c;吸引并留…

ARM架构与分类

ARM架构&#xff0c;曾称进阶精简指令集机器&#xff08;Advanced RISC Machine&#xff09;更早称作Acorn RISC Machine&#xff0c;是一个32位精简指令集&#xff08;RISC&#xff09;处理器架构。 主要是根据FPGA zynq-7000的芯片编写的知识思维导图总结&#xff0c;没有会…

Java学习四

Random 随机数 数组 静态初始化数组 数组在计算机中的基本原理 数组的访问 什么是遍历 数组的动态初始化 动态初始化数组元素默认值规则 Java内存分配介绍 数组在计算机中的执行原理 使用数组时常见的一个问题 案例求数组元素最大值 public class Test1 {public static void ma…

白酒:产地的水资源与酿酒工艺的关联性

云仓酒庄豪迈白酒的酿造过程中&#xff0c;水资源与酿酒工艺之间存在着密切的关联性。水是白酒酿造的重要原料之一&#xff0c;其质量和数量直接影响着酿酒工艺的实施和酒的品质。下面我们和云仓酒庄豪迈白酒来深入探讨一下&#xff0c;产地的水资源如何与酿酒工艺产生关联。 首…

YOLOv8+PyQt5动物检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

1.猫狗猴检测YOLOv8&#xff08;https://mbd.pub/o/bread/mbd-ZpaTl51u&#xff09;_哔哩哔哩_bilibili 资源包含可视化的动物检测系统&#xff0c;基于最新的YOLOv8训练的动物检测模型&#xff0c;和基于PyQt5制作的可视化动物检测系统&#xff0c;包含登陆页面、注册页面和检…

嵌入式UI开发-lvgl+wsl2+vscode系列:2、label(标签)+button(按钮)+slider(滑块)控件熟悉及其示例demo运行

文章目录 一、前言二、常见控件示例demo模拟环境运行及接口熟悉&#xff08;重要&#xff09;如何修改示例main函数测试各种示例1、label示例1.1、label示例1&#xff08;标签基础示例&#xff09;1.2、label示例2&#xff08;标签带阴影效果&#xff09;1.3、label示例3&#…

趣店集团golang一面要个20K,Channel什么情况下会出现死锁,有遇到过吗?

结束后面试官加了VX&#xff0c;并询问方便二面的时间&#xff0c;一直还没回复&#xff0c;拖着拖着给忘啦... 面试题 1、自我介绍 2、你在团队里头负责哪一块&#xff0c;这个物流开放平台流量多大 3、为什么今年3月份被从物流开放团队转到了finance财务部门&#xff0c;感…

什么是GPT-4o,推荐GPT-4o的获取使用方法,使用GPT4o模型的最新方法教程(2024年5月16更新)

2024年5月最新GPT-4o模型使用教程和简介 2024年5月最新GPT-4o模型使用教程和简介 2024 年 5 月 13 日&#xff0c;openai 发布了最新的模型 GPT4o。 很多同学还不知道如何访问GPT-4、GPT-4 Turbo和GPT-4o等模型&#xff0c;这篇文章介绍如何在ChatGPT中访问GPT-4o&#xff0…

华为WLAN实验继续-2,多个AP如何部署

----------------------------------------如果添加新的AP&#xff0c;如何实现多AP的服务----------- 新增加一个AP2启动之后发现无法获得IP地址 在AP2上查看其MAC地址&#xff0c;并与将其加入到AC中去 打开AC&#xff0c;将AP2的MAC加入到AC中 sys Enter system view, re…

springboot项目war包部署到腾讯云服务器

一、购买服务器 试用 1 个月&#xff08;需要实名和人脸验证&#xff09; 云产品免费体验馆_云产品免费试用_个人云产品试用-腾讯云 重置密码 登录以后 二、云服务器安装MySql 登录后&#xff0c;接下来的一切我们使用linux命令来操作。 1、卸载centos默认安装的mariadb rp…

关于解决Qt在安装的时候没有勾选sources组件的方法

关于解决Qt在安装的时候没有勾选sources组件的方法 一、引言 在安装数据库连接到qt的时候发现没有sources文件夹&#xff0c;原来是安装的时候没有勾选sources组件&#xff0c;发现问题后找到了维护qt组件的安装方式&#xff0c;特此记下来 二、分析原因 首先在安装的时候就…

基于单片机的自行车里程监测系统的设计

摘 要 &#xff1a;本设计是一种基于单片机的自行车里程监测系统&#xff0c;采用 STC89C52RC 单片机为核心处理芯片&#xff0c;液晶显示器使用 LCD1602 &#xff0c; 速度测量使用霍尔传感器&#xff0c;温度传感器使用 DS18B20 &#xff0c;时间由时钟芯片 DS1302 进行…

C# yolov8 TensorRT Demo

C# yolov8 TensorRT Demo 目录 效果 说明 项目 代码 下载 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll&#xff0c;TensorRtExtern源码地址&#xff1a;https://githu…

ARTS Week 31

Algorithm 本周的算法题为 1556. 千位分隔数 给你一个整数 n&#xff0c;请你每隔三位添加点&#xff08;即 "." 符号&#xff09;作为千位分隔符&#xff0c;并将结果以字符串格式返回。 示例 1&#xff1a;输入&#xff1a;n 123456789输出&#xff1a;"123.…

眼底项目经验

眼底项目经验 可解释性不足问题眼底项目有多牛逼可解释性不足解法数据、算力、算法都免费送不仅预测当下&#xff0c;还能预测未来和慢病管理整合&#xff0c;形成一个实时健康检测生态 可解释性不足问题 今天下午和腾讯眼底项目人员讨论, 他们不准备做全身性的多疾种, 因为深…

网络业务创新驱动下的DPU P4技术,中科驭数在网络开源技术生态大会上分享最新进展

2024年5月25日&#xff0c;由中国通信学会指导&#xff0c;中国通信学会开源技术专业委员会、江苏省未来网络创新研究院主办的第四届网络开源技术生态大会在北京举办&#xff0c;中科驭数产品总监李冬以《合作如兰&#xff0c;扬扬其香 中科驭数助力P4产业发展与生态建设》为主…

package.json中peerDependencies的使用场景

文章目录 peerDependencies 的使用场景peerDependencies 的使用案例为什么使用 peerDependencies需要注意的事项主要作用 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮儿的个人主页 &#x1f3d9;️ 个人社区&#xff0c;欢迎你的加入&#xf…