-->

whaust

顯示具有 Prompt engineering 標籤的文章。 顯示所有文章
顯示具有 Prompt engineering 標籤的文章。 顯示所有文章

2024年11月7日 星期四

大型語言模型(LLM)的使用優化概念整理

紀錄一下 2024/Q3 的進度

大型語言模型(LLM)的使用優化

依照業務需求、數據可用性、應用場景及系統設計考量,採用多種方式運用大型語言模型 (LLM)。

優化層級

提示工程 (Prompt Engineering)

使用提示直接應用預訓練模型,適合簡單需求。

檢索增強生成 (RAG)

通過外部知識增強生成,適用於需要額外資訊的場合。

微調 (Fine-tuning)

使用特定領域的數據進行優化預訓練模型,以應用於特定需求。

預先訓練 (Pre-training)

訓練模型從頭開始,適用於高度定制化的應用場景。



提示工程 (Prompt Engineering) 的特性與優勢

協作與共享見解

善於處理邊緣案例。

可以利用不同描述做實驗,避免偏見與不恰當內容的生成。

精確輸入與回應

使用提示作為輸入示例。

可包含上下文來提升模型表現。

使用完整句子生成更準確的回應。

利用提示進行微調。

輸出格式與持續優化

指定輸出格式,達到結果明確而具體。

設定適當的長度並進行測試和改進。



檢索增強生成 (RAG) 的工作原理

定義與目的

RAG 是將檢索方法與生成模型結合的混合技術。

模型在回答過程中運用外部知識資源,如資料庫、文件或預先存儲的知識。

工作流程

問題提出:用戶輸入問題後,RAG 系統利用智慧檢索器查詢相關資料。

資料檢索:從特定資料來源查詢文件和訊息。

生成回答:檢索到的資訊與問題一起送到語言模型,重組成為有條理的回答。

回答特性

明確引用外部資訊來源,回答具上下文關聯和準確性。



RAG とは何ですか?

定義

RAG (Retrieval-Augmented Generation) 是一種資料擴展生成模型的應用方法。

能利用檢索到的文檔進行資料擴展。

理論挑戰

將整份文件直接提供給模型參考不切實際,可能超出模型處理能力。

運作步驟

資料切片量化:資料切成小片段後量化儲存。

檢索生成:從量化後片段中找出最相似的片段,提升準確性。


RAG 資料切片量化

1. 載入資料

支援多種文件格式:CSV、PDF、JSON、DOCX、HTML 等。

2. 分割資料

將資料分割成較小的內容單位,便於處理。

3. 嵌入資料

將分割後資料轉換為向量表示。

4. 向量資料庫

儲存向量於資料庫,例如 FAISS、Chroma、Pinecone 等。



RAG 檢索生成流程

1. 將問題轉成向量

問題轉為向量格式。

2. 向量比對

在向量資料庫中檢索相似資料。

3. 檢索相關資料

找出最相關的多筆資料。

4. 語言模型生成

將相關資料和問題送入語言模型進行回答生成。

5. 得出結果

生成有條理且精確的回答。



實作雲端 LLM + RAG by n8n 課程

使用 n8n 平台整合 LLM 和 RAG,進行資料處理與對話功能。

Vector 資料庫準備

從 GitHub 獲取數據,提取資料並轉換為向量嵌入,儲存在 Qdrant 向量資料庫中。

對話功能

接收聊天訊息後,通過 OpenAI Chat Model 回應,並用「窗口緩衝記憶」儲存對話上下文。

組合區

工作流觸發器執行推薦嵌入、數據提取與合併,經推薦 API 分割與聚合,最終篩選出與 AI 代理最相關的字段。


2024/11/07

2024年9月24日 星期二

提示工程 (Prompt Engineering) 的特性與優勢


提示工程 (Prompt Engineering) 的特性與優勢

1. 協作與分享見解 (Collaborate and Share Insights)

  • 解釋:提示工程可以通過與不同團隊成員協作,共同創建和分享最佳提示設計,促進跨部門合作。
  • 優勢:不同專業領域的專家可以分享他們的見解,優化提示,進一步提升模型的效果。

2. 利用提示進行微調 (Leverage Prompts for Fine-Tuning)

  • 解釋:提示工程可以作為微調模型的一種輕量級方法,不需要完整的訓練過程,只需調整提示即可改善模型性能。
  • 優勢:降低計算資源的消耗,同時針對特定任務達到精確的結果。

3. 避免偏見與不當內容 (Avoid Bias and Inappropriate Content)

  • 解釋:透過設計謹慎的提示,可以避免模型生成偏見或不當內容,確保結果符合道德和專業標準。
  • 優勢:降低誤導性或有害回應的風險,增強模型的可靠性。

4. 處理邊緣案例 (Handle Edge Cases)

  • 解釋:提示工程能針對已知的邊緣案例進行調整,幫助模型處理少見或意外情況下的輸入。
  • 優勢:提高模型在異常情況下的穩定性和準確性。

5. 測試與改進 (Test and Refine)

  • 解釋:提示工程需要不斷測試和改進提示,以優化模型輸出。
  • 優勢:通過反覆試驗來發現最佳的提示設計,進一步提高模型的性能。

6. 使用適當的長度 (Use Appropriate Length)

  • 解釋:提示的長度應適中,既要提供足夠的資訊讓模型理解,又不宜過於冗長以免增加計算負擔。
  • 優勢:保持提示簡潔而有效,提升模型回應的效率和準確度。

7. 明確與具體 (Be Clear and Specific)

  • 解釋:提示應該具體而明確,避免模糊或廣泛的敘述,這樣才能讓模型產生準確的結果。
  • 優勢:提高模型對指令的理解,減少不必要的錯誤。

8. 使用完整句子 (Use Complete Sentences)

  • 解釋:提示中應使用完整的句子,這樣可以更清晰地表達需求,避免歧義。
  • 優勢:讓模型更容易理解提示的意圖,生成更符合要求的回應。

9. 包含上下文 (Include Context)

  • 解釋:在提示中包含相關的背景資訊,能幫助模型更好地理解任務的全貌。
  • 優勢:提高模型對問題的理解,提供更準確且相關的回應。

10. 使用提示作為輸入範例 (Use Prompts as Input Examples)

  • 解釋:可以將提示作為範例,向模型展示具體的輸入形式,以幫助它學習如何回應。
  • 優勢:引導模型生成一致且有用的輸出。

11. 指定輸出格式 (Specify Output Format)

  • 解釋:在提示中指定所需的輸出格式(如列表、表格或段落)可以幫助模型生成符合需求的內容。
  • 優勢:確保模型的回應結構符合使用者的需求,增強使用體驗。

12. 試驗不同的措辭 (Experiment with Different Phrasings)

  • 解釋:透過實驗不同的措辭,可以發現最佳提示來達成預期的效果。
  • 優勢:更靈活地調整模型的回應,確保生成內容符合特定的目標。


Popular