背景
信息快速增長的時代,及時獲取到有價值的資訊是一件很必要的事情。已經有各類新聞app和獲取信息的渠道了,為什么還需要在構建一個小助手來獲取新聞資訊呢?其實原因很簡單各類新聞app服務的是具體一類人群,個人和人群還是有偏差的。如果可以根據自己的需要簡單的定制自己的新聞出版獲取器不是一件很有意思的事嗎。那么這個簡單有簡單到什么程度呢?為什么這么問呢,因為簡單必然是要付出精度代價的。但是大模型的出現很多復雜的是變得更簡單了,原因就是模型把做事流程做了抽象挖掘到更多更本質的或者更上層元策略。所以理論講你可以既簡單但又獲得更多有價值的信息。
一下假設我們希望我們的新聞小助手具備幾種能力(能力可分層,這一階段有可能部分能力達不到要求)。
1.新聞獲取能力:可以根據用戶需要搜索到新聞,并對新聞資訊做簡單整理
2.新聞摘要、解讀、分類
3.可以得到的這么多類新聞做匯總可視化(比如用xmind方式成綱領)
4.可以把內容讀取出來:新聞摘要、用戶喜歡的新聞成篇讀出
5.可以對新聞做深度解析,基于原文+關鍵詞檢索對信息作更全面的分析結構化解讀(這一步到后面文章介紹)
這篇文章選擇用字節開放的“扣子”編排工具來實現,DIfy、autoagent、chatglm、langflow理論上講都可以實現。但是扣子目前提供的工具插件、以及工作流我覺得是比較容易上手的。并且很多插件是免費使用、把各種API使用需要的權限申請和配置問題解決了。所以這次實踐選擇用“扣子”來實現。
實現
1.創建Bot
進入扣子頁面,點擊“創建Bot”,給應用起好名字、做好描述,點擊下一步就可以
2.Bot工作流構建
A.設定好人設與邏輯編排,這部主要是安排好助手指責、做事流程(比如我這邊就是給了他兩個角色:“提供新聞”、“新聞可視化”),具體要求可以參考下面圖(或者可以大概讓ai優化格式化指令)
b.設定流程調度的大模型,目前扣子只提供了三個選項:豆包、千問-max、minmax6.5但是長度是限制咋4k(感覺是不夠用的,選擇的模型效果不算事最好的),這邊我是選擇了Minmax6.5s 4k,豆包感覺對流程指令遵循能力不算好,千問-max給的指令長度不太夠(其實千問系列有更長指令的)
c.構建兩個分支工作流:新聞檢索、新聞可視化
3.新聞檢索工作流
這部分包括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.新聞可視化工作流
包括兩道工序:
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對信息可視化結果如下:
或者如下:
最終模型執行結果如下,可以讓機器給你讀新聞,可以實現xmind可視化、可以設定每天定時給你推送加工好的新聞。后面如果要做深度解讀可以再加一條鏈路。
根據你自己需要按上面格式輸入你想看的周期類別的新聞。
可以點選朗讀,讓機器給你讀新聞,如果你不想自己點也可以設定自動讀。輸入“新聞可視化”實現新聞的xmind格式呈現。