by Rain Chu | 8 月 7, 2025 | 未分類
gpt‑oss 教學,可以在 16 GB 筆電上免費使用 OpenAI 的開源 gpt‑oss‑20B / 120B GPT 模型,2025/8/5 OpenAI 終於推出的 gpt‑oss(包括 gpt‑oss‑20B 與 gpt‑oss‑120B)簡直是福音!這些開源模型支持在具備足夠資源的電腦上離線運行,完全不需要存取 OpenAI 伺服器,既保護資料隱私,又零使用量限制。
GPT‑OSS 模型概覽
- gpt‑oss‑120B
1170 億參數的強大模型,在主要推理基準上接近 OpenAI 的 o4‑mini 表現,同時支援 chain-of-thought 規劃,適用於需要高級推理能力的場景。
- gpt‑oss‑20B
約 210 億參數,效能與 o3‑mini 相當,卻可在只需 16 GB 記憶體的裝置上運行,是輕量級的最佳選擇。
兩者皆採用 Mixture-of-Experts 架構(MoE),對每個 token 只啟用一部分參數,有效節省記憶體與運算資源。
模型授權為 Apache 2.0,開放商業使用、修改與分發。
為什麼它值得推薦?
- 真·免費 & 無使用限制:完全無需訂閱、不計費,也無 API 次數限制。
- 離線運行,資料更安全:不連網執行,所有運算都在本地完成,隱私無虞。
- 高效能與實用性並重:gpt‑oss‑20B 適合筆電、家庭工作站;gpt‑oss‑120B 則適用於高性能 GPU 主機。
如何開始在本地使用 GPT‑OSS?
以下以 Ollama 為例,快速上手流程:
- 安裝 Ollama(適用於 Windows / macOS / Linux)。
- 使用指令下載模型:ollama pull gpt‑oss:20b
- 啟動模型聊天介面:ollama run gpt‑oss:20b
- 要完全離線,也可在 Ollama 設定中啟用「飛航模式」。
ollama pull gpt‑oss:20b # 適合 16 GB 裝置
ollama pull gpt‑oss:120b # 適用於 GPU ≥ 60 GB 設備
對部分硬體較低端的使用者,也可透過像 llama.cpp 加上 GGUF 精簡版模型運行,建議至少 14 GB 記憶體以獲得流暢回應。
歸納總結
| 模型版本 | 適用裝置 | 模型特性 |
|---|
| gpt‑oss‑20B | 筆電 / Mac 開發者 | 約 210 億參數、效能近 o3‑mini |
| gpt‑oss‑120B | 高階工作站 / GPU 主機 | 約 1170 億參數、推理接近 o4‑mini |
兩者皆具備開源特性,可離線運行、免費使用、無使用量限制,非常適合自主部署與隱私需求高的專案。此外,也可透過 Hugging Face、Azure、AWS 等多平台取得模型。
同場加映
- 可以用於 mac mini 建議用 oss-120B 放在 MAC 128G 共同記憶體以上的機器,可以有每秒 40 token
- 不想買機器的,可以先用 openrouter 或是 Groq
- 內建有 BrowserUse,Python,MCP
- 可以控制推理強度
- MoE混合推理模型
- 支援企業級應用 vLLM,SGLang
- 可以用於 Agent,微調
- 原生支援MXFP4,ollama等無須轉換
參考資料
https://github.com/openai/gpt-oss
by Rain Chu | 6 月 9, 2025 | Nginx, SERVER
在從網路上取得網頁時,如果想用 Nginx 作為反向代理器來連線一個介由 Cloudflare 保護且介面是 HTTPS 的網站,你可能會遇到一些繁複的錯誤,包括 Cloudflare Error 1001,502 Bad Gateway,或 421 Misdirected Request 等,這邊就分享一下我遇到的經驗以及如何正確設定 Nginx,反向代理一個有 SSL 保護的網站。
環境概要
- Nginx 作為前端 proxy :
shop.example.com
- Upstream 目標 :
https://target.example.com(Cloudflare 網站)
- Cloudflare 用於 DNS + CDN + WAF
1. Nginx 基礎設定
幾個重點
1.1 要聽 443 port
1.2 要設定 proxy_ssl_name, proxy_ssl_server_name
1.3 DNS 要設定 resolver
upstream secure_pool {
server target.example.com:443;
keepalive 16;
}
server {
listen 443 ssl;
server_name shop.example.com;
ssl_certificate /etc/letsencrypt/live/shop.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/shop.example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;
location / {
proxy_pass https://secure_pool;
proxy_ssl_server_name on;
proxy_ssl_name target.example.com;
proxy_set_header Host target.example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent "Mozilla/5.0 (compatible; Nginx Proxy)";
}
}
2. 常見錯誤與解決方案
❌ Error 1001 – DNS Resolution Error (Cloudflare)
- 原因:Cloudflare 無法解析 upstream hostname
- 解決:確保 Nginx 加入
resolver 設定
❌ 502 Bad Gateway
- 原因:upstream HTTPS 連線失敗
- 解決:
proxy_pass 設為 https://...
proxy_ssl_server_name on;
- 加入
proxy_ssl_name + Host 不要用 $host
❌ 421 Misdirected Request
- 原因:SNI 與 Host header 不符
- 解決:
proxy_ssl_name target.example.com;
proxy_set_header Host target.example.com;
3. Debug 技巧
看 error log 解答還原:
用 curl 測試 upstream 是否支援 HTTPS
4. 結論
要用 Nginx 來反向代理一個 SSL 網站,最重要的是使 Nginx 能「知道」你的 upstream 是 HTTPS,且 TLS SNI 與 Host 項目必須一致。
by Rain Chu | 5 月 12, 2025 | AI, 語音合成
Speech Synthesis 是一款免費的線上文字轉語音工具,支援超過 40 種語言和數百種語音選擇,並可自訂語調(SSML)、節奏與語氣,讓語音更貼近您的需求。
🔑 主要特色
- 多語言支援:涵蓋繁體中文、粵語、英語、日語等多種語言,滿足全球用戶的需求。
- 多樣化語音選擇:提供數百種語音,包括不同性別、年齡和口音的選項。
- 自訂語音參數:可調整語速(如 x-slow、slow、medium、fast、x-fast)、語調和音量,打造個性化的語音輸出。
- 支援 SSML:支援語音合成標記語言(SSML),讓進階用戶能夠更精細地控制語音輸出。
- 多種音訊格式:可選擇 MP3、WAV 等格式,並提供不同的音質設定,如 16kHz-128k、24kHz-160k、48kHz-192k。
🧪 使用方式
- 前往 Speech Synthesis 官方網站。
- 在「TEXT」欄位輸入您要轉換的文字,或上傳文件。
- 選擇語言和語音,並調整語速、語調和音量等參數。
- 點擊「合成語音」按鈕,系統將生成語音檔案。
- 試聽並下載生成的語音檔案。
🔍 與其他熱門 TTS 工具的比較
| 工具名稱 | 語言支援數 | 語音選擇數 | 自訂參數 | 支援 SSML | 價格 |
|---|
| Speech Synthesis | 40+ | 數百種 | ✅ | ✅ | 免費 |
| TTSMaker | 100+ | 600+ | ✅ | ✅ | 免費 |
| Google Text-to-Speech | 30+ | 220+ | ✅ | ✅ | 免費(有使用限制) |
| MyEdit | 26+ | 多種 | ✅ | ❌ | 免費 |
參考資料
by Rain Chu | 4 月 26, 2025 | Python, 程式
UIAutoDev 是一款不可或缺的工具,它支援 Android 和 iOS 平台,提供直觀的圖形介面,讓開發者能夠輕鬆地定位 UI 元素、生成選擇器,並進行色彩分析。
UIAutoDev UI DEMO
🔧 UIAutoDev 的核心特色
1. 支援 Android 和 iOS 平台
UIAutoDev 同時支援 Android 和 iOS 裝置的 UI 元素檢視與操作。對於 iOS,用戶需自行啟動 WebDriverAgent(WDA)服務,以實現與裝置的連接。
2. 直觀的控件選擇與屬性檢視
透過滑鼠點選應用程式中的控件,UIAutoDev 會即時顯示該元素的屬性資訊,如 resource-id、text、class 等,並在控件樹中高亮顯示,方便用戶精確定位。
3. 自動生成 XPath 選擇器
UIAutoDev 能夠根據選取的控件,自動生成多個 XPath 選擇器,並標示每個選擇器匹配的元素數量,協助用戶選擇最合適的定位方式。
4. 色彩分析與坐標微調
工具提供找色功能,允許用戶獲取指定位置的 RGB 和 HSB 色值。同時,透過方向鍵微調坐標,精確定位需要操作的區域,提升自動化腳本的準確性。
🚀 安裝與使用指南
1. 安裝 Python 環境
確保系統已安裝 Python 3.8 或以上版本。
2. 安裝 UIAutoDev
在終端機中執行以下命令:
3. 啟動 UIAutoDev
安裝完成後,執行以下命令啟動工具:
啟動後,瀏覽器將自動打開 UIAutoDev 的網頁介面。
4. 連接裝置
- Android:啟用開發者選項並允許 USB 偵錯,使用 USB 或 Wi-Fi 連接裝置。
- iOS:啟動 WebDriverAgent(WDA)服務,並確保裝置與電腦在同一網路下。
5. 使用工具進行 UI 元素定位
- 在網頁介面中選擇已連接的裝置。
- 點擊「刷新」按鈕,同步裝置當前畫面。
- 使用滑鼠點選畫面中的控件,查看其屬性資訊,並在右側控件樹中進行導航。
- 利用自動生成的 XPath 選擇器,快速編寫自動化腳本。
🧪 實際應用範例
可以先看DEMO
以下是一段使用 uiautomator2 與 UIAutoDev 結合的 Python 腳本範例:
import uiautomator2 as u2
# 連接到裝置
d = u2.connect()
# 啟動應用程式
d.app_start("com.example.app")
# 點擊指定的控件
d(resourceId="com.example.app:id/button").click()
# 輸入文字
d(resourceId="com.example.app:id/input").set_text("測試輸入")
# 關閉應用程式
d.app_stop("com.example.app")
透過 UIAutoDev 提供的控件屬性資訊,您可以輕鬆取得 resource-id 等屬性,快速編寫上述腳本。
參考資料
https://testerhome.com/topics/40069
by Rain Chu | 4 月 26, 2025 | 3D, AI
OpenAI 推出了兩款開源的 3D 建模工具:Point-E 和 Shap-E,分別專注於從文字或圖片生成 3D 模型,接下來介紹這兩個模型的核心特性、技術架構、使用方法,並比較它們的優缺點,協助您選擇最適合的工具。
🔍 Point-E:快速生成 3D 點雲的 AI 工具
📌 核心特點
- 輸入類型:支援文字描述或 2D 圖片。
- 輸出格式:生成彩色點雲(point cloud),可轉換為網格(mesh)。
- 處理速度:在單張 GPU 上約需 1–2 分鐘。
- 技術架構:採用兩階段擴散模型,先生成合成視圖,再生成點雲。
- 應用場景:快速原型設計、教育用途、遊戲開發等。
🧪 使用方法
- 安裝:
生成點雲:
🧠 Shap-E:生成高品質 3D 隱式模型的 AI 工具
📌 核心特點
- 輸入類型:支援文字描述或 2D 圖片。
- 輸出格式:生成隱式函數,可渲染為帶紋理的網格或神經輻射場(NeRF)。
- 處理速度:在單張 GPU 上可於數秒內生成。
- 技術架構:先訓練編碼器將 3D 資產映射為隱式函數參數,再訓練條件擴散模型生成 3D 模型。
- 應用場景:高品質 3D 資產創建、AR/VR 應用、3D 列印等。
🧪 使用方法
- 安裝:
生成 3D 模型:
- 使用
sample_text_to_3d.ipynb 或 sample_image_to_3d.ipynb 範例筆記本。
- 可將生成的模型導出為常見的 3D 格式,供進一步編輯或列印。
⚖️ Point-E 與 Shap-E 的比較
| 特性 | Point-E | Shap-E |
|---|
| 輸入類型 | 文字、圖片 | 文字、圖片 |
| 輸出格式 | 彩色點雲,可轉為網格 | 隱式函數,可渲染為網格或 NeRF |
| 處理速度 | 約 1–2 分鐘 | 數秒內 |
| 模型架構 | 兩階段擴散模型 | 編碼器 + 條件擴散模型 |
| 輸出品質 | 中等,適合快速原型設計 | 高品質,適合精細 3D 資產創建 |
| 應用場景 | 快速原型、教育、遊戲開發 | 高品質 3D 資產、AR/VR、3D 列印等 |
🧩 適用場景建議
- Point-E:適合需要快速生成 3D 模型的場景,如教育、初步設計、遊戲開發等。
- Shap-E:適合對 3D 模型品質要求較高的場景,如 AR/VR 應用、3D 列印、動畫製作等。
🔗 資源連結
參考資訊
近期留言