
Ollama là gì?
Ollama là một công cụ mã nguồn mở được tạo ra để giúp việc chạy các mô hình ngôn ngữ lớn (LLM) trở nên đơn giản và dễ dàng hơn trên máy tính cá nhân. Trong bối cảnh AI phát triển mạnh mẽ những năm gần đây, nhu cầu sử dụng các mô hình ngôn ngữ tiên tiến ngày càng tăng.
Ollama được phát triển để giải quyết một số khó khăn chính khi triển khai và sử dụng các mô hình ngôn ngữ lớn (LLM), bao gồm:
- Quyền riêng tư và bảo mật dữ liệu: Với việc chạy LLM trên máy local, toàn bộ dữ liệu và tương tác không cần phải gửi đến máy chủ bên thứ ba, giúp đảm bảo thông tin nhạy cảm không bị rò rỉ.
- Chi phí: Việc sử dụng các API LLM thương mại thường tốn kém, đặc biệt với các ứng dụng có lượng tương tác lớn như chatbot. Ollama loại bỏ hoàn toàn những chi phí này bằng cách cho phép bạn chạy các mô hình cục bộ, tiết kiệm đáng kể chi phí dài hạn.
- Độc lập với Internet: Có khả năng làm việc hoàn toàn ngoại tuyến, không phụ thuộc vào kết nối internet.
- Đơn giản hóa triển khai: Trước đây, việc triển khai các LLM cục bộ đòi hỏi người dùng phải có kiến thức chuyên sâu về Machine Learning và các bước cài đặt phức tạp. Ollama đã loại bỏ những rào cản này bằng cách cung cấp một giải pháp dễ sử dụng, giúp các developer nhanh chóng bắt đầu mà không cần tốn nhiều thời gian tìm hiểu kỹ thuật.
- Môi trường phát triển linh hoạt: Cung cấp cho các nhà phát triển một nền tảng để thử nghiệm và tích hợp các mô hình LLM vào ứng dụng của họ mà không cần phụ thuộc vào dịch vụ bên ngoài.
Cài đặt Ollama
Truy cập trang Download của Ollama và tải xuống phiên bản phù hợp với hệ điều hành của bạn.

Cài đặt với Docker:
# Chạy container Ollama
docker run -d \
--name ollama \
-p 11434:11434 \
-v ~/ollama-data:/root/.ollama \
--gpus all \ # Bỏ dòng này nếu không có GPU
ollama/ollamaCài đặt mô hình LLM
Bạn truy cập vào https://ollama.com/library hoặc https://ollama.com/search để tìm kiếm tên model (có thể gửi cấu hình máy cho ChatGPT để chọn model phù hợp).

Tải một mô hình
Tải mô hình từ kho lưu trữ của Ollama (ví dụ: llama3.2):
ollama pull llama3.2Liệt kê các mô hình đã cài
Xem tất cả các mô hình hiện có trên máy:
ollama list
Xem thông tin mô hình
Kiểm tra chi tiết về một mô hình cụ thể:
ollama show llama3.2
Chạy mô hình LLM
Chạy mô hình trực tiếp:
ollama run llama3.2 "Viết một đoạn code Python đơn giản để tính giai thừa"Hoặc chạy với chế độ tương tác
ollama run llama3.2
>>> Viết một đoạn code Python đơn giản để tính giai thừa
Xem các mô hình đang chạy
Kiểm tra mô hình nào đang hoạt động:
ollama psQuản lý các mô hình LLM
Dừng mô hình đang chạy
Tắt một mô hình cụ thể:
ollama stop llama3.2Xóa một mô hình
Xóa mô hình khỏi máy tính khi không cần nữa:
ollama rm llama3.2Mô Hình Đa Phương Thức (Multimodal Models)
Ollama hỗ trợ các mô hình có khả năng xử lý cả văn bản và hình ảnh.
Ví dụ: Chạy mô hình llava và yêu cầu phân tích và mô tả nội dung hình ảnh:
ollama run llava "What's in this image? /Users/jmorgan/Desktop/smile.png"Kết quả:
The image features a yellow smiley face, which is likely the central focus of the pCài đặt giao diện Web với Open WebUI
Open WebUI cung cấp giao diện web thân thiện để tương tác với Ollama. Cách cài đặt:
pip install open-webuiCài đặt với Docker:
# Chạy container open-webui
docker run -d \
--name open-webui \
-p 8080:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main
# có GPU
docker run -d \
--name open-webui \
-p 8080:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:cudaTham khảo: Open WebUI GitHub
Sử dụng REST API
Ollama cung cấp REST API để điều khiển mô hình từ xa hoặc tích hợp vào ứng dụng.
Tạo phản hồi theo luồng (Generate Response)
Gửi yêu cầu và nhận phản hồi từng từ (streaming):
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Why is the sky blue?"
}'Nhận kết quả đầy đủ (không stream)
Thêm "stream": false để lấy toàn bộ phản hồi:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Tell me a fun fact about Portugal",
"stream": false
}'Trò chuyện với mô hình (Chat)
Gửi tin nhắn và nhận phản hồi:
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{ "role": "user", "content": "Tell me a fun fact about Mozambique" }
],
"stream": false
}'Yêu cầu phản hồi dạng JSON
Nhận kết quả định dạng JSON:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "What color is the sky at different times of the day? Respond using JSON",
"format": "json",
"stream": false
}'Tài liệu API: Ollama API Docs

