AI đang ở khắp nơi, và giờ đây bạn có thể chạy các mô hình AI mạnh mẽ ngay trên máy tính của mình miễn phí!
Không cần phải trả tiền cho các API đám mây hay gửi dữ liệu của bạn cho người khác.
Trong bài viết này, tôi sẽ hướng dẫn bạn cách:
- Chạy một mô hình AI mã nguồn mở trên PC của bạn bằng Ollama
- Kết nối AI này với ứng dụng MERN của bạn (MongoDB, Express, React, Node.js)
- Tạo một ứng dụng chat đơn giản để giao tiếp với AI
Tại sao nên chạy AI trên máy tính cá nhân?
- Bảo mật: Dữ liệu của bạn vẫn ở trên máy tính của bạn
- Nhanh hơn: Không có độ trễ internet
- Miễn phí: Không tốn chi phí đám mây
- Kiểm soát: Bạn quyết định AI sẽ làm gì
Những gì bạn cần
- Hệ điều hành Linux hoặc Mac (Người dùng Windows có thể sử dụng WSL)
- Terminal / dòng lệnh
- Cài đặt Node.js và npm
- MongoDB (có thể là cục bộ hoặc đám mây)
- React cho frontend
- Ollama (công cụ dễ sử dụng để chạy các mô hình AI cục bộ)
Bước 1: Cài đặt Ollama
Mở terminal của bạn và chạy lệnh sau:
curl -fsSL https://ollama.com/install.sh | sh
Điều này sẽ cài đặt Ollama và thiết lập để chạy tự động trên máy tính của bạn.
Bước 2: Kiểm tra xem Ollama có đang chạy không
systemctl status ollama
Bạn sẽ thấy một thông báo cho biết trạng thái đang hoạt động (active).
- Nếu đầu ra hiển thị active (running), Ollama đã sẵn sàng.
- Nếu nó không chạy, hãy khởi động dịch vụ với:
sudo systemctl start ollama
Bạn cũng có thể bật nó để tự động khởi động khi máy tính bật:
sudo systemctl enable ollama
Bước 3: Tải xuống một mô hình AI
Các mô hình AI phổ biến bạn có thể tải xuống và chạy cục bộ
| Tên mô hình | Kích thước (Params hoặc GB) | RAM cần (GB) | GPU VRAM cần (GB) | Trường hợp sử dụng | Danh mục (Độ khó / Phần cứng) | Giấy phép | Framework / Tương thích | Ví dụ trường hợp sử dụng |
|---|---|---|---|---|---|---|---|---|
| GPT4All-J | ~7B params | 6-8 | Tùy chọn (CPU OK) | Chatbot nhẹ; chạy mượt trên laptop/CPU, thiết lập dễ dàng, tốt cho demo & thử nghiệm | Dễ — Chạy trên hầu hết laptop / PC, 6-8 GB RAM, CPU hoặc GPU cấp thấp | MIT | PyTorch, CPU/GPU | Chatbots, demo |
| Alpaca 7B | ~7B params | 8-12 | 6-8 | Chat theo hướng dẫn | Dễ — Laptop tầm trung, máy tính để bàn | Apache 2.0 | PyTorch | Chatbots theo hướng dẫn |
| MiniGPT | Nhỏ (vài trăm MB) | 2-4 | Tùy chọn | Chatbot/demo đơn giản | Dễ — Laptop cấp thấp, bất kỳ PC nào | MIT | PyTorch | Chatbots, ứng dụng demo |
| TinyBERT | ~100MB | 1-2 | Không | Phân loại văn bản | Dễ — NLP rất nhẹ | Apache 2.0 | TensorFlow, PyTorch | Phân loại văn bản, NLP |
| Mistral 7B | 7B params | 8-12 | 6-8 | LLM chung | Vừa — Laptop/ máy chủ tầm trung đến cao | Apache 2.0 | PyTorch | Mô hình ngôn ngữ đa năng |
| LLaMA 2 7B | 7B params | 8-12 | 6-8 | Chatbots, sinh văn bản | Vừa — Máy tính để bàn tầm trung đến cao | Meta License | PyTorch | Chatbots, sinh văn bản |
| Falcon 7B | 7B params | 8-12 | 6-8 | NLP chung | Vừa — Máy tính để bàn tầm trung đến cao | Apache 2.0 | PyTorch | NLP, chatbots |
| GPT4All 13B | 13B params | 12-16 | 8-12 | Chatbots, demo | Vừa — Máy tính mạnh / máy chủ nhỏ | MIT | PyTorch | Chatbots, demo |
| Stable Diffusion | 4-6 GB (kích thước mô hình) | 6-8 | 6-8 | Tạo hình ảnh | Vừa — Máy tính để bàn có GPU | Creative ML Open RAIL-M | PyTorch | Tạo hình ảnh |
| Whisper | ~1GB | 4-6 | Tùy chọn | Chuyển giọng nói thành văn bản | Vừa — Máy móc vừa phải | MIT | PyTorch | Chuyển giọng nói thành văn bản |
| LLaMA 2 13B | 13B params | 16-24 | 12-16 | Chat chung, sinh văn bản; mạnh mẽ, mã nguồn mở, hỗ trợ tốt, cân bằng giữa độ chính xác và tốc độ | Vừa — 16-24 GB RAM, GPU 12-16 GB VRAM | Meta License | PyTorch | Chatbots, sinh văn bản |
| Falcon 40B | 40B params | 32+ | 20+ | NLP chất lượng cao | Khó — Máy chủ GPU mạnh | Apache 2.0 | PyTorch | NLP chất lượng cao, tác vụ quy mô lớn |
| LLaMA 2 70B | 70B params | 40+ | 24+ | Sản xuất quy mô lớn; độ chính xác hàng đầu, tốt nhất cho lý luận sâu và các tác vụ NLP phức tạp | Khó — 40+ GB RAM, GPU đa năng cao cấp | Meta License | PyTorch | NLP phức tạp, lý luận sâu |
| BLOOM 176B | 176B params | 80-100+ | 40+ | LLM đa ngôn ngữ | Khó — Siêu máy tính, thiết lập đa GPU | RAIL License | PyTorch | Sinh đa ngôn ngữ |
ollama pull <Tên Mô Hình>
Điều này sẽ tải mô hình xuống.
Bước 4: Thử trò chuyện với AI
Chạy lệnh này để bắt đầu trò chuyện:
ollama run <Tên Mô Hình>
Gõ một câu hỏi như:
Thủ đô của Ấn Độ là gì?
Bạn sẽ nhận được câu trả lời ngay trong terminal.
Bước 5: Gửi yêu cầu POST để sinh văn bản với API của Ollama
Bạn có thể tương tác với mô hình Ollama cục bộ của mình bằng cách gửi yêu cầu POST tới:
http://localhost:11434/api/generate
Thông tin tiêu đề yêu cầu:
{
"Content-Type": "application/json"
}
Tham số trong thân yêu cầu
| Tham số | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
model |
string | ✅ Có | Tên của mô hình để sử dụng (vd: "llama2", "mistral", "gpt4all", v.v.) |
prompt |
string | ✅ Có | Tin nhắn hoặc câu hỏi đầu vào để AI phản hồi |
system |
string | ❌ Không | Lời nhắc cấp hệ thống để xác định hành vi (vd: "Bạn là một trợ lý hữu ích.") |
context |
mảng các chuỗi | ❌ Không | Tin nhắn hoặc token trước đó để duy trì bộ nhớ cuộc trò chuyện |
template |
string | ❌ Không | Mẫu tùy chỉnh để cấu trúc lời nhắc (sử dụng nâng cao) |
stream |
boolean | ❌ Không | Nếu true, phản hồi sẽ được phát token theo token (mặc định: true) |
raw |
boolean | ❌ Không | Nếu true, tắt định dạng/lôgic mẫu (mặc định: false) |
images |
mảng các chuỗi base64 | ❌ Không | Cho các mô hình đa phương thức (nếu hỗ trợ), cho phép gửi đầu vào hình ảnh |
temperature |
float | ❌ Không | Điều chỉnh độ ngẫu nhiên: 0 = xác định, 1 = sáng tạo hơn (mặc định: 0.8) |
top_p |
float | ❌ Không | Điều chỉnh độ đa dạng thông qua sampling hạt nhân (mặc định: 0.9) |
top_k |
int | ❌ Không | Giới hạn số lượng token hàng đầu để lấy mẫu |
repeat_penalty |
float | ❌ Không | Hình phạt cho việc lặp lại các token (vd: 1.1) |
presence_penalty |
float | ❌ Không | Phạt các token mới dựa trên sự hiện diện trong văn bản cho đến nay |
frequency_penalty |
float | ❌ Không | Phạt tần suất token (mạnh mẽ hơn cho các lặp lại thường xuyên) |
seed |
int | ❌ Không | Hạt giống ngẫu nhiên để kết quả có thể tái sản xuất |
stop |
mảng các chuỗi | ❌ Không | Chuỗi dừng việc sinh (vd: ["\n", "Người dùng:"]) |
num_predict |
int | ❌ Không | Số token tối đa để sinh (bí danh: max_tokens) |
Ví dụ yêu cầu POST (nội dung JSON):
{
"model": "llama2-7b",
"prompt": "Giải thích cách quang hợp hoạt động.",
"systemPrompt": "Bạn là một giáo viên sinh học chuyên gia.",
"maxTokens": 150,
"temperature": 0.6,
"stopSequences": ["\n"]
}
Cách thực hiện yêu cầu (Ví dụ với curl):
curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "llama2-7b",
"prompt": "Giải thích cách quang hợp hoạt động.",
"systemPrompt": "Bạn là một giáo viên sinh học chuyên gia.",
"maxTokens": 150,
"temperature": 0.6,
"stopSequences": ["\n"]
}'
Các thực tiễn tốt nhất
- Thường xuyên cập nhật mô hình: Đảm bảo rằng bạn luôn sử dụng phiên bản mới nhất của mô hình AI để tận dụng các cải tiến và sửa lỗi.
- Giám sát hiệu suất: Theo dõi hiệu suất của mô hình AI trong ứng dụng của bạn để đảm bảo rằng nó hoạt động hiệu quả.
- Quản lý dữ liệu: Đảm bảo rằng bạn có phương pháp tốt để quản lý và bảo vệ dữ liệu mà mô hình AI của bạn xử lý.
Các cạm bẫy phổ biến
- Không kiểm soát được dữ liệu đầu vào: Đảm bảo rằng dữ liệu đầu vào cho mô hình AI được kiểm soát để tránh kết quả không mong muốn.
- Thiếu tài liệu: Đảm bảo rằng bạn có tài liệu rõ ràng cho mã nguồn và mô hình AI bạn đang sử dụng để dễ dàng bảo trì và phát triển sau này.
Mẹo hiệu suất
- Tối ưu hóa yêu cầu API: Hạn chế kích thước và số lượng yêu cầu để giảm thiểu độ trễ và tối đa hóa hiệu suất.
- Sử dụng GPU: Nếu có thể, hãy sử dụng GPU để tăng tốc độ xử lý cho các mô hình AI của bạn.
Khắc phục sự cố
- Ollama không khởi động: Kiểm tra xem bạn có quyền truy cập quản trị để khởi động dịch vụ hay không.
- Mô hình không tải: Đảm bảo rằng bạn đã có kết nối internet khi tải mô hình lần đầu tiên.
Kết luận
Việc chạy và tích hợp mô hình AI mã nguồn mở vào ứng dụng MERN của bạn không chỉ giúp bạn tiết kiệm chi phí mà còn mang lại cho bạn quyền kiểm soát dữ liệu và khả năng tùy chỉnh cao hơn. Hãy bắt đầu thử nghiệm với mô hình AI ngay hôm nay để phát triển ứng dụng của bạn trở nên thông minh hơn! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại để lại câu hỏi bên dưới.
Câu hỏi thường gặp (FAQs)
Q: Tôi có thể chạy mô hình AI trên Windows không?
A: Có, bạn có thể sử dụng WSL để chạy mô hình AI trên Windows.
Q: Mô hình nào là tốt nhất cho ứng dụng của tôi?
A: Điều này phụ thuộc vào trường hợp sử dụng cụ thể của bạn. Hãy xem xét các yêu cầu về tài nguyên và mục tiêu của bạn để chọn mô hình phù hợp.
Q: Tôi có thể mở rộng mô hình AI của mình không?
A: Có, bạn có thể mở rộng mô hình AI mà bạn đang sử dụng để phục vụ cho nhiều yêu cầu hơn hoặc tăng cường hiệu suất.