文章

繼承擴充 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

DBSCAN 分群演算法介紹與實際應用範例

以前在開發 Chrome 擴充 NimoTab 時,有 1 個功能需要將相似/相同的網頁標題分群在一起,例如下圖:

nimotab-clustering.png

當時用的是土炮的方法(但其實類似 DBSCAN),不過後來跟從事機器學習的同事討教有沒有更好的做法時,才知道有 1 個稱為 DBSCAN 的演算法可以使用。

本文將介紹 DBSCAN 這個實用的分群演算法,並以實際範例展示如何做到將相似的資料分群在一起,藉此讓大家對 DBSCAN 有更深入的理解。

Posted on  Sep 2, 2024  in  演算法  by  Amo Chen  ‐ 7 min read