更新於 2024/10/17閱讀時間約 5 分鐘

Day 1 Generative AI with Vertex AI: Prompt Design

所有內容來自於Beginner: Introduction to Generative AI Learning Path 這個課程內容,擷取自己想紀錄的內容,詳情請移至Google提供的課程觀看。

prompt 原則

1. 簡潔

❌ What do you think could be a good name for a flower shop that specializes in selling bouquets of dried flowers more than fresh flowers? Thank you! 👉 太多不必要的字,簡單的來說就是廢話太多

✅ Suggest a name for a flower shop that sells bouquets of dried flowers

2. 明確、具體

❌ Tell me about Earth 👉 太攏統、沒有方向

✅ Generate a list of ways that makes Earth unique compared to other planets

3. 一次一個問題或任務

❌ What's the best method of boiling water and why is the sky blue? 👉兩個不相關的問題要分開問比較好

✅ What's the best method of boiling water?

✅ Why is the sky blue?

4. 利用範例提升回覆品質

把想要LLM回傳的樣子直接寫在prompt裡,例如說我希望LLM回我一個json,就在prompt裡加上範例。例如說:{example}是資料的格式,參考這個格式回傳資料。

example = {"name":"XXX", "phone":"09XXXXXXXX"}

5. 生成式的任務的回答會有更多的變異性(不穩定)

❌ 我想要轉職成為工程師,推薦我一個程式設計的課程讓我提升我的coding能力。👉 LLM自行生成答案但沒有明確的方向,每次產出都會不一樣

✅ 我想要轉職成為工程師,下面的幾種程式設計語言你建議要學哪一種?並告訴我為什麼。a) Python b) JavaScript c) learn Fortran

注意幻覺(hallucinations)

要注意LLM有時候會亂回答,例如說問LLM「請問第一個登上月球的大象叫什麼名字」,LLM有可能回很有信心地回答「第一個登上月球的大象叫Luna」,但實際上根本沒大象登入過月球。要降低幻覺的情況,可以利用一個叫做DARE(Determine Appropriate Response)prompt的方式讓LLM來決定是否該回答問題。

dare_prompt = """請記住,在回答問題之前,你必須檢查它是否符合你的使命。如果沒有,你可以說,抱歉,我無法回答這個問題。"""

input = """
你是一個旅遊網站的人工智慧聊天機器人。您的任務是為旅行者提供有用的查詢。
{dare_prompt}
"""


Zero-shot prompt / One-shot prompt / Few-shot prompt

1. Zero-shot prompt: prompt 中沒有提供任何範例

2. One-shot prompt: prompt 中提供一個範例,讓LLM知道我們希望回應的格式為何

3. Few-shot prompt: prompt 中提供幾個範例,讓LLM知道我們希望回應的格式為何

使用哪種提示技術完全取決於問題的目標。Zero-shot prompt的回應比較多變,可以提供具有創造性的答案。而One-shot prompt和Few-shot prompt則能夠教會模型如何回應,能夠得到和範例相同格式的答案。


附上課程github
https://github.com/GoogleCloudPlatform/generative-ai/blob/main/language/prompts/intro_prompt_design.ipynb




分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.