Generative AI Engineer 系列一
大語言模型 LLM 應用開發工作坊
大語言模型 LLM (Large Language Model) 是 ChatGPT 背後的技術,透過學習 OpenAI API 和 Prompt Engineering 技能,軟體工程師就可以開發出新時代的生成式 AI 應用。
呼叫 API 能有什麼難的? 當你想真正開發 AI 應用時,就會發現有許多背景知識需要補齊。有一堆新的專有術語,不明覺厲的函式庫和 arXiv 論文,讓人摸不著頭緒。這門課將提供清晰且完整的指南,帶你進入 AI 應用開發的領域。
近期開課
(與以下單位合作開課)
  • 2024/5/23 (已結束)
  • 2023/9/17 第一梯 (已結束)
  • 2023/10/15 第二梯 (已結束)
  • 2024/1/6 第三梯 (已結束)
  • 2023/11/20~11/27 第二梯 (已結束)
  • 2024/3/4~3/10 第一梯 (已結束)
課程特色
知識最全面
涵蓋範圍最廣最深入,兼顧理論與實務,從 Prompt Design, Prompt Engineering, RAG 到 Agent 面面俱到
課程最精實
上課無冷場無灌水、各種參考資料、補充資料,以及最新生成式 AI 業界消息
範例最通用
範例程式碼使用 Plain Old Python 語法,不依賴特定框架。無論你用何種程式語言,都可以輕易轉換實作
講師介紹
我是 ihower,2002年開始從事 Web App 軟體開發工作,2018年成立愛好資訊科技有限公司,專長是 Ruby on Rails 和 Generative AI 技術。
除了軟體開發,也經常做技術分享和教育訓練,在 ALPHACamp 擔任多年程式講師,並在各大型技術研討會擔任講者,參與過 COSCUP、MOPCON、RubyConf Taiwan、RubyConf China、WebConf 等。
課程內容
內容可以參考我這份公開投影片: 淺談 Generative AI Engineer 和 LLM 應用開發 Roadmap
工作坊課程會是最新更新版 + 加料超多補充資料 ,並主要著重在 Google Colab Notebook 程式碼講解實作。由於 AI 世界技術進展迅速,本課綱有可能隨時調整。
課程大綱
認識 OpenAI API
  • 什麼是 Temperature 和 Tokenization
  • Completion API 和 Chat API
  • 簡介各種多模態模型
  • GPT-4V API 影像解讀
  • GPT-4V 搭配 OCR 文字辨識工具
  • Text-To-Speech (TTS) API 文字轉語音
  • DALL-E 3 API 圖片生成
  • 常見用法: 摘要、推理、文本轉換、擴寫
  • Google Colab 實驗環境 (在瀏覽器中編寫及執行Python 程式碼)
Prompt Engineering 提示工程
  • 撰寫 Prompt (提示詞) 的最佳實務
  • LLM 的運作原理
  • Chain of Thought 思維鏈推理
  • Generated Knowledge 策略
  • Chaining Prompts 提示鏈串接外部工具
  • 如何做 Evaluation (評估)
  • 如何對付幻覺 Hallucination 現象
檢索增強生成 RAG 應用
  • 使用詞嵌入 Embeddings 做語意搜尋
  • 檢索增強生成 Retrieval Augmentation Generation (RAG)
  • 向量資料庫 Vector Stores
  • RAG 如何做評估
長文本摘要處理
  • Map Reduce 摘要法
  • Whisper 語音轉文字,以處理 Podcast 為例
代理人 Agents 應用
  • 什麼是 ReAct Prompting
  • 使用 Function Calling 串接多外部工具
  • 使用 Function Calling 搭配 Pydantic 做資料擷取
對話 Chatbot 應用
  • OpenAI Stream 串流輸出,以 Gradio UI 為例
  • 客服 Chatbot
  • 實作 RAG 知識庫 Chatbot
  • 實作購物車結帳 Chatbot
  • OpenAI Assistants API v2
其他議題
  • LLM 相關的 Ecosystem 工具介紹: LLMOps 和 Guardrails
  • LLM Security 和 Prompt Injection 應對方式
  • 淺談 Pre-trained model 和 Fine-tuned 模式
  • 如何微調(Fine-Tuning) 以及合成訓練資料 (Synthetic data)
  • 概述各種模型和服務提供商: OpenAI、Anthropic Claude、Azure OpenAI、Google Vertex AI、AWS Bedrock 和 Hugging Face
Google Colab 程式範例
滿滿三十多個可執行的 Plain Old Python 程式範例,可立即有效執行
Google Colab 程式範例
滿滿三十多個可執行的 Plain Old Python 程式範例,均可有效執行
上課形式
  • 投影片講述 (大約有100多頁)
  • Google Colab 示範和講解程式碼 (大約30多個可執行的 notebooks 涵蓋所有主題),這是課程的精華所在
  • 學員可用 Google Colab 實際操作執行,需自備 OpenAI API Key,若沒有可提供一日 API Key 供練習使用。
  • 密集班總長度約 8 小時(不包含學員練習時間)
課程適合對象
有開發經驗的 Web/Mobile/Desktop 應用程式開發者、軟體工程師,不需要熟悉 Python (課程雖然用 Python 講解,但只會用非常簡單的語法),需有串接 Web APIs 和使用 ChatGPT 的經驗。
不限制任何程式語言背景,本課程特色就是教如何用 OpenAI API 進行串接、學習 Prompting,而不是只教特定程式語言的 AI 框架。
若您沒有任何 App 應用程式開發經驗、沒有串接過 Web APIs,不建議參加此工作坊。
課程內容非常密集、資訊量巨大,不建議看不懂程式碼的初學者參加。
課程定位
以 API 為界,這張圖(出處)描述四種職位,左側偏向機器學習,右側偏向產品應用開發。
本課程的定位是 AI Engineer 工程師、需要開發 AI App 的從業人員。我本身是 Fullstack Engineer 出身,特別了解哪些是開發軟體應用時,需要哪些 AI 知識。
這張圖(出處)描述了 AI Stack 包括有四層: 應用層、開發層、模型層、基礎設施。
本課程明確定位在 Application development 應用開發,如何寫 code 呼叫模型 API 來打造 app 應用。因此不包括如何使用 AI 工具、Transformer 模型理論、模型訓練、模型部署等內容不在課程範圍內。
FAQ
Q: 本課程不包含什麼?
本課程聚焦 LLM AI 應用程式開發所需要的 Prompt Engineering 及 API 串接,因此不會教 ChatGPT 使用、機器學習、LLM 歷史沿革、深度學習 Transformer 架構、模型訓練、模型地端部署、AI 趨勢案例、企業 AI 工具導入、AI 個人工作提升、Co-pilot 工具、AI 產品設計、AI UX 等等不是本課程內容。
Q: 課程用什麼程式語言? 是否需要先會 Python?
會用 Python,但不需要事先學習沒關係。Workshop 會提供線上的 Google Colab 範本做練習,上課只要有筆電+瀏覽器就可以,無需煩惱安裝環境。只會用到非常簡單的 Python 語法。只要有寫過 JavaScript, Ruby, PHP, Java, C# 等語言,並有串接 HTTP API 的經驗,上課就沒有問題。
Q: 需要有機器學習和深度學習基礎嗎?
不需要,只要會寫程式,無論是何種程式語言專長均可。
Q: 會教 LangChain 或 Llamaindex 框架嗎?
不會,本課程盡量直接呼叫 LLM API,而不依賴使用 LangChain 等應用框架。
這些複雜的框架過度抽象和封裝,不但限制了修改彈性,也增加了除錯的難度。而且目前 LLM 領域進展非常快,框架的變化也很大,依賴特定框架在版本升級時會非常麻煩。以 LangChain 為例每幾個月就大升級,每次都造成 breaking changes 讓你原來會動的程式一升級就壞掉。花時間學習 LangChain 或 Llamaindex 等框架,你只是花大部分的時間在學習框架專屬的、不穩定的 API 如何使用。本課程的學員能夠確實了解 Prompt 和 Chaining Prompts 的原理,因此無論你的 App 用什麼語言,都可以實作出來。就算真的想用框架工具,也能很快理解這些框架的功能原理。
Q: 那會用 OpenAI 的 Python 套件 嗎?
連這個也盡量不會用,因為本課程的準備方向是以非 Python 工程師也能學了之後,用自己熟悉的程式語言實作出來。因此只會用 HTTP request 拿到 JSON、 程式語言只用到字串、數字、陣列、雜湊、函式等等語法而已。
Q: 本課程會做出完整可以立即部署的 app 嗎?
會用 Gradio 做些簡單的 UI 示範,但在緊湊的課程內,主要重點是 Prompt Engineering 和 LLM 的 API 串接,因此不會花時間教 App 開發和部署。例如 WebSocket、LINE Messaging API、Discord Bot、Slack API、Telegram Bot 等即時聊天技術不在本課程範圍。
Q: 會教如何訓練AI模型嗎? 需要自備 GPU 嗎?
不會,也不需要 GPU。本課程不會教如何用地端伺服器(或租用整台雲端伺服器)來訓練、部署模型,這是大公司專門的機器學習工程師才需要的技能跟工作。我們會使用 Token based pricing 的線上 LLM 服務,例如 OpenAI API、Azure OpenAI、Amazon Bedrock、Google Vertex AI Studio 這種根據 Token 用量計費的雲端服務。
本課程會教如何直覺看待 LLM 模型的思維,但就像寫應用程式不需要先學會做出編譯器,寫 LLM AI 應用也不需要知道如何訓練 LLM 模型。
Q: 那會教如何微調大型語言模型微調嗎?
不會教微調技術(PEFT, LoRA 等),也不會教自行部署開源模型做微調,例如透過 PEFT 自己寫 code 來做微調這種不會教,這是機器學習工程師才需要的技能。
會教如何使用 OpenAI API 的微調功能,透過 API 平台商提供的功能來做微調,這種無需自備 GPU 伺服器。這是應用應用軟體工程師能夠上手使用的方式。
學員課後評價
2024/5 公開班
2024/3 公開班
2024/1 公開班
2023/11 公開班
2023/11 精誠資訊 企業內訓
2023/10 公開班
學員課後心得
  • 2024/3/4 公開班
  • 2023/11/20 公開班
  • 2023/10/15 公開班
  • 2023/9/17 公開班
  • 2023/8/25 AI Builder Day 演講
企業包班、企業內訓
請 E-mail 來信聯繫洽詢: [email protected]
愛好 Generative AI Engineer 知識庫
愛好 AI Engineer 電子報
歡迎加入 Telegram 討論群
歡迎加入愛好 LLM 公開群,一起討論生成式 AI 技術最新消息和八卦。
愛好資訊科技有限公司
統一編號:42970112
Copyright 2018-2024 AIHAO Information Technology Co.