Amo Chen

白話文解說 Levenshtein Distance(萊文斯坦距離)

不知道你是否曾好奇,像 Google 或 Bing 這類搜尋引擎,是如何辨識你輸入的錯別字?例如,當你輸入 “seperate”(錯誤拼字)時,搜尋引擎能夠自動修正為正確的 “separate”,並以正確拼字進行搜尋和呈現結果。

本文將介紹一種演算法 — Levenshtein Distance(或稱萊文斯坦距離)!透過這個演算法,我們可以了解搜尋引擎如何尋找相似的單字,而且這個演算法也被知名的 Elasticsearch 所使用,相當值得認識!

接下來,本文將從編輯距離(edit distance)的概念出發,逐步帶你深入了解 Levenshtein Distance。

Posted on  Jan 18, 2025  in  演算法  by  Amo Chen  ‐ 7 min read

ChartDB — 開源的資料庫圖表編輯器

ChartDB 是一款開放原始碼的資料庫圖表編輯器,其最大特色在於無需提供資料庫帳號密碼,即可視覺化所有表格結構。它的做法其實是請使用者執行一段 SQL 指令,以

Posted on  Nov 16, 2024  by  Amo Chen  ‐ 1 min read

使用 Groq 加速 Llama 語言模型回應速度

最近在 localhost 使用 Llama 3.1 8B 版本的語言模型,總覺得回應速度還是有些慢,於是開始找解決方案,沒想到很快就發現了 Groq,搭配 LangChain 的 ChatGroq,瞬間解

Posted on  Nov 12, 2024  by  Amo Chen  ‐ 1 min read

繼承擴充 Dockerfile 的另一種方法 — Dockerfile+

在軟體開發實務中,經常需要為不同環境撰寫不同的 Dockerfile,例如,本地開發環境通常需要啟用自動偵測程式碼變動並自動重新載入的功能 (通常稱為 reload 功能),而生產環境則不需要這類自動重新載入的機制。

有些人可能會使用 multi-stage build 的方式,從共用的 base image 繼承並擴充。不過,本文將介紹另一種方法,使用 Dockerfile+做到 Dockerfile 的繼承與擴充。

Last updated on  Nov 15, 2024  by  Amo Chen  ‐ 3 min read

原來 GitHub 的 markdown 語法有 Alerts 可以使用

剛好看到人家在聊 GitHub 的 markdown 有支援 Alerts,如下圖。 Alerts 是基於 blockquote 語法的擴充,有 NOTE, TIP, IMPORTANT, WARNING, CAUTION 五種,使用也很簡單,範例如下: > [!NOTE] > Useful information that users should know, even when skimming content.

Posted on  Oct 23, 2024  by  Amo Chen  ‐ 1 min read