1# 克隆 llama.cpp
2git clone https://github.com/ggml-org/llama.cpp.git
3cd llama.cpp
4
5# 編譯 CPU 版本
6cmake -B build
7cmake --build build -j
8
9# 或使用 Metal (Apple Silicon GPU)
10cmake -B build -DGGML_METAL=ON
11cmake --build build -j
12
13# 或使用 CUDA (NVIDIA GPU)
14cmake -B build -DGGML_CUDA=ON
15cmake --build build -j
1# 安裝 Hugging Face CLI
2pip install huggingface-hub
3huggingface-cli login
4
5# 下載推薦的 Q6_K 版本
6huggingface-cli download <your-username>/Youtu-Parsing-GGUF youtu-parsing-Q6_K.gguf --local-dir ./models
7
8# 同時下載 Vision 模型
9huggingface-cli download <your-username>/Youtu-Parsing-GGUF youtu-parsing-mmproj.gguf --local-dir ./models
1# CPU 推理
2./llama.cpp/build/bin/llama-cli \
3 --model youtu-parsing-Q6_K.gguf \
4 --prompt "請解析以下文件內容:" \
5 --ctx-size 4096 \
6 --temp 0.1
7
8# GPU 加速 (Metal/CUDA)
9./llama.cpp/build/bin/llama-cli \
10 --model youtu-parsing-Q6_K.gguf \
11 --prompt "請解析以下文件內容:" \
12 --ctx-size 4096 \
13 --temp 0.1 \
14 --ngl 999 # 啟用所有 GPU 層
1# CPU 推理
2./llama.cpp/build/bin/llama-mtmd-cli \
3 --model youtu-parsing-Q6_K.gguf \
4 --mmproj youtu-parsing-mmproj.gguf \
5 --image document.jpg \
6 --prompt "請解析這份文件,提取所有文字和表格。" \
7 --ctx-size 4096 \
8 --temp 0.1
9
10# GPU 加速
11./llama.cpp/build/bin/llama-mtmd-cli \
12 --model youtu-parsing-Q6_K.gguf \
13 --mmproj youtu-parsing-mmproj.gguf \
14 --image document.jpg \
15 --prompt "請解析這份文件,提取所有文字和表格。" \
16 --ctx-size 4096 \
17 --temp 0.1 \
18 --gpu-layers 999
1# 編譯 Metal 版本
2cmake -B build -DGGML_METAL=ON
3cmake --build build -j
4
5# 運行時自動使用 GPU
6./build/bin/llama-cli --model model.gguf --ngl 999
7
8# --ngl 999 表示將所有層 offload 到 GPU
1# 編譯 CUDA 版本
2cmake -B build -DGGML_CUDA=ON
3cmake --build build -j
4
5# 運行
6./build/bin/llama-cli --model model.gguf --ngl 999
1# 編譯 Vulkan 版本
2cmake -B build -DGGML_VULKAN=ON
3cmake --build build -j
1./llama.cpp/build/bin/llama-mtmd-cli \
2 --model youtu-parsing-Q6_K.gguf \
3 --mmproj youtu-parsing-mmproj.gguf \
4 --image receipt.jpg \
5 --prompt "檢測並識別圖片中的文字,將文本坐標格式化輸出。" \
6 --ctx-size 2048 \
7 --ngl 999
1./llama.cpp/build/bin/llama-mtmd-cli \
2 --model youtu-parsing-Q6_K.gguf \
3 --mmproj youtu-parsing-mmproj.gguf \
4 --image table.png \
5 --prompt "把圖中的表格解析為 HTML 格式。" \
6 --ctx-size 4096 \
7 --ngl 999
1./llama.cpp/build/bin/llama-mtmd-cli \
2 --model youtu-parsing-Q8_0.gguf \
3 --mmproj youtu-parsing-mmproj.gguf \
4 --image formula.png \
5 --prompt "識別圖片中的公式,用 LaTeX 格式表示。" \
6 --ctx-size 2048 \
7 --ngl 999
1./llama.cpp/build/bin/llama-mtmd-cli \
2 --model youtu-parsing-Q6_K.gguf \
3 --mmproj youtu-parsing-mmproj.gguf \
4 --image document.pdf \
5 --prompt "提取文檔圖片中的所有信息,用 markdown 格式表示。表格用 HTML,公式用 LaTeX,按照閱讀順序組織。" \
6 --ctx-size 8192 \
7 --ngl 999
1# Q8_0 (接近無損)
2./llama.cpp/build/bin/llama-quantize \
3 youtu-parsing.gguf \
4 youtu-parsing-Q8_0.gguf \
5 Q8_0
6
7# Q6_K (高品質)
8./llama.cpp/build/bin/llama-quantize \
9 youtu-parsing.gguf \
10 youtu-parsing-Q6_K.gguf \
11 Q6_K
12
13# Q4_K_M (快速)
14./llama.cpp/build/bin/llama-quantize \
15 youtu-parsing.gguf \
16 youtu-parsing-Q4_K_M.gguf \
17 Q4_K_M
1# 檢查支持的後端
2./llama.cpp/build/bin/llama-cli --list-devices
1# 使用 Q4_K_M 並減少上下文
2--model youtu-parsing-Q4_K_M.gguf --ctx-size 2048