Home

Tích hợp OpenAI & Gemini API vào NestJS

OpenAI và Google Gemini là hai LLM API mạnh nhất hiện nay. Bài này hướng dẫn tích hợp cả hai vào NestJS, xây dựng một service linh hoạt có thể switch giữa các provider. 1. Cài đặt # OpenAI SDK npm install --save openai # Google Gemini SDK npm install --save @google/generative-ai Thêm vào .env: OPENAI_API_KEY=sk-... GEMINI_API_KEY=AIza... AI...

Read more

MongoDB – Transactions & Change Streams

Hai tính năng nâng cao của MongoDB thường ít được biết đến nhưng cực kỳ hữu ích: Transactions (đảm bảo ACID khi thao tác nhiều document) và Change Streams (lắng nghe thay đổi dữ liệu theo thời gian thực). 1. Transactions MongoDB hỗ trợ multi-document ACID transactions từ phiên bản 4.0 (Replica Set) và 4.2 (Sharded Cluster). Khi nào cần Transa...

Read more

Xây dựng AI Chatbot với RAG + Qdrant + NestJS

Bài này là phần tổng hợp — chúng ta sẽ xây dựng một AI chatbot hoàn chỉnh có khả năng trả lời câu hỏi dựa trên tài liệu nội bộ (knowledge base). Stack sử dụng: NestJS + Qdrant + OpenAI. 1. Kiến trúc tổng quan [User hỏi] ↓ [NestJS API] ├── [Embedding Service] → embed câu hỏi (OpenAI) ├── [Qdrant Service] → tìm top-5 chunks liên q...

Read more

Qdrant Vector Database – Cài đặt & Tìm kiếm ngữ nghĩa

Qdrant là vector database mã nguồn mở hiệu suất cao, được viết bằng Rust, hỗ trợ tìm kiếm ngữ nghĩa cực nhanh. Đây là một trong những lựa chọn tốt nhất để build RAG chatbot và search engine AI. 1. Tại sao Qdrant? Hiệu suất cao: Viết bằng Rust, rất nhanh và ít tốn RAM Filtering phong phú: Kết hợp vector search với filter theo metadata Dễ...

Read more

Embedding là gì? Tại sao quan trọng trong AI?

Embedding là nền tảng của rất nhiều ứng dụng AI hiện đại: từ tìm kiếm ngữ nghĩa, RAG chatbot, đến gợi ý sản phẩm. Bài này giải thích embedding là gì và cách sử dụng trong thực tế. 1. Embedding là gì? Embedding là quá trình chuyển đổi dữ liệu (text, ảnh, âm thanh…) thành một vector số thực nhiều chiều mà máy tính có thể xử lý và so sánh. "Tôi ...

Read more