文章

白話文解說 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

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

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

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

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

如何在 Google Colab 上執行 Ollama

最近在研究 AutoGen 時有個奇想—「要是可以在 Google Colab 裝 Ollama 的話,不知道有多方便?」

想不到一查還真的有辦法可以在 Google Colab 執行 Ollama。

本文將分享如何在 Google Colab 上執行 Ollama 的詳細步驟。

Posted on  Sep 25, 2024  by  Amo Chen  ‐ 2 min read

使用 AutoGen 打造多 AI 工作流 — Sequential Chat 與 Nested Chat

使用 AutoGen 打造多 AI 工作流 — Two-Agent Chat 與 Group Chat 一文中介紹 two-agent chat 與 group chat 兩種對話模式,本文將接續介紹剩下 2 種對話模式:

  • Sequential Chats
  • Nested Chats

理解 AutoGen 的各種對話模式,將有助於處理較複雜的 workflow。

最後,在 Nested Chats 的程式碼範例中,我們將介紹如何使用 AutoGen 執行 Python 程式碼,並取得其執行結果與 agent 進行互動。

Posted on  Sep 24, 2024  in  AutoGen  by  Amo Chen  ‐ 8 min read

使用 AutoGen 打造多 AI 工作流 — Two-Agent Chat 與 Group Chat

大家應該或多或少聽說過 ChatDev, Devika 等 AI 專案, 這些 AI 專案的特點在於多個 AI 角色協同完成工作,能夠完成多樣化的任務,例如制定軟體規格、撰寫程式碼以及測試軟體等不同層面的任務。

如果單純只有使用 ChatGPT 的經驗,應該很難想像 AI 是如何處理如此複雜的功能,但如果將這些任務像人類分工一樣,交由專門的 AI 或模型負責的話,這一切就變得合理與易於理解。

本文將介紹如何使用 AutoGen 打造多 AI 協同合作的工作流,讓大家能夠更加發揮 AI 的力量,打造更複雜的 AI 工作流程,解放 AI 在輔助日常工作的更多可能性。

Posted on  Sep 23, 2024  in  AutoGen  by  Amo Chen  ‐ 11 min read

後端工程師面試考什麼 — Load Balancer vs. Reverse Proxy vs. API Gateway vs. HAProxy

後端工程師在日常工作或面試中,常常會遇到以下幾種技術與工具:

  • Load Balancer
  • Reverse Proxy
  • API Gateway
  • HAProxy

這些技術的共通點是它們都處於承載流量的第一線,但在用途上卻各有不同,因此容易產生混淆。

本文將釐清這些技術與工具的差異,以理解它們各自的功能與應用場景,避免常見的誤解。

Posted on  Sep 11, 2024  in  後端面試準備  by  Amo Chen  ‐ 5 min read

用 Python 學蒙地卡羅方法/模擬

如果說有一種方法能像奇異博士那樣看到 14,000,605 種未來,那大概就是蒙地卡羅方法了。

在接觸蒙地卡羅方法之前,我曾以為它是一種神奇的演算法。但深入了解後才發現,蒙地卡羅方法其實是一種簡單、直觀且實用的工具!

本文將介紹蒙地卡羅方法,並使用 Python 進行實際演練,從計算 π 值到模擬台股的長期投資,幫助大家從理論到實務全面掌握!

Posted on  Sep 9, 2024  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 5 min read