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

news2024/11/20 13:17:31

背景

信息快速增长的时代,及时获取到有价值的资讯是一件很必要的事情。已经有各类新闻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.coloradmin.cn/o/1707302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT-4o和GPT-4有什么区别?我们还需要付费开通GPT-4?

GPT-4o 是 OpenAI 最新推出的大模型,有它的独特之处。那么GPT-4o 与 GPT-4 之间的主要区别具体有哪些呢?今天我们就来聊聊这个问题。 目前来看,主要是下面几个差异。 响应速度 GPT-4o 的一个显著优势是其处理速度。它能够更快地回应用户的查…

13 VUE学习:组件v-model

基本用法 v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 [defineModel()]宏&#xff1a; <!-- Child.vue --> <script setup> const model defineModel()function update() {model.value } </script><te…

还在使用Swagger吗?ApifoxHelper插件隆重登场

目录 前言 安装Apifox Idea插件安装 插件令牌配置 获取令牌 Idea配置令牌 快速上手 同步文档 查看文档 结语&#xff1a; 前言 最近发现一款特别好用的插件&#xff0c;帮助开发者快速生成接口文档。ApifoxHelper插件实现代码零侵入&#xff0c;只需要写上相应注释即可…

切勿安装这五款流氓软件,你中招了没

流氓软件&#xff0c;又称为恶意软件&#xff0c;是一类设计用来损害用户设备、窃取信息或干扰正常使用的程序。以下是五款臭名昭著的流氓软件介绍&#xff0c;提醒切勿安装&#xff0c;只能说一个比一个毒&#xff0c;你中招了没 可以去去虚拟机试试谁的毒更强一些&#xff0…

信息化教推动数字化学校建设

在数字化学校建造的过程中&#xff0c;许多学校都疏忽了运用这些网络科技渠道的教师和学生&#xff0c;一味的追求学校数字化、智能化建造&#xff0c;没有从根本上意识到教育信息化的出现者或者说体现者的重要性&#xff0c;因而&#xff0c;建造数字化学校&#xff0c;前进教…

Genzai:一款针对物联网安全的多功能实用性工具套件

关于Genzai Genzai是一款针对物联网安全的多功能实用性工具套件&#xff0c;该工具旨在识别与物联网相关的仪表盘&#xff0c;并扫描它们以查找默认密码和安全问题&#xff0c;广大研究人员可以使用该工具来检测和提升物联网设备的安全性。 Genzai支持用户以输入的形式提供一个…

【RK3288 Android10 T8pro usb hid-multitouch idc配置】

【RK3288 Android10 T8pro usb hid-multitouch idc配置】 文章目录 【RK3288 Android10 T8pro usb hid-multitouch idc配置】背景代码分析1. 读取配置文件2. 标志内外置屏幕3. 设置输入设备4. findviewport()5. 根据对应的viewport来计算相应的mapping的参数 结论 背景 T8pro …

C#中的事件聚合器实现方法

概述&#xff1a;_对象之间的关系_是使代码库难以理解和难以维护的原因。为了更好地理解它&#xff0c;我们求助于马丁福勒&#xff08;Martin Fowler&#xff09;&#xff1a;事件聚合器是间接的简单元素。在最简单的形式中&#xff0c;您可以让它注册到您感兴趣的所有源对象&…

JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(MES与ERP系统的区别和联系)

MES与ERP系统的区别和联系 MES制造执行系统&#xff0c;是一套面向制造公司车间执行层的生产信息化管理系统。MES 可觉得公司提供涉及制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心、设备管理、工具工装管理、采购管理、成本管理、项…

C++牛客周赛43题目分享(3)小红平分糖果,小红的完全平方数,小苯的字符串变化,小红的子数组排列判断

目录 ​编辑 1.前言 2.四道题目 2.1小红平分糖果 2.1.1题目描述 2.1.2输入描述 2.1.3输出描述 2.1.4示例 2.1.5代码 2.2小红的完全平方数 2.1.1题目描述 2.1.2输入描述 2.1.3输出描述 2.1.4示例 2.1.5代码 2.3小苯的字符串变化 2.1.1题目描述 2.1.2输入描述 …

Steam游戏搬砖:靠谱吗,详细版说下搬砖中的核心内容!

可能大家也比较关注国外Steam游戏搬砖这个项目&#xff0c;最近单独找我了解的也比较多&#xff0c;其实也正常&#xff0c;因为现在市面上的项目很多都很鸡肋&#xff0c;而且很多都是一片红海&#xff0c;内卷太过严重&#xff0c;所以对于Steam的关注度也高很多&#xff0c;…

CTF-web-WP-攻防世界-1

1、view_source&#xff1a;打开开发者工具F12就能看到flag 2、robots (1)、使用目录扫描工具 工具&#xff1a;dirsearch命令&#xff1a;python dirsearch.py -u http://61.147.171.105:55644/ -e * (2)、看到下面有robots.txt文件&#xff0c;在URL后面输入&#xff0c…

torch.matmul()的用法

这篇文章记录torch.matmul()的用法 这里仿照官方文档中的例子说明&#xff0c;此处取整数随机数&#xff0c;用于直观的查看效果&#xff1a; vector x vector 两个一维向量的matmul相当于点积&#xff0c;得到一个标量 tensor1 torch.randint(1, 6, (3,)) tensor2 torch.…

SYD881X HID工程重连后连接参数没有更新功耗下不来

SYD881X HID工程重连后连接参数没有更新功耗下不来 现在测试到一个问题,第一次连接上的时候过一段时间功耗会下来到100UA以内,这个是正常的,但是关掉手机蓝牙再打开手机蓝牙就发现功耗是500UA左右下不来了! 抓包发现第一次连接和重连的时候手机给的连接参数是一样的: 问题是当…

nginx设置一个TCP代理(用于RDP连接)

在 Nginx 中&#xff0c;stream 上下文必须在 http 上下文之外&#xff0c;并且只能位于顶级配置文件中或包含在主配置文件中的单独文件中。 Nginx 的配置文件通常包含一个 http 块&#xff0c;用于处理 HTTP 和 HTTPS 请求&#xff0c;但是 stream 块是独立的&#xff0c;并且…

微信好友,如此的陌生,渐渐都成了只是人名!也许没有利益关系导致!

微信里一直聊天聊的挺好的朋友&#xff0c;不知怎么到后来却联系少了&#xff0c;最后渐渐的变成躺在微信备注里的一个陌生朋友&#xff01; 以前通过工作认识了一个朋友&#xff0c;初次见面的印象不是很深刻了&#xff0c;只记得当时给我的印象是对方很有礼貌&#xff0c;特别…

段位在于面对人性之恶,一笑而过

这个小哥哥不知道是哪里不对劲了&#xff0c;突然给我留言说我在骗流量&#xff0c;骗关注。公众号是我的&#xff0c;文章是我写的&#xff0c;主要分享的就是我创业的一些接单案例&#xff0c;因为之前收到很多无效的留言&#xff0c;寻求合作就几个字我不想接收无效信息&…

【Android14 ShellTransitions】(一)开篇

说来惭愧&#xff0c;AndroidU都已经开发这么久了&#xff0c;但是我还没有整理过ShellTransition相关的知识。我本来希望能够系统的写一篇关于ShellTransition的笔记出来&#xff0c;但是发现一来这是一个比较庞大的模块&#xff0c;二来我个人能力有限&#xff0c;对ShellTra…

一文搞懂oracle事务提交以及脏数据落盘的原则

本文基于oracle 19c 做事务提交以及oracle脏数据落盘的相关解读 第一章 相关进程及组件介绍&#xff1a; 1.LGWR&#xff1a; 重做日志条目在系统全局区域 &#xff08;SGA&#xff09; 的重做日志缓冲区中生成。LGWR 按顺序将重做日志条目写入重做日志文件。如果数据库具有…

Jenkins安装启动(JDK8/11/17)

目录 传送门前言一、概念1、Jenkins是什么2、Jenkins 的安装概念图 二、下载1、下载war包&#xff08;JDK17环境推荐&#xff09;2、下载rpm安装包&#xff08;JDK8环境推荐&#xff09; 三、对应JDK8的实际安装&#xff08;Jenkins2.346.1&#xff09;1、安装指令2、Jenkins2.…