寫Prompt的技巧和基本原則

一.基本原則

1.一定要描述清晰你需要大模型做的事情,不要模棱兩可
2.告訴大模型需要它做什么,不需要做什么

改寫前:

請幫我推薦一些電影

改寫后:

請幫我推薦2025年新出的10部評分比較高的喜劇電影,不要問我個人喜好等其他問題,只需要告訴我電影名字即可

3.Prompt 最好簡潔易懂,并減少歧義,無關的內容不要寫

二.技巧

1.給一些案例
2.設定大模型的角色/風格

指定他是一個老師,或者以魯迅的風格寫一篇小說

這樣會使得大模型輸出的內容有獨特的風格

3.使用特殊符號將指令和需要處理的文本分開

可以用""文本""將指令和文本分開。根據我的測試,如果你的文本有多段,增加”“”會提升 AI 反饋的準確性 或者##文本##

Please summarize the following sentences to make them easier to understand.Text: """
OpenAI is an American artificial intelligence (AI) research laboratory consisting of the non-profit OpenAI Incorporated (OpenAI Inc.) and its for-profit subsidiary corporation OpenAI Limited Partnership (OpenAI LP). OpenAI conducts AI research with the declared intention of promoting and developing a friendly AI. OpenAI systems run on the fifth most powerful supercomputer in the world.[5][6][7] The organization was founded in San Francisco in 2015 by Sam Altman, Reid Hoffman, Jessica Livingston, Elon Musk, Ilya Sutskever, Peter Thiel and others,[8][1][9] who collectively pledged US$1 billion. Musk resigned from the board in 2018 but remained a donor. Microsoft provided OpenAI LP with a $1 billion investment in 2019 and a second multi-year investment in January 2023, reported to be $10 billion.[10]
"""

在吳恩達的 ChatGPT Prompt Engineering?課程中,還提到,你可以使用其他特殊符號來分割文本和 prompt,比如<><tag></tag>?等,課程中的案例是這樣的(注意這個是 python 代碼,需要關注的是 prompt 里的 text):

text = f"""
You should express what you want a model to do by \
providing instructions that are as clear and \
specific as you can possibly make them. \
This will guide the model towards the desired output, \
and reduce the chances of receiving irrelevant \
or incorrect responses. Don't confuse writing a \
clear prompt with writing a short prompt. \
In many cases, longer prompts provide more clarity \
and context for the model, which can lead to \
more detailed and relevant outputs.
"""prompt = f"""
Summarize the text delimited by triple backticks \
into a single sentence.
`{text}`
"""
4.指定大模型輸出的格式json/markdown

可以讓大模型輸出后再檢查輸出的內容是否符合格式

5.告訴大模型需要做的每一步

將任務拆分成每一個步驟,讓大模型按照這個步驟執行,比如:

prompt_2 = f"""
Your task is to perform the following actions:
1 - Summarize the following text delimited by<> with 1 sentence.
2 - Translate the summary into French.
3 - List each name in the French summary.
4 - Output a json object that contains thefollowing keys: french_summary, num_names.Use the following format:
Text: <text to summarize>
Summary: <summary>
Translation: <summary translation>
Names: <list of names in Italian summary>
Output JSON: <json with summary and num_names>Text: <{text}>
"""

6.Zero-Shot Chain of Thought

在問題的結尾里放一句?Let‘s think step by step?(讓我們一步步地思考),模型輸出的答案會更加準確。

加上下面這個提示詞效果可能會更好

Let's work this out in a step by step way to be sure we have the right answer.

7.Few-Shot Chain of Thought

向大語言模型展示一些少量的樣例,并在樣例中解釋推理過程,大語言模型在回答提示時也會顯示推理過程。這種推理的解釋往往會引導出更準確的結果

四.Prompt框架

1.Basic Prompt Framework
  • Instruction(必須):?指令,即你希望模型執行的具體任務。
  • Context(選填):?背景信息,或者說是上下文信息,這可以引導模型做出更好的反應。
  • Input Data(選填):?輸入數據,告知模型需要處理的數據。
  • Output Indicator(選填):?輸出指示器,告知模型我們要輸出的類型或格式。
2.CRISPE Prompt Framework
  • CR:?Capacity and Role(能力與角色)。你希望 ChatGPT 扮演怎樣的角色。
  • I:?Insight(洞察力),背景信息和上下文(坦率說來我覺得用 Context 更好)。
  • S:?Statement(指令),你希望 ChatGPT 做什么。
  • P:?Personality(個性),你希望 ChatGPT 以什么風格或方式回答你。
  • E:?Experiment(嘗試),要求 ChatGPT 為你提供多個答案。

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

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

相關文章

【React】基于 React+Tailwind 的 EmojiPicker 選擇器組件

1.背景 React 寫一個 EmojiPicker 組件&#xff0c;基于 emoji-mart 組件二次封裝。支持添加自定義背景 、Emoji 圖標選擇&#xff01;并在頁面上展示&#xff01; 2.技術棧 emoji-mart/data 、emoji-mart : emoji 圖標庫、元數據 tailwindcss: 原子化 CSS 樣式庫 antd : 組…

Qt中繪制不規則控件

在Qt中繪制不規則控件可通過設置遮罩&#xff08;Mask&#xff09;實現。以下是詳細步驟: ?繼承目標控件?&#xff1a;如QPushButton或QWidget。?重寫resizeEvent?&#xff1a;當控件大小變化時&#xff0c;更新遮罩形狀。?創建遮罩區域?&#xff1a;使用QRegion或QPain…

Parallel_Scheduling_of_DAGs_under_Memory_Constraints論文閱讀

內存約束下的 DAG 并行調度 點擊閱讀原文語雀鏈接更清晰 摘要 科學工作流通常被建模為任務的有向無環圖&#xff08;DAG&#xff09;&#xff0c;這些任務代表計算模塊及其依賴關系&#xff0c;依賴關系表現為任務生成的數據被其他任務使用。這種形式化方法允許使用運行時系統&…

探索MVC、MVP、MVVM和DDD架構在不同編程語言中的實現差異

MVC與MVP/MVVM/DDD架構對比&#xff0c;不同語言實現 MVC 分層架構設計概述 模型-視圖-控制器&#xff08;Model-View-Controller&#xff0c;簡稱 MVC&#xff09;是一種經典軟件架構設計&#xff0c;通過分層解耦&#xff0c;使得系統結構清晰和易于維護&#xff0c;具有良…

一文讀懂 UML:基礎概念與體系框架

UML 圖是一種標準化的建模語言&#xff0c;在軟件開發和系統設計等領域有著廣泛的應用。以下是對 UML 圖各類圖的詳細介紹&#xff1a; 1.用例圖 定義&#xff1a;用例圖是從用戶角度描述系統功能的模型圖&#xff0c;展現了系統的參與者與用例之間的關系。作用&#xff1a;幫…

Spring 及 Spring Boot 條件化注解(15個)完整列表及示例

Spring 及 Spring Boot 條件化注解完整列表及示例 1. 所有條件化注解列表 Spring 和 Spring Boot 提供了以下條件化注解&#xff08;共 15 個&#xff09;&#xff0c;用于在配置類或方法上實現條件化注冊 Bean 或配置&#xff1a; 注解名稱作用來源框架Conditional自定義條件…

【Kafka】深入探討 Kafka 如何保證一致性

文章目錄 Kafka 基本概念回顧?副本角色? 數據寫入一致性?同步副本&#xff08;ISR&#xff09;集合?數據讀取一致性?故障處理與一致性恢復?總結? 在分布式系統領域&#xff0c;數據一致性是至關重要的一環。作為一款高性能的分布式消息隊列系統&#xff0c;Kafka 在設計…

從入門到精通:SQL注入防御與攻防實戰——紅隊如何突破,藍隊如何應對!

引言&#xff1a;為什么SQL注入攻擊依然如此強大&#xff1f; SQL注入&#xff08;SQL Injection&#xff09;是最古老且最常見的Web應用漏洞之一。盡管很多公司和組織都已經采取了WAF、防火墻、數據庫隔離等防護措施&#xff0c;但SQL注入依然在許多情況下能夠突破防線&#…

【算法day27】有效的數獨——請你判斷一個 9 x 9 的數獨是否有效。只需要 根據以下規則 ,驗證已經填入的數字是否有效即可。

36. 有效的數獨 請你判斷一個 9 x 9 的數獨是否有效。只需要 根據以下規則 &#xff0c;驗證已經填入的數字是否有效即可。 數字 1-9 在每一行只能出現一次。 數字 1-9 在每一列只能出現一次。 數字 1-9 在每一個以粗實線分隔的 3x3 宮內只能出現一次。&#xff08;請參考示例…

leetcode 2360. 圖中的最長環 困難

給你一個 n 個節點的 有向圖 &#xff0c;節點編號為 0 到 n - 1 &#xff0c;其中每個節點 至多 有一條出邊。 圖用一個大小為 n 下標從 0 開始的數組 edges 表示&#xff0c;節點 i 到節點 edges[i] 之間有一條有向邊。如果節點 i 沒有出邊&#xff0c;那么 edges[i] -1 。…

PySpur: AI 智能體可視化開發平臺

GitHub&#xff1a;https://github.com/PySpur-Dev/pyspur 更多AI開源軟件&#xff1a;發現分享好用的AI工具、AI開源軟件、AI模型、AI變現 - 小眾AI PySpur是一個開源的輕量級可視化AI智能體工作流構建器&#xff0c;旨在簡化AI系統的開發流程。通過拖拽式界面&#xff0c;用戶…

vcpkg安裝及使用教程,以安裝matio庫解析mat文件為例

vcpkg安裝及使用教程,以安裝matio庫解析mat文件為例 1. vcpkg安裝2 安裝matio三方庫3 將三方庫集成到VS中3.1 全局集成3.2 集成到特定工程4 結語Vcpkg 是微軟開發的一款開源的 C/C++ 包管理工具,旨在簡化 C/C++ 項目依賴庫的安裝和管理。它支持跨平臺(Windows、Linux、macO…

LLM架構解析:NLP基礎(第一部分)—— 模型、核心技術與發展歷程全解析

本專欄深入探究從循環神經網絡&#xff08;RNN&#xff09;到Transformer等自然語言處理&#xff08;NLP&#xff09;模型的架構&#xff0c;以及基于這些模型構建的應用程序。 本系列文章內容&#xff1a; NLP自然語言處理基礎&#xff08;本文&#xff09;詞嵌入&#xff0…

【Rtklib入門指南】2. 使用RTKLIB GUI進行觀測數據分析

數據準備 下載2025年1月1日的香港CORS站數據和觀測星歷&#xff0c;詳情參照如下博客&#xff1a; 使用GAMP_GOOD進行hk數據下載教程-CSDN博客 分析工具 RTKLIB 2.4.3 demo5&#xff08;也可以選用RTKLIB2.4.2&#xff0c;但不建議使用RTKLIB2.4.3&#xff09; 分析流程 …

suse15 sp1使用華為云軟件源yum源zypper源

登錄suse15終端&#xff0c; cd /etc/zypp/repos.d/進入目錄后執行以下命令&#xff1a; zypper ar -fcg https://mirrors.huaweicloud.com/opensuse/distribution/leap/15.1/repo/oss HuaWeiCloud:15.1:OSS zypper ar -fcg https://mirrors.huaweicloud.com/opensuse/distribu…

首屏加載時間優化解決

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff08;juejin/csdn同名&#xff09; &#xff0c;一位前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 高德AMap專欄 &#xff0c;記錄一下平時學習在博客寫作中記錄&#xff0c;總結出的一些開發技巧?。 感…

Sentinel[超詳細講解]-1

定義一系列 規則 &#x1f47a;&#xff0c;對資源進行 保護 &#x1f47a;&#xff0c; 如果違反的了規則&#xff0c;則拋出異常&#xff0c;看是否有fallback兜底處理&#xff0c;如果沒有則直接返回異常信息&#x1f60e; 1. 快速入門 1.1 引入 Sentinel 依賴 <depend…

02-Docker 使用

docker:快速構建、運行、管理應用的工具,可以幫助我們下載應用鏡像,創建并運行鏡像的容器,從而快速部署應用 1、部署mysql 先停掉虛擬機中的MySQL,確保你的虛擬機已經安裝Docker,且網絡開通的情況下,執行下面命令即可安裝MySQL(注意:若服務器上已經有mysql 占用了330…

@DeclareParents 注解實現接口功能增強:Spring中通過接口引入實現功能增強的完整示例

以下是Spring中通過接口引入實現功能增強的完整示例&#xff1a; // 1. 目標接口及實現類 package com.example;public interface Service {void doSomething(); }Component class ServiceImp implements Service {Overridepublic void doSomething() {System.out.println(&qu…

HTML中數字和字母不換行顯示

HTML中數字和字母不換行顯示的默認行為及如何通過CSS的word-wrap和word-break屬性進行調整。 在HTML中標簽中的數字和字母默認是不換行的&#xff0c;如果要將他們換行&#xff0c;在CSS中添加”word-wrap: break-word;” 即可解決 語法&#xff1a;word-wrap: normal|break-w…