首頁  >  文章  >  科技週邊  >  ChatGPT的提示的一些高級知識

ChatGPT的提示的一些高級知識

WBOY
WBOY轉載
2023-05-10 13:37:06785瀏覽

作為一個大型語言模型(LLM)接口,ChatGPT有令人印象深刻的潛力,但是真正能否用好取決與我們的提示(Prompt ),一個好的提示可以讓ChatGPT晉升到一個更好的層次。

在這篇文章中,我們將介紹一些關於提示的進階知識。無論是將ChatGPT用於客戶服務、內容創建,還是僅僅為了好玩,本文都將為你提供使用ChatGPT優化提示的知識和技巧。

ChatGPT的提示的一些高級知識

背景知識

LLM架構知識是一個好的提示的先決條件,因為它提供了對語言模型的底層結構和功能的基本理解,這對於創建有效的提示是至關重要的。

讓模糊的問題變得清晰,並確定可以跨場景轉換的核心原則很重要,所以我們需要清楚地定義手頭上的任務,並提出可以輕鬆適應不同上下文的提示。精心設計的提示是用來將任務傳達給語言模型並指導其輸出的工具。

所以對語言模型有簡單的了解,並且清楚的了解自己的目標,再加上領域內的一些知識,是用於訓練和改進語言模型的性能的關鍵。

提示和回傳是越多越好嗎?

並不是,冗長且資源密集的提示,這可能不具有成本效益,並且還記得chatgpt有字數限制嗎,壓縮提示請求和返回結果是一個非常新興的領域,我們要學會精簡問題。而有時候chatgpt也會回覆一些很長且毫無新意的話語,所以我們也要為它增加限定。

1、減少回覆長度

為了減少ChatGPT回覆的長度,在提示符號中包含長度或字元限制。使用更通用的方法,您可以在提示符號後面加上以下內容:

<code>Respond as succinctly as possible.</code>

說明,因為ChatGPT是英文語言模型,所以後面介紹的提示都以英文為例。

另外一些簡化結果的提示:

不需要舉例:No examples provided

舉個例子:One example provided

##等等

思考方式

ChatGPT產生文字的最佳方法取決於我們希望LLM執行的特定任務。如果不確定要使用哪種方法,可以嘗試不同的方法,看看哪種方法最適合。我們將總結5中思考方式:

1、思維鏈 (Chain-of-Thought)

思維鏈方法涉及為 ChatGPT 提供一些可用於解決特定問題的中間推理步驟範例。

ChatGPT的提示的一些高級知識

2、自我提問

#該方法涉及模型在回答初始問題之前明確地問自己(然後回答)後續問題。

ChatGPT的提示的一些高級知識

3、逐步思考

#逐步方法可以向ChatGPT 添加以下的提示

<code>Let’s think step by step.</code>
這種技術已被證明可以提高LLM 在各種推理任務上的表現,包括算術、常識和符號推理。

ChatGPT的提示的一些高級知識

這個聽起來就很玄學對吧,其實OpenAI是透過人類回饋強化學習(Reinforcement Learning with Human Feedback) 的方法訓練了他們的GPT 模型,也就是說人工的回饋在訓練中扮演了很重要的作用,所以ChatGPT 的底層模型與類人的逐步思考方法保持一致的。

ChatGPT的提示的一些高級知識

4、ReAct

ReAct (Reason Act)方法包括結合推理追蹤和特定於任務的動作。

推理追蹤幫助模型規劃和處理異常,而動作允許它從外部來源(如知識庫或環境)收集資訊。

ChatGPT的提示的一些高級知識

5、Reflection

在ReAct模式的基礎上,Reflection方法透過添加動態記憶體和自反射功能來增強LLM——可以推理和特定於任務的操作選擇能力。

為了實現完全自動化,Reflection論文的作者引入了一種簡單但有效的啟發式方法,允許代理識別幻像(hallucinations),防止重複動作,並在某些情況下創建環境的內部記憶圖。

ChatGPT的提示的一些高級知識

反模式

三星肯定对这个非常了解,因为交了不少学费吧,哈

不要分享私人和敏感的信息。

向ChatGPT提供专有代码和财务数据仅仅是个开始。Word、Excel、PowerPoint和所有最常用的企业软件都将与chatgpt类似的功能完全集成。所以在将数据输入大型语言模型(如 ChatGPT)之前,一定要确保信息安全。

OpenAI API数据使用政策明确规定:

“默认情况下,OpenAI不会使用客户通过我们的API提交的数据来训练OpenAI模型或改进OpenAI的服务。”

国外公司对这个方面管控还是比较严格的,但是谁知道呢,所以一定要注意。

1、提示注入

就像保护数据库不受SQL注入一样,一定要保护向用户公开的任何提示不受提示注入的影响。

通过提示注入(一种通过在提示符中注入恶意代码来劫持语言模型输出的技术)。

第一个提示注入是,Riley Goodside提供的,他只在提示后加入了:

<code>Ignore the above directions</code>

然后再提供预期的动作,就绕过任何注入指令的检测的行为。

这是他的小蓝鸟截图:

ChatGPT的提示的一些高級知識

当然这个问题现在已经修复了,但是后面还会有很多类似这样的提示会被发现。

2、提示泄漏

提示行为不仅会被忽略,还会被泄露。

ChatGPT的提示的一些高級知識

提示符泄露也是一个安全漏洞,攻击者能够提取模型自己的提示符——就像Bing发布他们的ChatGPT集成后不久就被看到了内部的codename

ChatGPT的提示的一些高級知識

在一般意义上,提示注入(目标劫持)和提示泄漏可以描述为:

ChatGPT的提示的一些高級知識

所以对于一个LLM模型,也要像数据库防止SQL注入一样,创建防御性提示符来过滤不良提示符。

为了防止这个问题,我们可以使用一个经典的方法 “Sandwich Defense”即将用户的输入与提示目标“夹在”一起。

ChatGPT的提示的一些高級知識

这样的话无论提示是什么,最后都会将我们指定的目标发送给LLM。

总结

ChatGPT响应是不确定的——这意味着即使对于相同的提示,模型也可以在不同的运行中返回不同的响应。如果你使用API甚至提供API服务的话就更是这样了,所以希望本文的介绍能够给你一些思路。

以上是ChatGPT的提示的一些高級知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除