LangChain: Framework Xây Dựng Ứng Dụng AI Nâng Cao

LangChain Là Gì?

LangChain là framework phổ biến nhất để xây dựng ứng dụng dựa trên LLM (Large Language Model). Nó cung cấp các thành phần có thể kết nối linh hoạt: prompt templates, retrievers, chains, agents, và memory — giúp developer tạo ra chatbot, RAG hệ thống, và agent AI mà không cần viết từ đầu.

Sơ đồ kiến trúc LangChain framework

Các Thành Phần Cốt Lõi

1. Models (Mô Hình Ngôn Ngữ)

LangChain hỗ trợ nhiều LLM qua API thống nhất:

  • OpenAI GPT-4, GPT-3.5
  • Anthropic Claude
  • Google Gemini
  • Meta Llama (mã nguồn mở)
  • Ollama (chạy cục bộ)
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o", temperature=0.7)
response = model.invoke("Giải thích về AI")

2. Prompt Templates

Tạo template prompt có biến động:

from langchain_core.prompts import ChatPromptTemplate
template = ChatPromptTemplate.from_messages([
    ("system", "Bạn là trợ lý AI nói tiếng Việt. Trả lời ngắn gọn."),
    ("human", "{topic}"),
])

3. Retriever & RAG

Retrieval-Augmented Generation cho phép LLM trả lời dựa trên tài liệu riêng:

from langchain_community.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma

# Load và chunk tài liệu
loader = DirectoryLoader("./docs/")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=1000)
chunks = splitter.split_documents(docs)

# Tạo vector store
vectorstore = Chroma.from_documents(chunks, embedding())
retriever = vectorstore.as_retriever()

Sơ đồ RAG pipeline với LangChain

4. Chains

Ghép nối nhiều bước xử lý:

from langchain_core.chains import LLMChain
chain = LLMChain(llm=model, prompt=template)
result = chain.invoke({"topic": "Docker Compose"})

LangChain Agents

Agent là LLM có khả năng tự quyết định hành động, dùng tool để hoàn thành tác vụ:

from langchain.agents import create_tool_calling_agent
from langchain.agents import AgentExecutor

tools = [web_search_tool, calculator_tool]
agent = create_tool_calling_agent(model, tools)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

result = agent_executor.invoke({"input": "Tìm thời tiết Hà Nội và tính 2+2"})

Cài Đặt Bắt Đầu

pip install langchain langchain-openai langchain-community
export OPENAI_API_KEY="sk-..."

Ứng Dụng Thực Tế

Loại Ứng Dụng Thành Phần LangChain
Chatbot FAQ RAG + Retriever + LLM
Phân tích tài liệu Document Loader + Summarize Chain
Agent tự động Agents + Tools (search, calculator)
Tóm tắt video YouTube Loader + LLM Chain

Ví dụ ứng dụng chatbot RAG

LangChain vs LlamaIndex

  • LangChain: Framework tổng quát cho mọi ứng dụng AI — agent, chains, tools.
  • LlamaIndex: Chuyên về indexing và truy xuất dữ liệu cho RAG.
  • Kết hợp: Nhiều dự án dùng cả hai — LlamaIndex cho data, LangChain cho agent.

Kết Luận

LangChain đơn giản hóa việc xây dựng ứng dụng AI từ chatbot cơ bản đến agent phức tạp. Bắt đầu với template prompt và một LLM, bạn có thể mở rộng dần thành hệ thống RAG hoặc agent tự hành động. Đây là skill thiết yếu cho lập trình viên AI năm 2026.

Nguồn tham khảo: LangChain Documentation, LlamaIndex

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Claude Code: Trợ lý AI viết và tối ưu code từ Anthropic

Claude Code: Trợ lý AI lập trình từ Anthropic – Đánh giá chi tiết 2026 Claude Code là trợ lý lập trình AI mới nhất từ Anthropic, đang thay đổi…

Xem thêm

Google Gemini 2.5 Pro: Mô Hình AI Đa Dạng Từ Google DeepMind

Google Gemini 2.5 Pro là mô hình ngôn ngữ lớn (LLM) đa phương thức do Google DeepMind phát triển, có khả năng xử lý đồng thời text, hình ảnh, âm…

Xem thêm

Notion AI: Trợ Lý AI Tự Động Hoá Công Việc Nhóm Hiệu Quả

Notion AI: Trợ Lý Lập Trình AI Của Anthropic Đang Cách Mạch Cách Làm Việc Nhóm Notion AI đang nổi lên như một trong những công cụ AI mạnh mẽ…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất