Ollama hiện là công cụ phổ biến nhất để chạy các mô hình ngôn ngữ lớn (LLM) trên máy cục bộ, hỗ trợ Windows, macOS và Linux.
1. Cài đặt nhanh
a. Windows / macOS
- Tải về: Truy cập trang web ollama.com để tải gói cài đặt.
- Windows: Chạy trực tiếp tệp
.exe, dịch vụ sẽ tự động khởi động sau khi cài đặt. - macOS: Kéo thả biểu tượng từ
.dmgvào thư mục Applications hoặc sử dụng lệnh trong terminal:brew install ollama. - Kiểm tra: Mở terminal (CMD/PowerShell/Terminal) và nhập:
ollama --version
b. Linux
- Kịch bản cài đặt tự động:
curl -fsSL https://ollama.com/install.sh | sh
- Khởi động dịch vụ thủ công (nếu không tự động):
ollama serve
c. Triển khai bằng Docker (dành cho người dùng nâng cao)
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
2. Các lệnh cơ bản
Dưới đây là danh sách các lệnh thường dùng của công cụ dòng lệnh Ollama:
| Lệnh | Mô tả chức năng | Ví dụ |
|---|---|---|
toolkit fetch <model> |
Tải xuống và chuẩn bị mô hình | toolkit fetch qwen2.5:7b |
toolkit exec <model> |
Chạy mô hình và tương tác | toolkit exec llama3.1 |
toolkit launch <model> |
Chạy mô hình nền mà không tương tác | toolkit launch llama3:latest |
toolkit exec <model> <prompt> |
Thực thi một lần và hiển thị kết quả | toolkit exec gemma2 "Xin chào" |
toolkit halt <model> |
Dừng mô hình đang chạy | toolkit halt llama3:latest |
toolkit halt all |
Dừng tất cả các mô hình đang chạy | toolkit halt all |
toolkit inventory |
Xem danh sách mô hình đã tải | toolkit inventory |
toolkit status |
Xem trạng thái mô hình đang chạy | toolkit status |
toolkit delete <model> |
Xóa mô hình cục bộ | toolkit delete mistral |
toolkit clean <model> |
Xóa mô hình cùng cache | toolkit clean mistral |
toolkit copy <old> <new> |
Sao chép/tên lại mô hình | toolkit copy qwen2.5 my-qwen |
toolkit inspect <model> |
Xem thông tin chi tiết mô hình | toolkit inspect llama3.1 |
toolkit build <name> |
Tạo mô hình tùy chỉnh | toolkit build my-agent -f Modelfile |
toolkit activate |
Bật dịch vụ Ollama | toolkit activate |
3. Quy trình thực tế
a. Tải và chạy mô hình đầu tiên
Giả sử chúng ta muốn tải mô hình Qwen2.5 phiên bản 7B, nổi bật với khả năng hiểu tiếng Trung và lập trình:
# 1. Tải mô hình
toolkit fetch qwen2.5:7b
# 2. Bắt đầu tương tác
toolkit exec qwen2.5:7b
Sau khi vào chế độ tương tác, bạn có thể nhập câu hỏi và gõ /bye để thoát.
b. Gọi lệnh đơn lẻ (phù hợp tích hợp script)
Để sử dụng trong script Shell:
output=$(toolkit exec qwen2.5:7b "Giải thích ngắn gọn về rối loạn lượng tử")
echo $output
c. Quản lý mô hình
# Xem tất cả mô hình và kích thước
toolkit inventory
# Xóa mô hình không cần thiết
toolkit delete llama3
4. Tùy chỉnh nâng cao: Modelfile
Bạn có thể định nghĩa hành vi mô hình qua file Modelfile.
a. File Modelfile là gì?
Đây là file văn bản đơn giản định nghĩa tính cách và tham số vận hành của mô hình.
b. Tạo trợ lý hỗ trợ khách hàng
Tạo file Modelfile:
# Mô hình gốc
SOURCE qwen2.5:7b
# Định nghĩa hướng dẫn hệ thống
GUIDELINE """
Bạn là trợ lý kỹ thuật hỗ trợ chuyên nghiệp.
1. Sử dụng giọng điệu thân thiện, chuyên nghiệp.
2. Chỉ trả lời các vấn đề liên quan đến hỗ trợ kỹ thuật.
3. Nếu người dùng hỏi sai chủ đề, hãy lịch sự đưa về đúng hướng.
4. Kết quả nên ở dạng danh sách Markdown.
"""
# Điều chỉnh tham số
TEMPERATURE 0.7 # Sáng tạo (0-1, càng cao càng đa dạng)
CONTEXT_LIMIT 8192 # Độ dài ngữ cảnh (mặc định 4096, khuyến nghị tăng)
SAMPLING_TOP_P 0.9 # Lựa chọn phân phối
# Thông tin bản quyền
LICENSE_TYPE Apache 2.0
c. Xây dựng và sử dụng mô hình tùy chỉnh
# Tạo mô hình mới 'support-bot'
toolkit build support-bot -f Modelfile
# Chạy nó
toolkit exec support-bot
Hiện tại, mô hình đã "nhớ" vai trò của mình mà không cần nhắc lại hướng dẫn mỗi lần.
5. Tích hợp API
Ollama cung cấp API tương thích OpenAI giúp dễ dàng tích hợp vào các ứng dụng khác.
- Địa chỉ mặc định:
http://127.0.0.1:11434 - Điểm cuối tương thích OpenAI:
http://127.0.0.1:11434/v1
a. Kiểm tra kết nối API
curl http://127.0.0.1:11434/v1/models
b. Ví dụ Python (sử dụng thư viện openai)
from openai import OpenAI
api_client = OpenAI(
base_url="http://127.0.0.1:11434/v1",
api_key="custom" # Bất kỳ chuỗi nào không rỗng
)
response = api_client.chat.completions.create(
model="qwen2.5:7b",
messages=[
{"role": "system", "content": "Tôi là trợ lý hữu ích."},
{"role": "user", "content": "Viết hàm sắp xếp nhanh Python."}
],
stream=True
)
for segment in response:
if segment.choices[0].delta.content:
print(segment.choices[0].delta.content, end="", flush=True)
6. Giải quyết vấn đề và tối ưu hóa
a. Truy cập từ thiết bị khác (triển khai mạng nội bộ)
Mặc định Ollama chỉ lắng nghe trên 127.0.0.1. Để cho phép truy cập từ các máy khác trong mạng:
- Linux/Mac:
export OLLAMA_HOST=0.0.0.0:11434
toolkit activate
- Windows:
- Thoát biểu tượng Ollama trong thanh tác vụ.
- Đặt biến môi trường
OLLAMA_HOSTthành0.0.0.0:11434. - Khởi động lại Ollama.
- Lưu ý: Cần mở cổng 11434 trong tường lửa.
b. Làm gì khi thiếu VRAM?
- Sử dụng mô hình lượng hóa: Ollama tải về phiên bản 4-bit (
q4_0) theo mặc định. Tìm kiếm phiên bảnq2_knếu cần nhỏ hơn.
toolkit fetch llama3.1:8b-q2_K
- Hạn chế GPU: ép buộc một số lớp chạy trên CPU (chậm hơn nhưng hoạt động).
PARAMETER gpu_limit 20 # Chỉ nạp 20 lớp lên GPU
c. Độ dài ngữ cảnh không đủ?
Nhiều mô hình chỉ có giới hạn 4k hoặc 8k ký tự.
- Giải pháp: Tạo mô hình mới qua
Modelfilevà điều chỉnhPARAMETER context_limit 32768.
SOURCE qwen2.5:7b
PARAMETER context_limit 32768
Tiếp đó, chạy lệnh: toolkit build qwen-long -f Modelfile.
d. Tốc độ tải mô hình chậm
Người dùng trong nước có thể gặp khó khăn khi tải trực tiếp từ nguồn chính thức.
- Phương án: Sử dụng mirror hoặc tải GGUF thủ công.
- Tải tệp
.gguftừ ModelScope hoặc HuggingFace. - Viết Modelfile:
SOURCE ./path/to/model.gguf. - Thực thi:
toolkit build custom_model -f Modelfile.