1. Giới thiệu & Khởi tạo Model

Nam

Nam Hoang / Feb 01, 2026

5 min read

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:

  1. 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.
  2. 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).
  3. 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 .env hoặc .env.development tùy theo môi trường đang chạy.
  • util-langchain: Một gói tiện ích nội bộ chứa hàm createGeminiModel (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:

  1. Cài đặt thư viện:

    npm install langchain @langchain/google-genai zod dotenv
    npm install -D tsx typescript
  2. Cấu hình môi trường (.env):
    Tạo file .env để lưu API Key:

    GEMINI_API_KEY=your_actual_api_key_here
  3. Mã 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.ts giú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 createGeminiModel từ util-langchain giú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!

👉 Bài tiếp theo: 2. Tạo Công cụ (Tool) đầu tiên