【OpenAI官方課程】第四課:ChatGPT文本推斷Summarizing

歡迎來到ChatGPT 開發人員提示工程課程(ChatGPT Prompt Engineering for Developers)!本課程將教您如何通過OpenAI API有效地利用大型語言模型(LLM)來創建強大的應用程序。

本課程由OpenAI 的Isa Fulford和 DeepLearning.AI 的Andrew Ng主講,深入了解 LLM 的運作方式,提供即時工程的最佳實踐,并演示 LLM API 在各種應用程序中的使用。

推斷

在本課程中,您將從產品評論和新聞文章中推斷情緒和主題。

設置

import openai
import osfrom dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # 讀取本地的 .env 文件openai.api_key  = os.getenv('OPENAI_API_KEY')
def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0, # 這是模型輸出的隨機程度)return response.choices[0].message["content"]

產品評論文本

lamp_review = """
我需要臥室里的一個好看的燈,這個燈還帶有額外的儲物功能,價格也不太高。
發貨速度很快。我們燈的繩子在運輸過程中斷了,公司很樂意寄給我們一個新的。
幾天內就收到了。組裝起來很容易。我缺了一個零件,所以我聯系了客服,他們很快就給我寄來了缺失的部分!
Lumina 看起來是一家很關心客戶和產品的好公司!!
"""

情緒(積極/消極)

prompt = f"""
以下產品評論的情緒是什么?
評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

產品評論的情緒是積極的。

prompt = f"""
以下產品評論的情緒是什么?
請以單個詞回答,要么是 "積極",要么是 "消極"。
評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

積極

識別情感類型

prompt = f"""
識別以下評論作者表達的情感列表。列表中不超過五項。
以逗號分隔的小寫單詞列表形式呈現你的答案。評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

高興的,滿意的,感激的,印象深刻的,滿足的

識別憤怒

prompt = f"""
以下評論作者表達了憤怒嗎?
評論用三個反引號分隔。
以 "是" 或 "否" 回答。評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

從客戶評論中提取產品和公司名稱

prompt = f"""
從評論文本中識別以下內容:評論者購買的物品
制造該物品的公司
評論用三個反引號分隔。
將你的響應格式化為一個 JSON 對象,
以 "Item" 和 "Brand" 作為鍵。
如果信息不存在,請將值設為 "unknown"。
盡可能簡潔。評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

{
“Item”: “燈”,
“Brand”: “Lumina”
}

同時執行多項任務

prompt = f"""
從評論文本中識別以下內容:情緒(積極或消極)
評論者是否表達了憤怒?(true 或 false)
評論者購買的物品
制造該物品的公司
評論用三個反引號分隔。
將你的響應格式化為一個 JSON 對象,
以 "Sentiment"、"Anger"、"Item" 和 "Brand" 作為鍵。
如果信息不存在,請將值設為 "unknown"。
盡可能簡潔。
將憤怒值格式化為布爾值。評論文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

{
“Sentiment”: “積極”,
“Anger”: false,
“Item”: “帶有額外儲物的燈”,
“Brand”: “Lumina”
}

推斷主題

story = """
最近政府進行的一項調查中,
公共部門員工被要求評價他們所在部門的滿意度。
結果顯示,NASA 是最受歡迎的部門,滿意度達到 95%。一名 NASA 員工 John Smith 對調查結果發表評論,
他說:“我對 NASA 獲得第一名并不感到驚訝。
那是一個極好的工作地方,有著出色的人才和令人難以置信的機遇。
我為能成為這樣一個創新組織的一部分感到自豪。”NASA 的管理團隊也對結果表示歡迎,
主任 Tom Johnson 表示:“我們很高興聽到我們的員工對 NASA 的工作滿意。
我們有一個才華橫溢、敬業的團隊,他們不知疲倦地工作以實現我們的目標,
看到他們的辛勤工作取得成果真是太棒了。”調查還顯示,社會安全局的滿意度最低,
只有 45% 的員工表示對工作滿意。
政府承諾解決調查中員工提出的問題,
努力提高所有部門的工作滿意度。
"""

推斷五個主題

prompt = f"""
確定以下文本中正在討論的五個主題,
文本用三個反引號分隔。將每個項目設為一個或兩個單詞。將你的響應格式化為一個以逗號分隔的項目列表。文本示例:'''{story}'''
"""
response = get_completion(prompt)
print(response)

政府調查,工作滿意度,NASA,社會安全局,員工關切

response.split(sep=',')

[‘政府調查’,
’ 工作滿意度’,
’ NASA’,
’ 社會安全局’,
’ 員工關切’]

topic_list = ['政府調查','工作滿意度','NASA','社會安全局','員工關切']

制作關于特定主題的新聞提醒

prompt = f"""
確定以下主題列表中的每一項是否是下文中的一個主題,
下文用三個反引號分隔。以列表形式給出每個主題的 0 或 1 的答案。主題列表:{", ".join(topic_list)}文本示例:'''{story}'''
"""
response = get_completion(prompt)
print(response)
nasa: 1
local government: 0
engineering: 0
employee satisfaction: 1
federal government: 1
topic_dict = {i.split(': ')[0]: int(i.split(': ')[1]) for i in response.split(sep='\n')}
if topic_dict['nasa'] == 1:
print("提醒:有關 NASA 的新聞!")

提醒:有關 NASA 的新聞!

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

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

相關文章

手拉手Vite+Vue3+TinyVue+Echarts+TailwindCSS

技術棧springboot3hutool-alloshi-coreVue3viteTinyVueEchartsTailwindCSS軟件版本IDEAIntelliJ IDEA 2022.2.1JDK17Spring Boot3.1hutool-all5.8.18oshi-core6.4.1Vue35.0.10vite5.0.10axios1.6.7echarts5.4.3 ECharts是一個使用 JavaScript 實現的開源可視化庫,可…

快速搭建ARM64實驗平臺(QEMU虛擬機+Debian)

文章目錄 前言一、實驗平臺介紹二、安裝步驟2.1 安裝工具2.2 下載倉庫2.3 編譯內核并制作根文件系統2.4 運行剛才編譯好的ARM64版本的Debian系統2.5 在線安裝軟件包2.6 在QEMU虛擬機和主機之間共享文件 三、單步調試ARM64 Linux內核參考資料 前言 最近翻閱笨叔的《奔跑吧Linux…

go-zero微服務入門教程

go-zero微服務入門教程 本教程主要模擬實現用戶注冊和用戶信息查詢兩個接口。 準備工作 安裝基礎環境 安裝etcd, mysql,redis,建議采用docker安裝。 MySQL安裝好之后,新建數據庫dsms_admin,并新建表sys_user&#…

【Git】 刪除遠程分支

Git 刪除遠程分支有以下幾種方法 服務端UI工具 Git 的服務端圖形化工具主要是 web 端。常用的有 GitHub、Gitea、Gutlab 等。 這些工具都提供了分支管理,可以直接在各服務端找到相關功能,謹慎刪除。 客戶端UI工具 Git 擁有諸多客戶端 UI 工具&#x…

詳細分析Python中的unittest測試框架

目錄 1. 基本知識2. API2.1 斷言2.2 setUp() 和 tearDown() 3. Demo 1. 基本知識 unittest 是 Python 標準庫中的一個單元測試框架,用于編寫和執行測試用例以驗證代碼的正確性 提供了一種結構化的方法來編寫測試,使得測試代碼更加模塊化和易于維護 以…

【ACW 服務端】頁面操作Java增刪改查代碼生成

版本: 1.2.2-JDK17-SNAPSHOT 項目地址:wu-smart-acw 演示地址:演示地址 admin/admin Java增刪改查代碼生成 找到對應菜單 選擇你需要的數據實例 選擇數據庫 選擇數據庫表 選擇客戶端(如果是本地ACW服務代碼啟動默認注冊上的客戶端ID是…

騰訊云主機Ubuntu22.04安裝Odoo17

一、安裝PostgreSQL16 參見之前的文章 Ubuntu22.04安裝PostgreSQL-CSDN博客 二、安裝Odoo17 本方案使用的nightly版的odoo,安裝的都是最新版odoo wget -O - https://nightly.odoo.com/odoo.key | apt-key add - echo "deb http://nightly.odoo.com/17.0/n…

Maven【1】(命令行操作)

文章目錄 一丶創建maven工程二、理解pom.xml三、maven的構建命令1.編譯操作2.清理操作3.測試操作4.打包操作5.安裝操作 一丶創建maven工程 首先創建這樣一個目錄,然后從命令行里進入這個目錄: 然后接下來就在這個命令行里進行操作了。 這個命令是&…

Python學習筆記——PySide6設計GUI應用之UI與邏輯分離

1、打開PySide6的UI設計工具pyside6-designer,設計一個主窗口,保存文件名為testwindow.ui 2、使用PySide6的RCC工具把testwindow.ui文件轉換為testwindow_rc.py文件,此文件中有一個類Ui_MainWindow(包含各種控件對象)…

設計模式淺析(八) ·外觀模式

設計模式淺析(八) 外觀模式 日常叨逼叨 java設計模式淺析,如果覺得對你有幫助,記得一鍵三連,謝謝各位觀眾老爺😁😁 外觀模式 概念 外觀模式(Facade Pattern)是一種設計模式,它為…

深度學習發展里程碑事件2006-2024

2006-2024年,深度學習發展經歷眾多的里程碑事件,一次次地刺激著人們的神經,帶來巨大的興奮。電影還在繼續,好戲在后面,期待…… 2006年 深度信念網絡(DBNs):Geoffrey Hinton與他的學…

備戰藍橋杯 Day10(背包dp)

01背包問題 1267:【例9.11】01背包問題 【題目描述】 一個旅行者有一個最多能裝 M� 公斤的背包,現在有 n� 件物品,它們的重量分別是W1,W2,...,Wn�1,�2&#…

藍橋杯刷題--python-10(2023填空題3)

0工作時長 - 藍橋云課 (lanqiao.cn) import datetime time_str_list=[] while(True):tmp=input()if not tmp: breaktime_str_list.append(tmp)# time_list=[datetime.datetime.strptime(t,"%Y-%m-%d %H:%M:%S")for t in time_str_list] time_list.sort() sum=0 for i…

【代碼隨想錄算法訓練營Day25】● 216.組合總和III ● 17.電話號碼的字母組合

文章目錄 Day 25 第七章 回溯算法part02216.組合總和III自己的思路(?通過) 17.電話號碼的字母組合思路代碼 Day 25 第七章 回溯算法part02 今日內容: ● 216.組合總和III● 17.電話號碼的字母組合 216.組合總和III 如果把 組合問題理解了…

計算機組成原理(9)----硬布線控制器

控制單元CU若想發出對應的控制信號,則需要以下信息:指令操作碼,目前的機器周期,節拍信號,機器狀態條件,根據這些信息,CU就能確定在這個節拍下應該發出哪些"微命令",也就是…

SQL注入:使用預編譯防御SQL注入時產生的問題

目錄 前言 模擬預編譯 真正的預編譯 預編譯中存在的SQL注入 寬字節 沒有進行參數綁定 無法預編譯的位置 前言 相信學習過SQL注入的小伙伴都知道防御SQL注入最好的方法,就是使用預編譯也就是PDO是可以非常好的防御SQL注入的,但是如果錯誤的設置了…

計算機設計大賽 深度學習動物識別 - 卷積神經網絡 機器視覺 圖像識別

文章目錄 0 前言1 背景2 算法原理2.1 動物識別方法概況2.2 常用的網絡模型2.2.1 B-CNN2.2.2 SSD 3 SSD動物目標檢測流程4 實現效果5 部分相關代碼5.1 數據預處理5.2 構建卷積神經網絡5.3 tensorflow計算圖可視化5.4 網絡模型訓練5.5 對貓狗圖像進行2分類 6 最后 0 前言 &#…

從零學算法238

238.給你一個整數數組 nums,返回 數組 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴的乘積都在 32 位 整數范圍內。 請 不要使用除法,且在 O(n) 時間復…

Python自動化UI測試之Selenium基礎實操

1. Selenium簡介 Selenium 是一個用于 Web 應用程序測試的工具。最初是為網站自動化測試而開發的,可以直接運行在瀏覽器上,支持的瀏覽器包括 IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Googl…

SVN忽略已提交的文件(ignore,移出版本控制)

本文適用于已安裝TortoiseSVN客戶端的同學。 1、右鍵點擊要忽略的文件夾或文件,鼠標移到“TortoiseSVN”,找到“Unversion and add to ignore list”,選擇文件夾,彈出提示框確認忽略。 2、設置完忽略文件后,還需要做…