Image generated by [ChatGPT](https://chatgpt.com/)

SystemExit 使 asyncio.run_coroutine_threadsafe 永遠卡住

今天在 debug Ray 的某個 issue 的時候,因為沒注意到 Python 的 asyncio.run_coroutine_threadsafe 的特殊行為,官方 doc 沒有特別說明,要去看 CPython source code 才知道,導致 debug 了有點久的時間,特此紀錄。 根據 官方文檔 ,這個 function 是用來把一個 coroutine 跑在另一個 thread 上面的 event loop 裡面,然後他會 return 一個 Future object。 ...

發佈於: 2025-03-05 · 最後修改: 2025-03-18 · 劉奇聖
Ray logo from [GitHub](https://github.com/ray-project/ray)

不尋常的找工作方式:我透過貢獻 KubeRay 開源專案找到美國跨國遠端軟體工程師職缺!

前言 這次很高興透過貢獻 KubeRay 這個開源專案,得到了加入 Anyscale 遠端工作的機會。 在你繼續看下去之前,先給一些免責聲明,澆一下冷水,避免你看完期望太高。很多人都只寫好的一面,我不喜歡這樣。如果看完你還是想透過做開源這條路找到工作的話再看,否則其實已經可以離開了: ...

發佈於: 2024-10-06 · 最後修改: 2024-10-07 · 劉奇聖
Interaction between client-go and Kubernetes operator. Image from [sample-controller](https://github.com/kubernetes/sample-controller/blob/master/docs/images/client-go-controller-interaction.jpeg)

如何使用 client-go 寫一個 Kubernetes Operator

什麼是 client-go? client-go 是 Kubernetes 官方的 Golang client,負責跟 Kubernetes API server 用 REST API 的方式互動。其實 client-go 基本上可以做任何事情,不只是拿來寫 operator,連 kubectl 內部的實作也是用 client-go。至於更專門拿來寫 operator 的框架,包含 controller-runtime 、 kubebuilder 、 operator-sdk 會在本系列文的後續介紹。 ...

發佈於: 2024-09-14 · 劉奇聖
Image from [GraphRAG](https://github.com/microsoft/graphrag/blob/e7ee8cb8a53b0ca423158e0acf54f143b4938e2a/docsite/img/GraphRag-Figure1.jpg) and [Ollama](https://github.com/ollama/ollama/issues/2152)

本地架設 GraphRAG + Ollama 完整避坑指南

TL;DR 若只想看結論,請直接跳到 總結 。請注意本文所述內容只確保版本 0.3.2 可以用,沒有測試過其他版本。 簡介 GraphRAG 是微軟釋出的一種新的 RAG (Retrieval-Augmented Generation) 技術,對比於一般的 RAG 作法是把文本切塊然後向量化存在 vector store,查詢的時候把使用者的輸入也向量化然後再去比較相似度,GraphRAG 則是從文本之中提取出資訊並建成一個 Knowledge Graph,優點是可以更好的理解不同文本之間複雜的關聯性。 ...

發佈於: 2024-09-11 · 最後修改: 2024-09-13 · 劉奇聖
圖片修改自 [Kubernetes Icons Set](https://github.com/kubernetes/community/tree/master/icons)

什麼是 Kubernetes Operator 以及 Custom Resources?

Kubernetes API Resources 這邊假設你已經對 Kubernetes 有基本的認識,知道怎麼用 kubectl。Pod、ReplicaSet、Service,甚至是 Namespace 其實都是一種 API Resource。 可以用 kubectl api-resources 來查看現在 Kubernetes 裡面存在的所有 API Resources。 ...

發佈於: 2024-08-29 · 最後修改: 2024-08-31 · 劉奇聖