我讓gpt4o給我推薦了一千多次書 得到了這些數據

??事情是這樣的,我們公司不是有個讀書小組嘛,但是今年大家都忙于工作,忽視了讀書這件事,所以我就想著搞個群機器人,讓它明天定時向群里推薦一本書,用來喚起大家對讀書的興趣。但在調試的過程中就發現gpt4o老喜歡推薦同樣的幾本書,這可就勾起我的好奇心了,是不是gpt4o就只知道推薦那幾本,正好周末有空,我就斥巨資調用gpt4o的接口讓它給我推薦書,調用1000次+,發現gpt4o最喜歡的書是…… 具體讓我們來看下推薦結果的簡單分析。

TOP20

??首先我們直接看下Top20推薦書及其所占推薦比例:
在這里插入圖片描述

??排名前三的分別是《百年孤獨》《人類簡史:從動物到上帝》《殺死一直知更鳥》,前三的推薦比例接近一半,尤其是第一的《百年孤獨》,在一千多次推薦中直接占有了超過25%的推薦比例,說明gpt4o是非常喜歡《百年孤獨》這本書。

??從上圖中也可以看到,推薦比例前20的書都是一些很知名的書,我自己的話僅有其中6本沒有看過,說來慚愧排名第一的《百年孤獨》我自己收藏了一本紙質版,但一直都沒看進去過,之前晚上傳把里面任務的名字換成鄉村愛情里角色的名字有利于閱讀,不知道是真是假。 扯遠了,gpt4o推薦排前二十書還是很推薦閱讀的。

TOP50

??這里我也順便將推薦排名前50的書及推薦次數列在下面,當然在總的1608次推薦里,gpt4o一共推薦出了200多本書,看剩下沒列出的推薦次數都是1-2次,而且有些書根本就不存在(應該是大模型幻覺),所以我這里就不再列出。

書名推薦次數
百年孤獨431
人類簡史:從動物到上帝244
殺死一只知更鳥99
槍炮、病菌與鋼鐵:人類社會的命運93
三體87
思考,快與慢78
一九八四76
追風箏的人52
小王子37
了不起的蓋茨比34
蘇菲的世界29
高效能人士的七個習慣27
戰爭與和平26
基地26
挪威的森林20
原子習慣14
如何贏得朋友與影響他人11
從優秀到卓越11
影響力9
被討厭的勇氣9
沙丘8
霍亂時期的愛情8
活著8
銀河系漫游指南7
從零到一7
成為7
2001:太空漫游7
自控力6
當下的力量6
當呼吸化為空氣6
習慣的力量5
悉達多5
老人與海5
心流:最優體驗心理學4
無人生還4
史蒂夫·喬布斯傳4
少有人走的路4
從0到14
自私的基因3
自卑與超越3
學會提問3
心態:成功的心理學3
深度工作3
窮爸爸富爸爸3
局外人3
活出生命的意義3
海伯利安3
創新者的窘境3
消失的愛人2
堂吉訶德2

統計方法

??這里公開下我的統計代碼,如果大家有興趣可以復現下,或者研究下其他LLM模型推薦的數據,這里主體用langChain實現,用到了gpt4o來推薦書,然后用了deepseek用來洗數據統計(主要是便宜),最后兩個模型總共花了20多塊錢(RMB)。

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser,JsonOutputParser
from langchain_core.runnables import RunnablePassthrough
from collections import Counter
import json
from collections import Counter
from concurrent.futures import ThreadPoolExecutor, as_completedgpt4o = ChatOpenAI(model="gpt-4o", max_tokens=1024, temperature=1)  # 這里temperature設置為1,增加返回結果的隨機性
recommend_prompt = ChatPromptTemplate.from_messages([("human", "請給我推薦一本你認為比較好的書"),]
)
recommend_chain = recommend_prompt | gpt4o | StrOutputParser()deepseek = ChatOpenAI(model="deepseek-chat",base_url = "https://api.deepseek.com", api_key = 'sk-xxxxxxxxxxxxx', max_tokens=1024, temperature=0)
book_name_prompt = ChatPromptTemplate.from_template('請從下面這段文字中提取出其中的書名,用jsonArray的形式返回,比如["百年孤獨","學會提問"],其他任何內容都不要返回。 \n\n {content}'
)
# 用deepseek將gpt4的推薦結果中的書名提取出來
composed_chain =  {"content":recommend_chain} | book_name_prompt | deepseek | JsonOutputParser()frequency_counter = Counter()
def invoke_with_catch():try:res = composed_chain.invoke({})return resexcept Exception as e:print(f"Exception occurred: {e}")return []def main():# 這里用線程池提升統計速度 with ThreadPoolExecutor(max_workers=10) as executor:  futures = [executor.submit(invoke_with_catch) for _ in range(1000)]for future in as_completed(futures):res = future.result()if res is not None:print(res)frequency_counter.update(res)if __name__ == "__main__":main()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/16222.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/16222.shtml
英文地址,請注明出處:http://en.pswp.cn/web/16222.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ACM實訓沖刺第十九天

第一套&#xff08;搞定&#xff09; #include<stdio.h> #include<string.h> int main(){int n;scanf("%d",&n);char s[100];getchar();for(int i0;i<n;i){gets(s);int cnta0,cnte0,cnti0,cnto0,cntu0;for(int i0;i<strlen(s);i){if(s[i]a){…

齒輪常見故障學習筆記

大家好&#xff0c;這期咱們聊一聊齒輪常見的失效形式&#xff0c;查閱了相關的資料&#xff0c;做個筆記分享給大家&#xff0c;共同學習。 介紹 齒輪故障可能以多種方式發生。如果在設計階段本身就盡量防止這些故障的產生&#xff0c;則可以產生改更為優化的齒輪設計。齒輪…

pytest框架用例命名規則詳解

pytest 測試用例的命名規則是為了確保 pytest 能夠正確地識別和執行測試用例。 以下是關于 pytest 測試用例命名規則的詳細解釋&#xff1a; 1 單個測試文件以‘test_’開頭或者以‘_test’結尾 比如我們創建test_case1.py case2_test.py文件。 2 單個測試文件中&#xff0c…

58. UE5 RPG AI行為樹的裝飾器

書接56. UE5 RPG 給敵人添加AI實現跟隨玩家&#xff0c;我們實現了AI一些基礎設置&#xff0c;并實現了獲取敵人附近的玩家實現了跟隨功能 接下來&#xff0c;我們將實現區分職業&#xff0c;并根據職業不同設置不同的攻擊距離&#xff0c;并且根據職業實現不同的技能施放。 …

《Effective Objective-C 2.0》讀書筆記——對象、消息、運行期

目錄 第二章&#xff1a;對象、消息、運行期第6條&#xff1a;理解“屬性”這一概念第7條&#xff1a;在對象內部盡量直接訪問實例變量第8條&#xff1a;理解“對象等同性”這一概念第9條&#xff1a;以“類族模式”隱藏實現細節第10條&#xff1a;在既有類中使用關聯對象存放自…

App推廣新境界:Xinstall助你輕松突破運營痛點,實現用戶快速增長!

在移動互聯網時代&#xff0c;App已經成為企業營銷不可或缺的一部分。然而&#xff0c;如何有效地推廣App&#xff0c;吸引并留住用戶&#xff0c;成為了眾多企業面臨的難題。今天&#xff0c;我們將為您揭秘一款神奇的App推廣工具——Xinstall&#xff0c;它將助您輕松突破運營…

繪唐3模型怎么放本地sd安裝及模型放置位置 及云端sd部署

繪唐3模型怎么放本地sd安裝及模型放置位置 及云端sd部署 資料里面授權方式&#xff1a; https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 云端和模型之間存在某種關聯性。云端通常用于存儲和管理大量數據&#xff0c;并提供計算和資源的服務。模型是對數據進…

Linux環境下TensorFlow安裝教程

TensorFlow是學習深度學習時常用的Python神經網絡框 下面以Mask R-CNN 的環境配置為例&#xff1a; 首先進入官網&#xff1a;www.tensorflow.org TensorFlow安裝的總界面&#xff1a; 新建anaconda虛擬環境&#xff1a; conda create -n envtf2 python3.8 &#xff08;Pyth…

『大模型筆記』從頭開始代碼構建GPT!

從頭開始代碼構建GPT! 文章目錄 一. 從頭開始代碼構建GPT!二. 參考文獻一. 從頭開始代碼構建GPT! 我們構建了一個生成式預訓練Transformer (GPT),遵循論文《Attention is All You Need》和OpenAI的GPT-2 / GPT-3的方法。我們討論了與ChatGPT的聯系,ChatGPT已經風靡全球。我…

Vue3學習-用 vite@latest 初始化項目后,引入模塊出現:找不到模塊 ‘@/***

引入模塊時遇到路徑錯誤 因為沒有默認配置別名&#xff0c;需要在 vite.config.ts 與 tsconfig.json 添加配置 //vite.config.ts export default defineConfig({resolve:{alias:{:path.resolve(__dirname,./src)}} })//tsconfig.json {"compilerOptions": {"b…

C# 為什么說LINQ要勝過SQL

C# 為什么說LINQ要勝過SQL 現在讓我簡潔地總結一下為什么說LINQ要勝過SQL的幾個主要原因&#xff1a; 統一編程語言&#xff1a; LINQ將查詢語言融合到編程語言中&#xff0c;使得查詢和其他業務邏輯可以在同一種編程語言中編寫&#xff0c;減少了在不同語言之間切換的復雜性&…

Vue | 自定義組件雙向綁定基礎用法

Vue | 自定義組件雙向綁定基礎用法 vue 中&#xff0c;由于單向數據流&#xff0c;常規的父子組件屬性更新&#xff0c;需要 在父組件綁定相應屬性&#xff0c;再綁定相應事件&#xff0c;事件里去做更新的操作&#xff0c;利用語法糖 可以減少綁定事件的操作。 這里就簡單的梳…

Qt 打卡小程序總結

1.Qt::Alignment&#xff08;枚舉類型&#xff09;用于指定控件或文本的對齊方式 Qt::AlignLeft&#xff1a;左對齊。Qt::AlignRight&#xff1a;右對齊。Qt::AlignHCenter&#xff1a;水平居中對齊。Qt::AlignTop&#xff1a;頂部對齊。Qt::AlignBottom&#xff1a;底部對齊。…

python表達式解析的陷阱與技巧

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言&#xff1a;表達式的復雜性 二、案例分析&#xff1a;表達式的解讀 三、陷阱揭示…

解決問題:Collecting package metadata (current_repodata.json)--faile

目錄 解決步驟&#xff1a; 1、創建pip.ini文件&#xff1a;winR對話框中復制輸入&#xff1a;%APPDATA%&#xff0c;然后回車。 2、conda添加清華源&#xff1a; 3、這些創建完&#xff0c;重啟電腦就可以創建你的虛擬環境了 4、利用鏡像源下載庫&#xff1a; 5、查看to…

AOP總結

AOP是什么 AOP是面向切面編程&#xff0c;其目的是將橫切關注點從核心業務代碼中分離出來&#xff0c;通過動態代理等方式&#xff0c;實現代碼的增強和解耦&#xff0c;使得其具有更好的可維護性和可擴展性。 其中橫切關注點是多個類或對象的公共行為&#xff0c;如事務管理…

2024寶藏工具EasyRecovery數據恢復軟件免費版本下載

在這個數字化的時代&#xff0c;數據已經成為我們生活中的重中之重。無論是工作中的重要文件&#xff0c;還是手機中珍貴的照片&#xff0c;我們都依賴著這些數據。然而&#xff0c;數據丟失的情況時有發生&#xff0c;可能是誤刪&#xff0c;可能是設備故障&#xff0c;更可能…

java-方法

在 Java 編程語言中&#xff0c;方法是一段用于執行特定任務的代碼。方法是面向對象編程&#xff08;OOP&#xff09;的基礎之一&#xff0c;因為它允許我們在對象上執行操作。在 Java 中&#xff0c;方法是類的組成部分&#xff0c;這意味著它們與類緊密相關。本解釋將涵蓋 Ja…

vue3和vite實現vue-router4版本路由的配置以及自動生成路由配置

這個是普通的手動路由配置&#xff1a;https://blog.csdn.net/weixin_68658847/article/details/130071101 自動路由配置 創建項目 npm create vitelatest my-vue-app -- --template vue // 或者 yarn create vite my-vue-app --template vue// 安裝路由 yarn add vue-route…

Ansible02-Ansible Modules模塊詳解

目錄 寫在前面4. Ansible Modules 模塊4.1 Ansible常用模塊4.1.1 Command模塊4.1.2 shell模塊4.1.3 scrpit模塊4.1.4 file模塊4.1.5 copy模塊4.1.6 lineinfile模塊4.1.7 systemd模塊4.1.8 yum模塊4.1.9 get_url模塊4.1.10 yum_repository模塊4.1.11 user模塊4.1.12 group模塊4.…