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...
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...
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...
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ễ...
AWS SQS & SNS – Message Queue và Fan-out Pattern
AWS SQS (Simple Queue Service) và SNS (Simple Notification Service) là hai dịch vụ messaging quan trọng trên AWS. SQS là hàng đợi message, SNS là pub/sub system — kết hợp cả hai tạo ra kiến trúc event-driven mạnh mẽ.
1. SQS vs SNS
SQS
SNS
Mô hình
Queue (1 producer, 1 consumer)
Pub/...
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 ...
69 post articles, 12 pages.