MyApollo

MyApollo

輕鬆學習程式語言和最新技術趨勢,踏上從小工到大師之旅!

60 秒新知

工具分享 — Tiktokenizer

自然語言處理(NLP, Natural Language Processing)與機器學習(machine learning)的相關技術中,有 1 個稱為 Tokenization (或稱斷詞)。該技術是

Posted on  Mar 18, 2024  by  Amo Chen  ‐ 1 min read

好文分享 — Roadmap to Learn AI in 2024

“Roadmap to Learn AI in 2024” 1 文彙整學習人工智能與機器學習可以從哪些人、書、論文、電子報等資源著手,整理的相當完整,如果你對人工智能與

Posted on  Mar 17, 2024  by  Amo Chen  ‐ 1 min read

好文分享 — Popular git config options

俗話說的好,工欲善其事,必先利其器! 特別是每天工作在用的 git, 絕對要調整幾個能讓自己工作更順手的設定! “Popular git config options” 1 文分

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

最新文章

LangChain 怎麼玩?如何做資料庫查詢機器人

作為軟體開發者,你開始發想任何語言模型可以應用的領域了嗎?

如果你沒有任何想法,也許可以先看看怎麼藉由語言模型,讓我們可以用對話方式,就能夠自動對資料庫執行 SQL 進行查詢,而且過程中完全不需要寫任何 SQL 喔!

也許看完本文,你會對語言模型的應用想像會有更清楚的畫面!

Posted on  Mar 14, 2024  in  LangChain , Python 程式設計 - 高階  by  Amo Chen  ‐ 5 min read

如何在終端機(terminal)漂亮地平行列印文字訊息(parallel output)?

在使用 multiprocessing, threading 等模組跑平行處理時,如果需要在每個執行單位(process, thread)列印一些字串的話,你會怎麼做?

我想大多數人都直接 print() 到 terminal 就好,但是輸出的文字太多太長時,通常都沒有太大助益,這時候最好將輸出寫到檔案,一旦有問題就可以從檔案中尋找問題。

但是,我們多數時候還是想知道執行單位最新的運作狀態,例如正在執行哪個步驟,這些輸出一直附加到 terminal 上的話,不免還是會讓 terminal 顯得難看⋯⋯。

因此,本文將介紹 1 種方法讓平行處理的輸出可以清掉舊的輸出(output),並覆蓋新的輸出(output)上去,如此一來不僅可以知道每個執行單位的最新狀況,還可以讓 terminal 顯得乾淨、優雅!

Posted on  Mar 13, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 2 min read

LangChain 怎麼玩?用 LangSmith 幫忙追查問題

LangChain 或其他語言模型框架的應用,先天上就相對不容易進行除錯,畢竟有太多步驟被包裝的相當好,一旦打開除錯模式(debug mode),就會有相當多的資訊輸出,即使是專家也很難馬上從眾多資訊中迅速定位問題。

如果能藉由較好的 UI 介面或工具,肯定可以減輕在除錯上的困難度。

LangChain 也知道這些痛點,因此將資訊的收集、彙整、呈現都整合到 LangSmith 之中,可以幫助我們更輕鬆地開發 LangChain 應用!

本文將帶各位簡略地認識與學習使用 LangSmith 。

Posted on  Mar 11, 2024  in  LangChain , Python 程式設計 - 高階  by  Amo Chen  ‐ 3 min read

熱門文章

零經驗也可的 PySpark 教學 - 初體驗

Apache Spark 是現今處理巨量資料(large-scale data)分析、資料處理、機器學習(machine learning)的主流叢集運算框架之一,其主打簡單、快速、可擴充(scalable)、統一介面(unified) 4 大特點,更支援多種語言(Python, Java, R, SQL)可供靈活選擇運用。

Spark 採用的是 In-memory 運算技術,運算的資料存在於記憶體之中,相對於使用硬碟等儲存媒介的運算框架(例如 Apache Hadoop)而言, Spark 具有運算速度的優勢。

此外,除了提供核心運算功能的 Spark Core, Apache Spark 更在其基礎上衍生 Spark SQL, Spark Streaming, MLlib, GraphX 四大功能:

  • Spark SQL - 支援以 SQL 對資料進行操作、運算
  • Spark Streaming - 讓 Spark 能夠處理串流(streaming)形式的資料
  • MLlib - 增加機器學習(machine learning)的相關函式庫(library),讓開發者得以利用 Apache Spark 進行機器學習相關的運算
  • GraphX - 支援圖論(graph theory)相關的運算,像社群網絡(social network)相關數據分析就適合使用 GraphX 進行運算

引用自 https://databricks.com

綜觀來說,Apache Spark 是相當值得投資學習的一套運算框架。

本文將透過 Docker 以及 PySpark 為初學者提供接觸 Apache Spark 的一條捷徑。

Last updated on  Dec 16, 2022  in  Python 模組/套件推薦 , Python 程式設計 - 高階  by  Amo Chen  ‐ 5 min read

Python asyncio 從不會到上路

自從 Python 3.4 推出 asyncio 模組之後,開發者在提升 Python 程式效能的解決方案上又多了 1 種選擇。

不過相較於較為人所熟知的 multiprocessingthreading 而言,大多數初學者並不習慣非同步式(asynchronous)式的開發思維,但只要能夠掌握 asyncio 模組中幾點重要的概念,即使是從未接觸過的初學者,也能夠慢慢掌握 asyncio 的使用方式。

本文將重點介紹 asyncio 模組中的重要概念,並透過實際範例理解 asyncio 的運作,從而學會如何使用 asyncio 模組。

Last updated on  Oct 1, 2023  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 13 min read

用範例輕鬆學 Python multiprocessing 模組

Python 內建的 multiprocessing 是相當重要的模組,如果有平行(parallelism)處理的需求,除了內建的 threading 模組之外,另一個就屬 multiprocessing 。

使用 multiprocessing 的好處在於能夠很大程度避開 Python GIL 對於程式效能的影響,但壞處則是對於記憶體的耗用程度也較高,即便如此也是一個必須了解的模組。

本篇將實際透過幾個範例學習如何使用 multiprocessing 模組。

Last updated on  Aug 8, 2023  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 5 min read