Chào mừng bạn đến với khóa học Master AI Agents with LangChain. Trong bài học này, chúng ta sẽ tìm hiểu kiến trúc cốt lõi của LangChain và thiết lập môi trường phát triển chuyên nghiệp sử dụng các tiện ích (util-langchain) và hệ thống quản lý môi trường linh hoạt.
I. Giới thiệu về LangChain
LangChain là một framework mã nguồn mở giúp đơn giản hóa việc tạo ra các ứng dụng AI Agent. Thay vì chỉ gọi API đơn thuần, LangChain cung cấp khả năng kết nối LLM với dữ liệu bên ngoài, bộ nhớ hội thoại và các công cụ (tools) để thực hiện hành động thực tế, giúp AI có khả năng suy luận và giải quyết vấn đề.
II. Các thách thức của ứng dụng LLM trong Production
Việc đưa một Agent từ bản demo vào thực tế đòi hỏi giải quyết ba bài toán lớn:
- Latency (Độ trễ): Phản hồi từ LLM thường tính bằng giây. Chúng ta sử dụng Streaming và xử lý song song để cải thiện tốc độ cảm nhận.
- Reliability (Độ tin cậy): AI dễ bị lỗi hoặc "ảo giác". Chúng ta cần cơ chế quản lý trạng thái bền bỉ và tự động thử lại (Retry).
- Non-Determinism (Tính không xác định): Phản hồi từ AI khó dự đoán. Chúng ta cần thiết lập các Guardrails và cơ chế con người phê duyệt (Human-in-the-loop).
III. Hệ sinh thái và Công cụ hỗ trợ
Trong khóa học này, chúng ta sẽ không viết lại mã cấu hình ở mọi nơi. Thay vào đó, chúng ta sử dụng hai thành phần quan trọng:
env.ts: Một script quản lý môi trường thông minh, tự động tải các file.envhoặc.env.developmenttùy theo môi trường đang chạy.util-langchain: Một gói tiện ích nội bộ chứa hàmcreateGeminiModel(khởi tạo model Gemini-2.5-flash với cấu hình chuẩn) vàgenerateImage(xuất sơ đồ hoạt động của Agent ra file ảnh).
IV. Thiết lập môi trường và Lab thực hành
Các bước cài đặt:
Cài đặt thư viện:
npm install langchain @langchain/google-genai zod dotenv npm install -D tsx typescriptCấu hình môi trường (
.env):
Tạo file.envđể lưu API Key:GEMINI_API_KEY=your_actual_api_key_hereMã nguồn thực hành (test-model.ts):
Chúng ta sẽ sử dụng script nạp môi trường và tiện ích khởi tạo model để kiểm tra kết nối.
// path: scripts/test-model.ts
import './env'; // Nạp cấu hình môi trường từ file env.ts
import { createGeminiModel } from '@workspace/util-langchain'; // Sử dụng utility nội bộ
async function main() {
console.log('--- Connecting to Gemini Model via Utility... ---');
// Sử dụng tiện ích tạo model tập trung (Gemini-2.5-flash)
const model = createGeminiModel();
// Kiểm tra khả năng phản hồi của AI
const response = await model.invoke(
'Hello, how can LangChain help me build agents?',
);
console.log('\nAI Response:');
console.log(response.content);
}
main().catch(console.error);V. Phân tích mã nguồn
Trong ví dụ này, chúng ta đã áp dụng các tiêu chuẩn phát triển chuyên nghiệp:
- Tách biệt cấu hình: File
env.tsgiúp quản lý biến môi trường sạch sẽ, hỗ trợ nhiều chế độ (development/production). - Sử dụng Utility: Hàm
createGeminiModeltừutil-langchaingiúp thống nhất cấu hình Model (nhưmaxOutputTokens,apiKey) tại một nơi duy nhất, giúp dự án dễ bảo trì hơn. - Khả năng mở rộng: Kiến trúc này cho phép bạn dễ dàng thêm các công cụ như
generateImageđể quan sát sơ đồ logic của Agent trong các bài học tới.
VI. Tổng kết
Việc thiết lập môi trường vững chắc với hệ thống tiện ích và quản lý biến môi trường tốt là bước đệm quan trọng nhất để xây dựng các Agent phức tạp. LangChain cung cấp giao diện thống nhất, và các công cụ hỗ trợ của chúng ta sẽ giúp bạn tập trung hoàn toàn vào việc thiết kế logic cho Agent.
Trong bài học tiếp theo, chúng ta sẽ học cách biến các hàm JavaScript thành các Tools để AI có thể thực hiện hành động!