llama.cpp
Pi hỗ trợ máy chủ bộ định tuyến llama.cpp. Bộ định tuyến phát hiện nhiều mô hình GGUF và tải hoặc dỡ chúng theo yêu cầu.
Sử dụng bản dựng llama.cpp hiện tại có hỗ trợ bộ định tuyến. Hãy làm theo build instructions hoặc cài đặt prebuilt release cho nền tảng của bạn.
Khởi động bộ định tuyến
Bắt đầu llama-server mà không có --model hoặc -m. Việc chuyển một mô hình sẽ bắt đầu chế độ một mô hình thay vì chế độ bộ định tuyến.
llama-server \
--models-dir ~/models \
--no-models-autoload \
--jinja \
--host 127.0.0.1 \
--port 8080 \
-ngl 999 \
-c 32768Các tùy chọn quan trọng:
--models-dir ~/modelskhám phá các tệp GGUF cục bộ.--no-models-autoloadtiếp tục tải rõ ràng cho đến/llama.--jinjacho phép các mẫu trò chuyện và công cụ gọi điện tương thích.-ngl 999giảm tải càng nhiều lớp cho GPU càng tốt.-c 32768đặt cửa sổ ngữ cảnh cho từng mô hình được tải. Bỏ qua nó để sử dụng bối cảnh gốc của mô hình, có thể cần nhiều bộ nhớ hơn đáng kể.
Một mô hình một tập tin có thể nằm trực tiếp trong thư mục mô hình. Đặt các mô hình đa phương thức và đa phân đoạn trong các thư mục con riêng biệt:
~/models/
├── llama-3.2-1b-Q4_K_M.gguf
├── gemma-3-4b-it-Q4_K_M/
│ ├── gemma-3-4b-it-Q4_K_M.gguf
│ └── mmproj-F16.gguf
└── large-model-Q4_K_M/
├── large-model-Q4_K_M-00001-of-00003.gguf
├── large-model-Q4_K_M-00002-of-00003.gguf
└── large-model-Q4_K_M-00003-of-00003.ggufKhởi động lại bộ định tuyến sau khi thêm tệp theo cách thủ công. Đối với kích thước ngữ cảnh của mỗi mô hình và các tùy chọn khác, hãy sử dụng llama.cpp model presets.
Định cấu hình Pi
Bắt đầu Pi và định cấu hình nhà cung cấp:
/login llama.cppNhập URL bộ định tuyến và tùy chọn API key. URL mặc định là http://127.0.0.1:8080.
Các biến môi trường có thể định cấu hình các giá trị giống nhau mà không cần /login:
export LLAMA_BASE_URL=http://127.0.0.1:8080
export LLAMA_API_KEY=optional-secret
piNếu máy chủ sử dụng API key, hãy bắt đầu llama-server với giá trị --api-key phù hợp. Giữ --host 127.0.0.1 để chỉ truy cập cục bộ.
Quản lý mô hình
Chạy:
/llama- Chọn một mô hình chưa tải để tải nó.
- Chọn một mô hình đã tải để dỡ nó.
- Chọn Tải xuống mô hình…, tìm kiếm Hugging Face, sau đó chọn kho lưu trữ và lượng tử hóa. Các giá trị
owner/repository[:quant]chính xác cũng hoạt động. - Nhấn Escape trong khi tải hoặc tải xuống để xác nhận hủy.
Hugging Face tìm kiếm sử dụng HF_TOKEN khi được đặt, sau đó kiểm tra $HF_TOKEN_PATH, $HF_HOME/token, $XDG_CACHE_HOME/huggingface/token và ~/.cache/huggingface/token. Tìm kiếm cũng hoạt động mà không cần xác thực, tùy thuộc vào giới hạn tốc độ thấp hơn. Pi cảnh báo trước khi tải xuống các kho lưu trữ có kiểm soát và các liên kết tới trang truy cập của họ. Máy chủ llama.cpp thực hiện tải xuống nên quá trình của nó cũng phải có HF_TOKEN khi kho lưu trữ đã chọn yêu cầu quyền truy cập.
Nếu các mẫu khác đã được tải, Pi sẽ hỏi xem nên dỡ chúng trước hay tiếp tục tải. Pi không âm thầm tải mô hình và không bao giờ xóa các tệp mô hình. Bộ định tuyến có thể được chia sẻ với các máy khách khác, vì vậy /llama luôn hiển thị trạng thái hiện tại của bộ định tuyến.
Chỉ các mô hình đã tải mới xuất hiện trong /model. Sau khi tải mô hình, hãy chạy /model để chọn mô hình đó cho phiên Pi hiện tại.
Nếu bộ định tuyến ngắt kết nối, /llama hiển thị Thử lại và Đóng. Thử lại sẽ kết nối lại và làm mới trạng thái mô hình mà không phát lại thao tác bị gián đoạn.
Khắc phục sự cố
Kiểm tra xem bộ định tuyến có thể truy cập được không:
curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/models- Không có kiểu máy nào trong
/llama: Kiểm tra--models-dir, bố cục thư mục và khởi động lại bộ định tuyến. - Mô hình bị thiếu trong
/model: Tải nó bằng/llamatrước. - Tải không thành công hoặc sử dụng quá nhiều bộ nhớ: Hạ
-choặc dỡ mô hình khác. - Máy chủ không ở chế độ bộ định tuyến: Khởi động mà không có
--model,-mhoặc-hf.