最近在嘗試微軟最近推出的 MarkItDown 工具,它使用 Python 開發,可用於將各種文件檔案轉換為 Markdown 格式,支援的文件格式也非常多,這在 AI 盛行的時代是非常有用的。因為文件換為 Markdown 格式之後,可以讓大語言模型進行分析。不過我在 PowerShell 底下使用的時候,沒有意外的又出意外了,因為它無法正確的處理 UTF-8 字元的輸入輸出,所以只要遇到中文就掛掉,真的很煩,這種問題都不知道處理幾次了。這篇文章我打算來介紹如何讓 Python 程式正確的處理 UTF-8 字元。
... 繼續閱讀 ...
在 VS Code 的「原始碼控制」窗格中,不僅僅可以用來做 Git 版控,你還能利用 GitHub Copilot 來產生即將 Commit 的程式碼變更的提交訊息,透過 AI 幫你自動撰寫 Git 的 Log 內容。事實上,在新版的 GitHub Copilot 中,你可以透過定義「自訂指令」(Custom instructions) 來「提示」GitHub Copilot 要如何產生 Log 訊息內容,你可以自己定義擁有團隊共識或大家希望的 Commit Log 風格,例如可以套用 Conventional Commits 風格等等。這篇文章我就來說說怎麼做!👍
... 繼續閱讀 ...
我們都知道 ChatGPT 在問答的過程中,不時會有「幻覺」的問題,也就是當 ChatGPT 在回答問題的時候,經常表現的自己很懂,但又常常被發現他其實是在胡說八道的狀況。最近 ChatGPT 正式推出了「搜尋」功能,我們終於可以讓 ChatGPT 基於「搜尋結果」來回答問題,如此一來不但可以避免 ChatGPT 的幻覺問題,也可以讓 ChatGPT 回答的更加準確。今天這篇文章,我打算來分享幾個使用 ChatGPT Search 的應用技巧,這也是我在 ChatGPT 錦囊妙計:掌握九大應用場景的創意用法 課程中跟學員分享的其中一個技巧。
... 繼續閱讀 ...
因為我所開辦的課程都會全程錄影,好讓學員可以複習課程內容,最近幾次的課程我還開始幫影片上字幕,讓大家在複習的時候,更能夠理解我在課程中提到的一些偏技術的「專有名詞」。有些不住在臺灣的學員,也有可能會聽不懂臺灣這邊經常聽到的時事或口頭禪,我時常會在課程中講一些「時事梗」來活絡氣氛,但是有些學員可能會聽不太懂,這些字幕就是為了讓大家更容易理解課程內容與笑點。我幾乎都是利用超大上下文視窗(context window)的 Google AI Studio 來幫我校正 Whisper 產生的字幕,這篇文章我就來教大家這個技巧。
... 繼續閱讀 ...
前幾天 OpenAI 悄悄的發佈了 Whisper 的最新 turbo
模型,這是一個多國語言的模型 (Multilingual model),而且這個 turbo
模型是 large-v3
模型的優化版本,提供更快的轉錄速度,但準確性卻只有輕微下降,整體參數數量只比 medium
模型稍微大一點點而已。我特別為此打造了一個可以利用 NVIDIA 的 CUDA 加速執行的 Docker 映像檔,讓大家可以輕鬆的在自己的電腦上執行這個模型。
... 繼續閱讀 ...
我在一小時 No-Code 打造可搜尋的 AI 知識庫系統 (RAG)課程中有準備一個知識庫範例,可以將整份 angular.dev 網站轉成知識庫所需的文字檔案。由於 angular.dev
網站內容都是開源的,放在 GitHub 的 angular/angular Repo 中的 adev
目錄下。但這個 Repo 有 30,486 個 Commits,檔案數與下載量都非常大,如果只想取得特定目錄下的檔案,就需要動用一些 Git 的進階技巧,今天我想來分享一下我是如何快速下載 Git Repo 中特定資料夾下的所有 *.md
檔案,並且批次轉成 *.txt
的過程。
... 繼續閱讀 ...
深度學習模型在自然語言處理 (NLP) 領域中扮演著重要的角色,而調整模型的參數可以影響生成的文字風格和品質。在大語言模型中,Temperature
、Top-P
和 Top-K
是常見的參數,用於控制文字生成過程中的隨機性和創造性。我自己在開發 LLM 應用時,主要也都只會去調整 Temperature
而已,其實 Top-P
與 Top-K
很少去調他,因為每次調整都沒有什麼好結果,之前因為不太理解這兩個參數的真正含意,最後還是回歸預設值處理。這篇文章我打算好好的理一理這幾個參數的真正含意。
... 繼續閱讀 ...
昨晚 OpenAI 的 2024 春季更新發佈會,宣布了最新的 GPT-4o
模型,其中最讓我好奇的地方是,他將 Tokenizer 的詞彙表擴充了兩倍之多,理論上整體的文字處理速度會提升,且呼叫 API 的成本也會大幅降低。我就好奇到底他們增加了哪些詞彙?這篇文章將介紹如何用 Python 取得這個詞彙表的內容。
... 繼續閱讀 ...
我之前寫過一篇鉅細靡遺的如何透過 FFmpeg 將 SRT 字幕檔寫入到 MP4 影片檔中文章,也寫過一篇如何使用 FFmpeg 進行圖片壓縮與製作家庭影片文章,我覺得已經涵蓋了許多應用情境了。前陣子嘗試用 Gemini API 翻譯國外知名的 Podcast 節目,想說把翻譯好的轉錄稿直接跟 MP3 聲音檔結合,配一張圖片,就可以輸出個含字幕的 MP4 影片了,方便我邊聽、邊看字幕、邊學英文,誰知道 AI 問個老半天都問不出來。最終我還是搞定了這個需求,這篇文章來記錄一下重要的背景知識與觀念。
... 繼續閱讀 ...