Học Làm AI Logo
Quay lại danh mục Thông tin chuyên ngành
Thông tin chuyên ngành

Hướng dẫn tích hợp OpenAI API & LangChain vào ứng dụng Next.js từ A-Z

Founder HoclamAi.net19/8/2026
Hướng dẫn tích hợp OpenAI API & LangChain vào ứng dụng Next.js từ A-Z

Hướng Dẫn Tích Hợp OpenAI API & LangChain Vào Ứng Dụng Next.js Từ A-Z

1. Mở Đầu: Tại Sao Nên Dùng Next.js + LangChain + OpenAI API?

Sự kết hợp giữa Next.js (App Router), LangChain, và OpenAI API đã trở thành bộ công nghệ chuẩn mực (Gold Standard) để xây dựng các ứng dụng Generative AI hiện đại (như Chatbot AI, RAG Knowledge Base, AI Agent).

  • Next.js (App Router & Server Actions): Cung cấp hạ tầng render phía Server, các Route Handlers hỗ trợ Streaming (Server-Sent Events – SSE) cực kỳ mượt mà, giúp bảo mật API Key an toàn ở Backend.
  • OpenAI API (GPT-4o / GPT-4o-mini): Cung cấp các mô hình ngôn ngữ lớn hàng đầu với khả năng hiểu ngữ cảnh, suy luận và gọi hàm (Function Calling).
  • LangChain: Framework quản lý luồng AI (AI Chains), xử lý bộ nhớ cuộc trò chuyện (Memory), phân tách văn bản (Text Splitter), và tích hợp Vector Database dễ dàng khi mở rộng dự án.

2. Tổng Quan Kiến Trúc Luồng Dữ Liệu (Data Flow)

Trong ứng dụng AI hiện đại, giao diện người dùng không nên chờ đợi trọn vẹn toàn bộ câu trả lời từ AI rồi mới hiển thị. Thay vào đó, dữ liệu sẽ được Stream theo từng từ (token) từ OpenAI về Next.js Server, sau đó truyền trực tiếp tới Client UI.

LUỒNG DỮ LIỆU TÍCH HỢP AI STREAMING
[Client UI (React/Next.js)]
         │
         ▼  1. Gửi User Prompt (POST Request)
[Route Handler (App Router /api/chat)]
         │
         ▼  2. Gọi LangChain PromptTemplate & ChatOpenAI Model
[OpenAI API (GPT-4o / GPT-4o-mini)]
         │
         ▼  3. Trả về Token Stream (SSE)
[Next.js Server / Vercel AI SDK]
         │
         ▼  4. Render từng Token realtime lên UI
[Client UI (React)]

3. Quy Trình 5 Bước Tích Hợp Chi Tiết Từ A-Z

1.Bước 1: Khởi tạo dự án Next.js & Cài đặt các thư viện cần thiết:

Tạo dự án Next.js mới với App Router và Tailwind CSS, sau đó cài đặt bộ thư viện AI cốt lõi.

Bash

npx create-next-app@latest my-ai-app --typescript --tailwind --app
cd my-ai-app
npm install @langchain/openai @langchain/core ai langchain

2.Bước 2: Cấu hình Biến môi trường (.env.local):

Tạo file .env.local tại thư mục gốc để lưu trữ OpenAI API Key an toàn.

env

OPENAI_API_KEY=sk-proj-your-actual-openai-api-key-here

3.Bước 3: Xây dựng Backend Route Handler Với LangChain (app/api/chat/route.ts):

Tạo API Route nhận tin nhắn từ Client, dùng LangChain để xử lý Prompt Template và mô hình OpenAI, sau đó Stream kết quả về Client.

TypeScript

import { ChatOpenAI } from "@langchain/openai";
import { PromptTemplate } from "@langchain/core/prompts";
import { LangChainAdapter } from "ai";

// Ép Route Handler chạy ở Edge/Node.js Runtime hỗ trợ Streaming
export const runtime = "edge";

export async function POST(req: Request) {
  try {
    const { messages } = await req.json();
    const lastUserMessage = messages[messages.length - 1].content;

    // 1. Khởi tạo Mô hình OpenAI qua LangChain
    const model = new ChatOpenAI({
      modelName: "gpt-4o-mini",
      temperature: 0.7,
      streaming: true,
    });

    // 2. Tạo Prompt Template
    const prompt = PromptTemplate.fromTemplate(
      "Bạn là một trợ lý AI thông minh và thân thiện. Hãy trả lời câu hỏi sau bằng tiếng Việt:\n\nCâu hỏi: {input}"
    );

    // 3. Kết nối Prompt và Model thành một Chain
    const chain = prompt.pipe(model);

    // 4. Stream câu trả lời
    const stream = await chain.stream({
      input: lastUserMessage,
    });

    // 5. Chuyển đổi LangChain Stream sang dạng tương thích với Client (Vercel AI SDK Adapter)
    return LangChainAdapter.toDataStreamResponse(stream);
  } catch (error) {
    return new Response(JSON.stringify({ error: "Lỗi xử lý API" }), { status: 500 });
  }
}

4.Bước 4: Tạo Giao Diện Chat Realtime Với Hooks (app/page.tsx):

Sử dụng hook useChat từ Vercel AI SDK để tự động quản lý trạng thái tin nhắn, luồng input và hiệu ứng gõ chữ (Streaming typing effect).

TypeScript

"use client";

import { useChat } from "ai/react";

export default function ChatPage() {
  const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
    api: "/api/chat",
  });

  return (
    
      Next.js + LangChain + OpenAI Chatbot

      {/* Khung hiển thị tin nhắn */}
      
        {messages.length === 0 && (
          Hãy bắt đầu gửi tin nhắn cho AI...
        )}
        {messages.map((m) => (
          
              {m.role === "user" ? "Bạn" : "AI Assistant"}
            {m.content}
        ))}
        {isLoading && AI đang suy nghĩ...}
      

      {/* Form nhập tin nhắn */}
      
        
        
          Gửi
        
      
    
  );
}

5.Bước 5: Thử Nghiệm & Tối Ưu Hóa:

Khởi động server phát triển bằng npm run dev, mở trình duyệt tại http://localhost:3000 để kiểm tra khả năng gửi/nhận tin nhắn và streaming phản hồi của AI.

4. Các Bảng Cấu Hình & So Sánh Mô Hình OpenAI Cần Biết

Để chọn đúng mô hình phù hợp với bài toán và ngân sách dự án:

Mô HìnhTốc ĐộChi Phí (Input / Output)Mục Đích Sử Dụng Tối Ưu
GPT-4o-miniCực nhanhRất rẻ ($0.15 / $0.60 per 1M tokens)Chatbot cơ bản, tóm tắt văn bản, phân loại dữ liệu, MVP.
GPT-4oNhanhTrung bình ($2.50 / $10.00 per 1M tokens)Xử lý logic phức tạp, phân tích đa phương thức (Vision), Code generation.
Text-Embedding-3-SmallNhanhCực rẻTạo Vector Embeddings cho tìm kiếm RAG (Retrieval-Augmented Generation).

5. Mẹo Nâng Cao & Bảo Mật Khi Đưa Vào Production

  1. Rào Chắn Bảo Mật API Key: Không bao giờ import ChatOpenAI hay dùng OPENAI_API_KEY ở Client Component (các file có "use client"). Tất cả thao tác gọi AI phải đi qua Next.js Route Handlers hoặc Server Actions.
  2. Quản Lý Bộ Nhớ Cuộc Trò Chuyện (Conversation Memory): Để AI nhớ lịch sử trò chuyện khi dùng LangChain, hãy tích hợp RunnableWithMessageHistory hoặc lưu trữ tin nhắn vào csdl như PostgreSQL / Redis theo từng session_id.
  3. Giới Hạn Tần Suất Gọi API (Rate Limiting): Sử dụng các thư viện như @upstash/ratelimit kết hợp với Next.js Middleware để tránh việc người dùng cố tình spam request tiêu tốn chi phí OpenAI API của bạn.

6. Kết Luận

Chỉ với chưa đầy 100 dòng code đơn giản kết hợp giữa Next.js App Router, LangChainOpenAI API, bạn đã xây dựng thành công một ứng dụng AI có khả năng Streaming phản hồi chuẩn hiện đại. Mô hình kiến trúc này hoàn toàn linh hoạt để bạn tiếp tục mở rộng thành các ứng dụng RAG nâng cao (Chat với file PDF/Website) hoặc tích hợp Vector Database (như Pinecone, Supabase Vector) trong tương lai.

Hướng dẫn tích hợp OpenAI API & LangChain vào ứng dụng Next.js từ A-Z | Học Làm AI | Học Làm AI