2025年1月2日

openWebUI 建置

檢查 python 版本

python --version

驗證ollama

可開啟瀏覽器輸入 http://127.0.0.1:11434 來確認ollama server是否正常運作。

查看容器

docker container ls -a

有了 CONTAINER ID 要移除的 Container,就可以使用 docker container rm 移除方法如:

docker container rm xxxxxx-id

查 docker images 

docker images -a

移除 docker images

docker image rm xxxxx-image-ID

ollama 官方docker指令是:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

To run Open WebUI with Nvidia GPU support, use this command:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

==問題來了!==

open-webui正常可以访问,但是无法找ollama的的model也无法下载模型

差別在 -p 3000:8080   ,要在local可訪問,用以下指令啟動 (see https://www.cnblogs.com/qumogu/p/18235298):

解决办法

1. open-webui使用主机网络,即下指令 (有試成功)

sudo docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

2. 修改启动配置 (待試)

默认ollama绑定在127.0.0.1的11434端口,修改/etc/systemd/system/ollama.service,在[Service]下「再」添加一行如下内容,使ollama绑定到0.0.0.0的11434端口

Environment="OLLAMA_HOST=0.0.0.0"


2024年11月27日

yt-dlp (pip):下載 YT 的字幕套件

1. 要先用 pip 安裝 (安裝請自行查網路)

2. 檢查版本

pip list

我目前用的版本是:

yt-dlp 2023.11.16

3. 建議先用參數--list-subs列出可下載的字幕格式:

yt-dlp --list-subs "https://www.youtube.com/watch?v=eVqJjPGh5MU"

4. 指令結果:發現這影片原有上傳的字幕是 en,不是en-US。

en 這是原字幕作者上傳時所選的格式,填錯會無法下載

$ yt-dlp --list-subs "https://www.youtube.com/watch?v=eVqJjPGh5MU"
[youtube] Extracting URL: https://www.youtube.com/watch?v=eVqJjPGh5MU
[youtube] eVqJjPGh5MU: Downloading webpage
[youtube] eVqJjPGh5MU: Downloading ios player API JSON
...
[info] Available subtitles for eVqJjPGh5MU:
Language Name    Formats
en       English vtt, ttml, srv3, srv2, srv1, json3

4. 所以下載「YT自動翻譯成繁中字幕」的指令是

yt-dlp --output "%(title)s.%(ext)s" --write-auto-subs --sub-lang zh-Hant-en --write-sub --convert-subs srt --skip-download "https://www.youtube.com/watch?v=eVqJjPGh5MU"

==說明==

下載存檔時,用原本影片的標題
--output "%(title)s.%(ext)s"

字幕語言:zh-Hant-en 代表從 en 自動翻譯來的 zh-Hant (繁體中文) 字幕
--write-auto-subs --sub-lang zh-Hant-en

存成 srt 格式字幕檔
--write-sub --convert-subs srt

不下載影片,只下載字幕
--skip-download

YT 影片網址 (用 copy&paste)
"https://www.youtube.com/watch?v=eVqJjPGh5MU"


===yt-dlp help===

See full documentation at  https://github.com/yt-dlp/yt-dlp#readme


2024年11月15日

不能 stop ducker

試很多方法法都無法 stop container,例如

docker stop 4a1bf1fd1f05

Error response from daemon: cannot stop container: 4a1bf1fd1f05: permission denied

==解決方法==
下此指令
sudo aa-remove-unknown

就可以了!

docker stop $(sudo docker ps -aq)


出現 Error:
Error starting userland proxy: listen tcp4 0.0.0.0:11434: bind: address already in use.

==停止 ollama service==

sudo systemctl stop ollama.service


==找出 litsen port==

sudo lsof -i -P -n | grep 11434

2024年10月27日

字幕檔格式 *.srt *.lrc

 大家所熟知的字幕檔格式是 .srt

1
00:00:00,000 --> 00:00:04,700
大家好 歡迎來到楊匹托課的三分鐘小路用
2
00:00:04,700 --> 00:00:07,500
經濟學是一門有趣的知識
3
00:00:07,500 --> 00:00:10,800
它常常提供我們想不到的觀點

而YouTube 支援的字幕檔案格式

格式名稱副檔名更多資訊
SubRip.srt僅支援最基本的版本,無法識別任何樣式資訊 (標記)。檔案必須為純 UTF-8 編碼。
SubViewer.sbv 或 .sub僅支援最基本的版本,無法識別任何樣式資訊 (標記)。檔案必須為純 UTF-8 編碼。
MPsub (MPlayer 字幕).mpsub支援「FORMAT=」參數。
LRC.lrc無法識別任何樣式資訊 (標記),但支援增強格式。
Videotron Lambda.cap主要用於日文字幕。

 如想充分控管字幕樣式 (標記) 或位置,請使用以下檔案格式。

格式名稱副檔名更多資訊
SAMI (同步可存取媒體交換).smi 或 .sami僅支援時間碼、文字與簡易標記 (<b>、<i>、<u> 和
<font> 中的 color= 屬性)。不支援位置資訊。
RealText.rt僅支援時間碼、文字與簡易標記 (<b>、<i>、<u> 和
<font> 中的 color= 屬性)。不支援位置資訊。
WebVTT.vtt目前仍在初步實行階段。支援位置資訊,但由於 CSS 類別名稱尚未標準化,因此樣式僅限於 <b>、<i>、<u>。
TTML (時控文本標記語言).ttml目前尚未完全實行。SMPTE-TT 擴充功能支援 CEA-608 功能。支援 iTunes Timed Text (iTT) 檔案格式;iTT 是 TTML 1.0 版的子集。支援樣式與位置資訊。
DFXP (發布格式交換設定檔).ttml 或 .dfxp這兩個檔案類型會解譯為 TTML 檔案。


劇作家隱藏式輔助字幕 (.scc 副檔名) 檔案是YT建議的檔案格式。這類檔案能精確呈現 CEA-608 資料的內容,因此是採用 CEA-608 功能的字幕的首選格式。
字幕檔案格式 ass 適合比較複雜的字幕
LRC格式,相對也簡單,如下:
[00:12.00]第一行歌词
[00:17.20]F: 第二行歌词
[00:21.10]M: 第三行歌词
[00:24.00]第四行歌词
[00:28.25]D: 第五行歌词
[00:29.02]第六行歌词


2024年10月12日

靜音鍵盤

錄音時,鍵盤會發出微微吵人的聲音,感覺不太理想。找了靜音鍵盤。才發現鍵盤也有大學問。

據YT影片比較 (https://youtu.be/XrCwR_XQy_4?si=UI9uQBPBlGx8d7pk),聲音大小是

(Cherry MX 軸音量排名)

靜音紅軸 < 黑軸 < 紅軸 < 茶軸 < 青軸 

還有可以熱插拔,可換任意軸的鍵盤

不需要右邊數字鍵的話,可以選 TLK 鍵盤 (Ten Key Less), 尺寸大小和功能鍵多寡

品牌:Cherry, 艾瑞克 iRock (https://www.i-rocks.com.tw/web/index/index.jsp?lang=tw), DUCKY ONE 2 冷門的Mistel和Vortex

(要靜音,建議麥克風收音可以不要放桌上)

考慮:

有線 Cherry MX Board 3.0S RGB TKL $2,290() 有線 Cherry MX 1.1 RGB TKL $2,490()

不低價:

羅技G G913 TKL 無線 80%機械式電競鍵盤 NT$4,490

有發票:

無發票

肥貓鍵客一號店

2024年8月30日

免費AI模型試驗場:huggingface.co

沒聽過 huggingface.co ?

這是一個很有名的免費AI模型試驗場。可以先試試看某個模型對你有沒有用,再決定下載在本機電腦來使用。

我試過漫畫產生器

ai-comic-factory

產生如下,還滿有趣的。



==設定==

You can create a repository from the CLI (skip if you created a repo from the website)

$pip install huggingface_hub
#You already have it if you installed transformers or datasets

$huggingface-cli login
#Log in using a token from huggingface.co/settings/tokens
#Create a model or dataset repo from the CLI if needed
$huggingface-cli repo create repo_name --type {model, dataset, space}

Clone your model, dataset or Space locally

#Make sure you have git-lfs installed
#(https://git-lfs.github.com)
$git lfs install
$git clone https://huggingface.co/username/repo_name

Then add, commit and push any file you want, including larges files

# save files via `.save_pretrained()` or move them here
$git add .
$git commit -m "commit from $USER"
$git push

In most cases, if you're using one of the compatible libraries, your repo will then be accessible from code, through its identifier: username/repo_name

For example for a transformers model, anyone can load it with:

tokenizer = AutoTokenizer.from_pretrained("username/repo_name")
model = AutoModel.from_pretrained("username/repo_name")

2024年7月6日

磁碟很快滿!?改變 docker,flakpak,

在AI 的開發世界,非 windows 的環境應該是主流了。但不同的OS版本和開發環境套件版本,經常不相容而造成使用上的困難。

很多應用程式套件想出了各種方法 (像我正在使用的 docker,flakpak,snapd...),讓軟體可以在眾多Linux發行版(ubuntu、redhat、debian、openSUSE、Fedora,..., etc. see: https://distrowatch.com/)上正常執行。這些都不同於傳統的Linux套件管理方法,但可以讓各種有用的軟體,可很方便地在你的非 windows OS 中應用。

當然缺點就是會佔據很大的硬碟空間,若你經常備份整台電腦,這種套件愈多,會讓備分時間備增而不便。

以下先紀錄這些套件在本地電腦 mint OS 的預設儲存位置,以便在備份時排除之。

/var/lib/socker

/var/flatpak

/var/snapd

/usr/ollama