Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "HI.AI Members" các nội dung bạn quan tâm.

Bài 1. Tổng quan Ollama API

1. Đặt vấn đề

Ollama có thể được sử dụng qua dòng lệnh, nhưng dòng lệnh chỉ phù hợp cho người quản trị, thử nghiệm model hoặc kiểm tra nhanh. Khi muốn đưa AI vào hệ thống bệnh viện, cần dùng API. API cho phép website, phần mềm, chatbot, Drupal, Python script, PHP application hoặc hệ thống QMS gửi yêu cầu đến Ollama và nhận kết quả trả về.

Trong kiến trúc AI local bệnh viện, Ollama API là lớp giao tiếp kỹ thuật giữa ứng dụng và model. Nếu được sử dụng đúng, API giúp bệnh viện xây dựng các công cụ như chatbot nội bộ, công cụ tóm tắt tài liệu, trợ lý soạn thảo văn bản, hệ thống hỏi đáp RAG, tự động tạo bảng kiểm hoặc phân tích phản ánh người bệnh. Nếu sử dụng sai, API có thể trở thành điểm rủi ro bảo mật.

2. Ollama API là gì?

Ollama API là giao diện HTTP cho phép ứng dụng gửi request đến Ollama để sử dụng model. Thay vì nhập câu hỏi bằng terminal, ứng dụng gửi dữ liệu dạng JSON đến endpoint của Ollama, ví dụ:

 
http://127.0.0.1:11434/api/generate
 

hoặc:

 
http://127.0.0.1:11434/api/chat
 

Ollama xử lý request, gọi model tương ứng và trả response dạng JSON.

3. Các nhóm API thường dùng

Trong triển khai bệnh viện, có một số nhóm API quan trọng:

Nhóm APIMục đích
Sinh văn bảnGửi prompt đơn và nhận nội dung sinh ra
ChatGửi hội thoại nhiều lượt theo dạng messages
StreamingNhận câu trả lời từng phần khi model đang sinh
EmbeddingTạo vector từ văn bản để phục vụ RAG/FAISS
Tags/listXem danh sách model
Pull/createQuản lý model, thường dành cho quản trị

Trong ứng dụng người dùng, thường dùng nhất là generate, chat và embedding.

4. Endpoint local mặc định

Thông thường, Ollama API chạy ở:

 
http://127.0.0.1:11434
 

127.0.0.1 nghĩa là chỉ máy chủ local truy cập được. Đây là cấu hình an toàn hơn. Nếu muốn máy khác trong LAN gọi trực tiếp, cần cấu hình OLLAMA_HOST, nhưng trong bệnh viện không nên mở trực tiếp nếu chưa có lớp kiểm soát.

Khuyến nghị kiến trúc:

 
Website/Drupal/Chatbot → API trung gian → Ollama API localhost
 

Không nên:

 
Người dùng cuối → Ollama API trực tiếp
 

5. Vì sao không nên mở trực tiếp Ollama API?

Ollama API nếu mở trực tiếp có thể gây nhiều rủi ro:

  • Không có xác thực người dùng theo vai trò bệnh viện.
  • Không biết ai đang gọi model.
  • Không ghi log nghiệp vụ đầy đủ.
  • Người dùng có thể gửi dữ liệu nhạy cảm không kiểm soát.
  • Không phân quyền tài liệu RAG.
  • Không giới hạn tốc độ request.
  • Không kiểm soát model nào được dùng.
  • Có thể bị lạm dụng tài nguyên GPU.
  • Có thể bị truy cập từ ngoài nếu firewall sai.

Vì vậy, Ollama API nên được xem là dịch vụ backend, không phải endpoint công khai.

6. Vai trò của API trung gian

API trung gian là lớp rất quan trọng. Nó nằm giữa ứng dụng và Ollama, thực hiện:

  • Xác thực người dùng.
  • Phân quyền theo vai trò.
  • Chọn model phù hợp.
  • Kiểm tra dữ liệu đầu vào.
  • Ghi log request.
  • Gọi RAG/FAISS nếu cần.
  • Tạo prompt chuẩn.
  • Gửi request đến Ollama.
  • Nhận response.
  • Kiểm soát đầu ra.
  • Trả kết quả cho ứng dụng.
  • Giới hạn tốc độ và chống lạm dụng.

Trong bệnh viện, API trung gian gần như là điều kiện bắt buộc nếu muốn triển khai AI local chính thức.

7. API và RAG

Trong hệ thống RAG, ứng dụng không nên chỉ gửi câu hỏi thẳng đến Ollama. Quy trình nên là:

  1. Người dùng gửi câu hỏi.
  2. API trung gian xác thực người dùng.
  3. API trung gian xác định quyền truy cập tài liệu.
  4. Câu hỏi được chuyển thành embedding.
  5. FAISS tìm các chunk liên quan.
  6. Hệ thống lọc tài liệu theo quyền và hiệu lực.
  7. Prompt được tạo từ câu hỏi và tài liệu.
  8. Prompt gửi đến Ollama.
  9. Câu trả lời trả về kèm nguồn.

Như vậy, Ollama API chỉ là một phần trong pipeline.

8. API và quản lý model

Ollama API cho phép gọi model theo tên. Ví dụ, ứng dụng có thể gọi:

  • assistant-qlcl
  • assistant-khth
  • assistant-dieuduong
  • assistant-cntt
  • assistant-phapluat

Tuy nhiên, người dùng cuối không nên tự nhập tên model. Ứng dụng hoặc API trung gian nên chọn model theo tác vụ và quyền người dùng.

9. API và bảo mật dữ liệu

Dù Ollama chạy local, dữ liệu vẫn cần bảo mật. Câu hỏi, prompt, tài liệu RAG và response có thể chứa thông tin nhạy cảm. Cần kiểm soát:

  • Dữ liệu nào được gửi vào API.
  • Log lưu những gì.
  • Ai xem được log.
  • Prompt có chứa thông tin định danh không.
  • Response có tiết lộ dữ liệu vượt quyền không.
  • Request có được mã hóa trong mạng không nếu đi qua nhiều máy chủ.

AI local giảm phụ thuộc cloud, nhưng không tự động giải quyết bảo mật nội bộ.

10. Kết luận

Ollama API là cầu nối để đưa AI local vào hệ thống bệnh viện. API giúp tích hợp model với Python, PHP, Drupal, website nội bộ, QMS và nhiều phần mềm khác. Tuy nhiên, trong môi trường bệnh viện, không nên mở Ollama API trực tiếp cho người dùng. Cần đặt Ollama sau API trung gian có xác thực, phân quyền, ghi log, RAG và kiểm soát dữ liệu. Đây là nền tảng để sử dụng AI local an toàn và có khả năng mở rộng.