AI Hunter
Member
Từ đầu series đến giờ, "bộ não" của Jarvis vẫn đang nằm trên máy chủ của OpenAI ở tận Mỹ.
Hôm nay, chúng ta sẽ bưng bộ não đó về đặt ngay trên bàn làm việc của bạn bằng Ollama.
Trước đây chạy LLM offline rất cực (cài Cuda, PyTorch, môi trường venv...).
Với Ollama, bạn chỉ cần tải về, chạy file cài đặt, xong! Nó biến máy bạn thành một Server AI y hệt OpenAI, nhưng chạy Local.
1. Cài đặt Ollama:
Truy cập https://ollama.com tải bản cài đặt cho Windows, Mac hoặc Linux.
2. Tải Model về máy:
Mở Terminal (CMD/PowerShell) và gõ lệnh để tải "bộ não" về.
Tùy cấu hình máy mà chọn model phù hợp:
Sau khi chạy lệnh xong và thấy dấu nhắc chat xuất hiện, tức là Server Ollama đang chạy ngầm ở cổng
Cái hay của Ollama là nó hỗ trợ chuẩn API giống hệt OpenAI. Chúng ta hầu như không phải sửa code logic, chỉ cần đổi địa chỉ kết nối.
Mở file
Với Vision (Xử lý ảnh):
Nếu bạn muốn dùng Vision Offline, hãy tải model
Sau đó trong code, khi nào có ảnh thì đổi
Với Tool Calling (Smart Home):
Các model nhỏ (như Llama 3.1 8B) hỗ trợ Function Calling khá ổn, nhưng không "nhạy" bằng GPT-4o.
Lời khuyên: Nếu cần xử lý logic phức tạp (LangGraph, Function Calling), hãy dùng model Qwen 2.5 (model của Alibaba, hiện đang trùm về Coding và Tool use trong mảng Open Source).
Bây giờ bạn rút dây mạng ra, Jarvis vẫn hoạt động bình thường! (Trừ tính năng Search Google là cần mạng thôi).
Hệ thống của chúng ta giờ đã khá cồng kềnh:
Để chạy hết đống này lên, bạn phải mở 4 cái cửa sổ Terminal. Rất phiền phức.
- Ưu điểm: Thông minh, không tốn RAM máy mình.
- Nhược điểm: Tốn tiền, chậm (do độ trễ mạng), mất mạng là "tắt điện", và quan trọng nhất là Dữ liệu riêng tư bị gửi đi xa.
Hôm nay, chúng ta sẽ bưng bộ não đó về đặt ngay trên bàn làm việc của bạn bằng Ollama.
1. Tại sao lại là Ollama?
Trước đây chạy LLM offline rất cực (cài Cuda, PyTorch, môi trường venv...).
Với Ollama, bạn chỉ cần tải về, chạy file cài đặt, xong! Nó biến máy bạn thành một Server AI y hệt OpenAI, nhưng chạy Local.
2. Bước 1: Cài đặt và Tải Model
1. Cài đặt Ollama:
Truy cập https://ollama.com tải bản cài đặt cho Windows, Mac hoặc Linux.
2. Tải Model về máy:
Mở Terminal (CMD/PowerShell) và gõ lệnh để tải "bộ não" về.
Tùy cấu hình máy mà chọn model phù hợp:
- Máy yếu (RAM 8GB, không GPU rời): Dùng model nhẹ.
(Bản 3B parameters, cực nhẹ, nhanh).Mã:ollama run llama3.2 - Máy tầm trung (RAM 16GB, GPU 4GB-6GB): Dùng model chuẩn.
(Bản 8B, thông minh ngang ngửa GPT-3.5).Mã:ollama run llama3.1 - Máy mạnh (RAM 32GB, GPU 12GB+): Dùng hàng khủng.
(Thông minh vượt trội, code Python cực đỉnh).Mã:ollama run qwen2.5:14b
Sau khi chạy lệnh xong và thấy dấu nhắc chat xuất hiện, tức là Server Ollama đang chạy ngầm ở cổng
11434.3. Bước 2: Chuyển "Hộ khẩu" cho Jarvis (Backend)
Cái hay của Ollama là nó hỗ trợ chuẩn API giống hệt OpenAI. Chúng ta hầu như không phải sửa code logic, chỉ cần đổi địa chỉ kết nối.
Mở file
server.py và sửa đoạn khởi tạo Client:
Python:
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from openai import OpenAI # Vẫn dùng thư viện OpenAI nhé!
app = FastAPI()
# --- CẤU HÌNH CŨ (CLOUD) ---
# client = OpenAI(api_key="sk-proj-xxxx")
# --- CẤU HÌNH MỚI (LOCAL - OLLAMA) ---
client = OpenAI(
base_url="http://localhost:11434/v1", # Trỏ về máy mình
api_key="ollama" # Key gì cũng được, Ollama không check
)
# Tên model bạn đã pull về (llama3.1, qwen2.5, gemma2...)
LOCAL_MODEL = "llama3.1"
class ChatRequest(BaseModel):
message: str
@app.post("/chat")
async def chat_endpoint(req: ChatRequest):
try:
print(f"🤖 Đang suy nghĩ bằng model {LOCAL_MODEL}...")
# Code gọi API y hệt như cũ
response = client.chat.completions.create(
model=LOCAL_MODEL,
messages=[
{"role": "system", "content": "Bạn là Jarvis, trợ lý AI hữu ích."},
{"role": "user", "content": req.message}
],
temperature=0.7
)
return {"answer": response.choices[0].message.content}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Lỗi Brain Local: {str(e)}")
4. Bước 3: Local Vision & Tools (Nâng cao)
Với Vision (Xử lý ảnh):
Nếu bạn muốn dùng Vision Offline, hãy tải model
llava:
Mã:
ollama pull llava
model="llava".Với Tool Calling (Smart Home):
Các model nhỏ (như Llama 3.1 8B) hỗ trợ Function Calling khá ổn, nhưng không "nhạy" bằng GPT-4o.
Lời khuyên: Nếu cần xử lý logic phức tạp (LangGraph, Function Calling), hãy dùng model Qwen 2.5 (model của Alibaba, hiện đang trùm về Coding và Tool use trong mảng Open Source).
Mã:
ollama pull qwen2.5
5. So sánh Thực tế
| Tiêu chí | OpenAI (GPT-4o) | Local (Llama 3.1) |
| Chi phí | Tốn tiền ($$$) | Miễn phí (0đ) |
| Tốc độ | Phụ thuộc mạng internet | Phụ thuộc GPU máy bạn |
| Riêng tư | Dữ liệu gửi lên Cloud | 100% Offline |
| Thông minh | 10/10 | 7.5/10 (Đủ dùng cho chat) |
Tổng kết
Bây giờ bạn rút dây mạng ra, Jarvis vẫn hoạt động bình thường! (Trừ tính năng Search Google là cần mạng thôi).
Hệ thống của chúng ta giờ đã khá cồng kềnh:
- Backend: FastAPI.
- Frontend: Chainlit.
- Brain: Ollama Service.
- Database: Qdrant.
Để chạy hết đống này lên, bạn phải mở 4 cái cửa sổ Terminal. Rất phiền phức.
Bài viết liên quan