#LLM入門|Prompt#2.7_檢查結果_Check_Outputs

引領你了解

  • ·如何評估系統生成的輸出。
  • 確保在向用戶展示輸出之前,對其質量、相關性和安全性進行嚴格的檢查,以保證我們提供的反饋是準確和適用的。
  • 如何運用審查(Moderation) API 來對輸出進行評估
  • 如何通過額外的 Prompt 提升模型在展示輸出之前的質量評估。

一、檢查有害內容

我們主要通過 OpenAI 提供的 Moderation API 來實現對有害內容的檢查。

import openai
from tool import get_completion_from_messagesfinal_response_to_customer = f"""
SmartX ProPhone 有一個 6.1 英寸的顯示屏,128GB 存儲、\
1200 萬像素的雙攝像頭,以及 5G。FotoSnap 單反相機\
有一個 2420 萬像素的傳感器,1080p 視頻,3 英寸 LCD 和\
可更換的鏡頭。我們有各種電視,包括 CineView 4K 電視,\
55 英寸顯示屏,4K 分辨率、HDR,以及智能電視功能。\
我們也有 SoundMax 家庭影院系統,具有 5.1 聲道,\
1000W 輸出,無線重低音揚聲器和藍牙。關于這些產品或\
我們提供的任何其他產品您是否有任何具體問題?
"""
# Moderation 是 OpenAI 的內容審核函數,旨在評估并檢測文本內容中的潛在風險。
response = openai.Moderation.create(input=final_response_to_customer
)
moderation_output = response["results"][0]
print(moderation_output)
{"categories": {"harassment": false,"harassment/threatening": false,"hate": false,"hate/threatening": false,"self-harm": false,"self-harm/instructions": false,"self-harm/intent": false,"sexual": false,"sexual/minors": false,"violence": false,"violence/graphic": false},"category_scores": {"harassment": 4.2861907e-07,"harassment/threatening": 5.9538485e-09,"hate": 2.079682e-07,"hate/threatening": 5.6982725e-09,"self-harm": 2.3966843e-08,"self-harm/instructions": 1.5763412e-08,"self-harm/intent": 5.042827e-09,"sexual": 2.6989035e-06,"sexual/minors": 1.1349888e-06,"violence": 1.2788286e-06,"violence/graphic": 2.6259923e-07},"flagged": false
}

檢查輸出質量
檢查輸出的質量對于確保聊天機器人的表現至關重要。以下是一些檢查輸出質量的方法:
1. 標記輸出

  • 如果輸出沒有被標記為任何特定類別,并且在所有類別中得分都很低,說明結果評判合理。
  • 對于對內容敏感的受眾,可以設定更低的閾值來標記可能存在問題的輸出。

2. 采取適當措施

  • 如果某些內容被標記為有問題,可以采取適當措施,如提供替代答案或生成新的響應。
  • 隨著模型的不斷改進,有害輸出的可能性會降低。

3. 向模型詢問

  • 通過將生成的輸出作為輸入的一部分再次提供給模型,并要求其評估輸出的質量,可以檢查輸出的質量。
  • 這種操作可以通過多種方式完成,例如將生成的輸出提供給模型,并要求其評估輸出的質量。

總結

  • 確保聊天機器人輸出的質量符合預期是非常重要的。
  • 通過標記輸出、采取適當措施和向模型詢問來檢查輸出的質量。
  • 隨著模型的持續改進,輸出質量應該會逐漸提高。

二、檢查是否符合產品信息

在下列示例中,我們要求 LLM 作為一個助理檢查回復是否充分回答了客戶問題,并驗證助理引用的事實是否正確。

# 這是一段電子產品相關的信息
system_message = f"""
您是一個助理,用于評估客服代理的回復是否充分回答了客戶問題,\
并驗證助理從產品信息中引用的所有事實是否正確。 
產品信息、用戶和客服代理的信息將使用三個反引號(即 ```)\
進行分隔。 
請以 Y 或 N 的字符形式進行回復,不要包含標點符號:\
Y - 如果輸出充分回答了問題并且回復正確地使用了產品信息\
N - 其他情況。僅輸出單個字母。
"""#這是顧客的提問
customer_message = f"""
告訴我有關 smartx pro 手機\
和 fotosnap 相機(單反相機)的信息。\
還有您電視的信息。
"""
product_information = """{ "name": "SmartX ProPhone", "category": "Smartphones and Accessories", "brand": "SmartX", "model_number": "SX-PP10", "warranty": "1 year", "rating": 4.6, "features": [ "6.1-inch display", "128GB storage", "12MP dual camera", "5G" ], "description": "A powerful smartphone with advanced camera features.", "price": 899.99 } { "name": "FotoSnap DSLR Camera", "category": "Cameras and Camcorders", "brand": "FotoSnap", "model_number": "FS-DSLR200", "warranty": "1 year", "rating": 4.7, "features": [ "24.2MP sensor", "1080p video", "3-inch LCD", "Interchangeable lenses" ], "description": "Capture stunning photos and videos with this versatile DSLR camera.", "price": 599.99 } { "name": "CineView 4K TV", "category": "Televisions and Home Theater Systems", "brand": "CineView", "model_number": "CV-4K55", "warranty": "2 years", "rating": 4.8, "features": [ "55-inch display", "4K resolution", "HDR", "Smart TV" ], "description": "A stunning 4K TV with vibrant colors and smart features.", "price": 599.99 } { "name": "SoundMax Home Theater", "category": "Televisions and Home Theater Systems", "brand": "SoundMax", "model_number": "SM-HT100", "warranty": "1 year", "rating": 4.4, "features": [ "5.1 channel", "1000W output", "Wireless subwoofer", "Bluetooth" ], "description": "A powerful home theater system for an immersive audio experience.", "price": 399.99 } { "name": "CineView 8K TV", "category": "Televisions and Home Theater Systems", "brand": "CineView", "model_number": "CV-8K65", "warranty": "2 years", "rating": 4.9, "features": [ "65-inch display", "8K resolution", "HDR", "Smart TV" ], "description": "Experience the future of television with this stunning 8K TV.", "price": 2999.99 } { "name": "SoundMax Soundbar", "category": "Televisions and Home Theater Systems", "brand": "SoundMax", "model_number": "SM-SB50", "warranty": "1 year", "rating": 4.3, "features": [ "2.1 channel", "300W output", "Wireless subwoofer", "Bluetooth" ], "description": "Upgrade your TV's audio with this sleek and powerful soundbar.", "price": 199.99 } { "name": "CineView OLED TV", "category": "Televisions and Home Theater Systems", "brand": "CineView", "model_number": "CV-OLED55", "warranty": "2 years", "rating": 4.7, "features": [ "55-inch display", "4K resolution", "HDR", "Smart TV" ], "description": "Experience true blacks and vibrant colors with this OLED TV.", "price": 1499.99 }"""q_a_pair = f"""
顧客的信息: ```{customer_message}```
產品信息: ```{product_information}```
代理的回復: ```{final_response_to_customer}```回復是否正確使用了檢索的信息?
回復是否充分地回答了問題?輸出 Y 或 N
"""
#判斷相關性
messages = [{'role': 'system', 'content': system_message},{'role': 'user', 'content': q_a_pair}
]response = get_completion_from_messages(messages, max_tokens=1)
print(response)

Y
在上一個示例中,我們給了一個正例,LLM 很好地做出了正確的檢查。而在下一個示例中,我們將提供一個負例,LLM 同樣能夠正確判斷。

another_response = "生活就像一盒巧克力"
q_a_pair = f"""
顧客的信息: ```{customer_message}```
產品信息: ```{product_information}```
代理的回復: ```{another_response}```回復是否正確使用了檢索的信息?
回復是否充分地回答了問題?輸出 Y 或 N
"""
messages = [{'role': 'system', 'content': system_message},{'role': 'user', 'content': q_a_pair}
]response = get_completion_from_messages(messages)
print(response)

N
審查 API 可以提供生成輸出質量的反饋,你可以根據這些反饋來決定是否展示輸出給用戶,或者生成新的回應。你還可以嘗試為每個用戶查詢多個模型回應,然后從中選擇最佳的回應呈現給用戶。因此,你有多種可能的嘗試方式。
然而,在大多數情況下,審查輸出并不是必需的,特別是當你使用更先進的模型,比如 GPT-4。實際上,在真實生產環境中,我們并未看到很多人采取這種方式。這種做法也會增加系統的延遲和成本,因為你需要等待額外的 API 調用,并且需要額外的 token。如果你的應用或產品的錯誤率僅為 0.0000001%,那么你可能可以嘗試這種策略。但總的來說,我們并不建議在實際應用中使用這種方式。
在接下來的章節中,我們將整合我們在評估輸入、處理輸出以及審查生成內容方面學到的知識,構建一個端到端的系統。

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

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

相關文章

redis運維

1.備份redis配置文件 cp /etc/redis.conf /etc/redis.conf.bak 2.將redis中不要的注釋和空行刪除 sed -i /^#/d; /^$/d /etc/redis.conf 3.redis配置文件 bing 0.0.0.0 :綁定本機所有網卡 daemonize yes:設置后臺運行 requirepass redispwd…

k8s初始化錯誤

報錯詳情: you can check the kubelet logs for further clues by running: ‘journalctl -u kubelet’ Alternatively, there might be issues with your Kubernetes configuration files or maybe the necessary ports are not opened. Check the status of …

題目 1434: 藍橋杯歷屆試題-回文數字

題目描述: 觀察數字:12321,123321 都有一個共同的特征,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做:回文數字。 本題要求你找到一些5位或6位的十進制數字。滿足如下要求: 該數字的各個數位…

rust多個mod文件引用和文件夾mod使用注意事項

如果mod文件都在同一級目錄,則直接使用就可以,因為rust文件都是一個隱藏的mod,但是如果mod文件在另外一個目錄下面,就需要在目錄下面聲明一個mod.rs文件,這樣才能將那個目錄識別為一個mod,可以在mod.rs里面…

鴻蒙App開發新思路:小程序轉App

國家與國家之間錯綜復雜,在谷歌的安卓操作系統“斷供”后,鴻蒙系統的市場化&獨立化的道路便顯而易見了。 2024年1月18日,華為宣布,不再兼容安卓的“純血鴻蒙”--HarmonyOS NEXT鴻蒙星河版最終面世,并與2024年Q4正…

如何在阿里云/騰訊云Ubuntu服務器上安裝和配置GNOME桌面環境?

在Ubuntu服務器上安裝和配置GNOME桌面環境,首先需要確保已經安裝了必要的軟件和環境。以下是詳細的安裝和配置步驟: 安裝GNOME桌面環境: 使用命令sudo apt-get install gnome-shell來安裝GNOME桌面窗口管理程序。接著安裝gnome-panel、gnome-…

Flutter Text 下劃線

IntrinsicWidth(child: Column(mainAxisAlignment:MainAxisAlignment.center,children: [Text("工單名稱",style: TextStyle(overflow: TextOverflow.fade,color: AppColors.baseColor,fontSize: 15.sp,// decorationStyle: TextDecorationStyle.dashed),),Container…

馬士超:符合國際標準的沉浸式音頻HOLOSOUND的發展與未來 | 演講嘉賓公布

一、3D音頻 3D 音頻分論壇將于3月27日同期舉辦! 3D音頻技術不僅能夠提供更加真實、沉浸的虛擬世界體驗,跨越時空的限制,探索未知的世界。同時,提供更加豐富、立體的情感表達和交流方式,讓人類能夠更加深入地理解彼此&a…

【Spring云原生】Spring Batch:海量數據高并發任務處理!數據處理縱享新絲滑!事務管理機制+并行處理+實例應用講解

🎉🎉歡迎光臨🎉🎉 🏅我是蘇澤,一位對技術充滿熱情的探索者和分享者。🚀🚀 🌟特別推薦給大家我的最新專欄《Spring 狂野之旅:從入門到入魔》 🚀 本…

不知道RAID/SAN/NAS的小可愛來看看這個吧!

RAID RAID(冗余陣列的獨立磁盤,Redundant Array of Independent Disks)是一種將多個磁盤驅動器組合成一個或多個單元的技術,目的是在提高數據可靠性和/或提升性能的同時,對操作系統隱藏底層的復雜性。簡而言之&#x…

Windows Server 2012 R2 安裝 OpenSSH

1.下載OpenSSH https://github.com/PowerShell/Win32-OpenSSH/releases 2.解壓到路徑 (一定解壓到這個路徑):C:\Program Files\OpenSSH 3.OpenSSH安裝 使用管理員身份打開命令提示符,使用cd命令到步驟2中OpenSSH文件夾的位置&am…

數據庫之間數據遷移工具datax

簡介 DataX 是阿里云 DataWorks數據集成 的開源版本,在阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺。DataX 實現了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databe…

解決ODOO12 恢復數據庫提示內存不夠報錯

1. 現象 點擊 ‘restore database’ 控制臺報錯: 2. 解決措施 a. 進入啟動腳本的文件夾 cd odoo/odoo-12.0/輸入命令 ./odoo-bin --addons-pathaddons --databaseodoo --db_userodoo --db_passwordodoo --db_hostlocalhost --db_port5432 -i INITb. 刷新頁面…

達夢數據庫基礎操作(五): 索引操作

達夢數據庫基礎操作(五): 索引操作 1. 索引操作 1.1 創建索引 # 使用 CREATE INDEX 語句創建普通索引。 CREATE INDEX ind_emp_salary ON employee(salary);1.2 查看創建的索引 # 通過字典表 user_indexes 查看已創建索引的名稱、類型。SELECT table_name, index…

CentOS部署FastDFS+Nginx并實現遠程訪問本地服務器中文件

文章目錄 前言1. 本地搭建FastDFS文件系統1.1 環境安裝1.2 安裝libfastcommon1.3 安裝FastDFS1.4 配置Tracker1.5 配置Storage1.6 測試上傳下載1.7 與Nginx整合1.8 安裝Nginx1.9 配置Nginx 2. 局域網測試訪問FastDFS3. 安裝cpolar內網穿透4. 配置公網訪問地址5. 固定公網地址5.…

CHI協議學習

原始文檔:https://developer.arm.com/documentation/102407/0100/?langen CHI 總線拓撲結構 CHI總線拓撲是實現自定義的,可以是RING/MESH/CROSSBAR的類型; RING 一般適用于中等規模芯片MESH 一般適用于大規模芯片CROSSBAR 一般適用于小規模…

中科數安 | 公司文檔數據如何才能防止他人泄密?

為了防止公司文檔數據被他人泄密,中科數安提供了一系列綜合性的解決方案和服務。 www.weaem.com 以下是一些關鍵策略和措施: 訪問控制:首先,實施嚴格的文件訪問控制是至關重要的。中科數安提供身份驗證和權限管理系統&#xff0c…

hnust 湖南科技大學 2022 數據挖掘課設 完整代碼+報告+圖源文件+指導書

hnust 湖南科技大學 2022 數據挖掘課設 完整代碼報告圖源文件指導書 目錄 實驗一 Apriori算法設計與應用 - 1 - 一、 背景介紹 - 1 - 二、 實驗內容 - 1 - 三、 實驗結果與分析 - 2 - 四、 小結與心得體會 - 3 - 實驗二 KNN算法設計與應用 - 4 - 一、 背景介紹 - 4 - 二、 實…

解鎖智慧之門:自然語言處理與神奇的語言模型

在數字化浪潮席卷全球的今天,自然語言處理(NLP)已成為人工智能領域最璀璨的明珠之一。而在這顆明珠中,語言模型(LM)更是閃耀著奪目的光芒。它們不僅讓機器能夠理解和生成人類的語言,更在智能助手、搜索引擎、翻譯工具等眾多應用中發揮著不可或缺的作用。今天,就讓我們一…

SAP VT01N創建Shipment Number

調用BAPI:BAPI_SHIPMENT_CREATE創建裝運單本身很簡單,但是如果是第一次使用的話,可能會對抬頭的一些日期感到困惑 BAPI_SHIPMENT_CREATE抬頭日期字段處理代碼:Include程序:LV56I_BAPIHEA,子程序:set_heade…