LangChain
LangChain là framework mã nguồn mở để xây dựng ứng dụng và agent LLM từ các model, công cụ, bộ truy xuất và middleware có thể thay thế.
LangChain là framework mã nguồn mở để xây dựng ứng dụng và agent AI trên nền model ngôn ngữ lớn (LLM). Framework này cung cấp cho mọi nhà cung cấp model cùng một giao diện cho message, model trò chuyện, tool và retriever, giúp ứng dụng chuyển từ model của nhà cung cấp này sang nhà cung cấp khác chỉ bằng cách đổi tên model; đồng thời cung cấp sẵn các vòng lặp agent và hàng trăm tích hợp với vector store, bộ tải tài liệu và API. Harrison Chase phát hành LangChain dưới dạng dự án Python mã nguồn mở vào tháng 10 năm 2022, vài tuần trước khi ChatGPT ra mắt; LangChain trở thành một trong những bộ công cụ được sử dụng rộng rãi nhất để kết hợp prompt, truy xuất và lệnh gọi model thành ứng dụng AI tạo sinh. LangChain 1.0 và LangGraph 1.0 được phát hành cùng nhau vào ngày 22 tháng 10 năm 2025, kèm cam kết không có thay đổi gây lỗi tương thích trước phiên bản 2.0.
Hệ sinh thái LangChain#
Tên gọi này hiện bao gồm một họ package, có sẵn cho Python và JavaScript:
- langchain: Framework agent, tập trung vào
create_agent, nhận một model, danh sách tool và system prompt rồi trả về một agent hoạt động được. - langchain-core và các tích hợp: Giao diện tiêu chuẩn cho model trò chuyện, message, embedding, retriever và tool, cùng các package dành cho nhà cung cấp như langchain-openai và langchain-anthropic triển khai các giao diện đó.
- LangGraph: Runtime cấp thấp hơn mà các agent LangChain chạy trên đó. LangGraph mô hình hóa chương trình dưới dạng đồ thị gồm các bước vận hành trên trạng thái dùng chung và có thể tạo checkpoint cho trạng thái sau mỗi bước, nhờ vậy các tác vụ dài có thể tiếp tục sau khi khởi động lại và tạm dừng để chờ con người phê duyệt.
- LangSmith: Nền tảng được lưu trữ để theo dõi trace khả năng quan sát, đánh giá agent trên tập dữ liệu và triển khai agent.
Các ứng dụng LangChain đời đầu là các chain: template prompt được điền bằng đầu vào của người dùng, lệnh gọi model và parser đầu ra, kết hợp bằng cú pháp pipe như trong chuỗi prompt. Chain phổ biến nhất là tạo sinh tăng cường truy xuất (RAG), trong đó tài liệu được tải vào, chia thành các đoạn, embedding được lưu trong cơ sở dữ liệu vector, rồi các đoạn phù hợp nhất với từng câu hỏi được thêm vào cửa sổ ngữ cảnh của model.
Cách agent LangChain hoạt động#
Agent được xây dựng bằng create_agent lặp lại vòng lặp gồm lệnh gọi model và lệnh gọi tool, tương tự vòng lặp gọi hàm mà mọi harness agent đều chạy. Middleware can thiệp vào từng bước để thay đổi những gì diễn ra xung quanh model: middleware tích hợp có thể tóm tắt lịch sử dài, che dữ liệu cá nhân và tạm dừng để chờ con người phê duyệt trước khi chạy các tool đã chọn.
Bổ sung khả năng thị giác cho agent LangChain#
Decorator @tool của LangChain biến hàm Python thành tool, đọc kiểu đối số từ chữ ký hàm và mô tả từ docstring. Bọc Ultralytics YOLO26 theo cách này sẽ cung cấp cho agent khả năng phát hiện đối tượng, với Results.summary() trả về tên lớp, độ tin cậy và box của từng đối tượng được phát hiện dưới dạng dữ liệu mà model có thể đọc:
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# Schema LangChain suy ra từ chữ ký hàm và docstring, ở dạng mà model nhận được
print(convert_to_openai_tool(detect_objects))
# Agent chạy tool với các đối số từ lệnh gọi tool của model
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])Lệnh print đầu tiên hiển thị định nghĩa hàm, gồm tham số chuỗi image_url và docstring làm phần mô tả mà LangChain gửi cho model; lệnh thứ hai hiển thị kết quả phát hiện đầu tiên mà tool trả về. Truyền tools=[detect_objects] vào create_agent cho phép mọi model trò chuyện được hỗ trợ gọi bộ phát hiện thông qua chế độ dự đoán.
LangChain so với các công cụ liên quan#
- Quy trình agent: Các mẫu thiết kế tổng quát như định tuyến, sử dụng tool và vòng lặp đánh giá, được triển khai bằng đồ thị LangGraph và agent LangChain.
- SDK của nhà cung cấp: Gọi trực tiếp API của nhà cung cấp model không cần framework, phù hợp với ứng dụng chỉ dùng một model. LangChain bổ sung giao diện dùng chung, tích hợp và vòng lặp agent, hữu ích khi một ứng dụng sử dụng nhiều model, tool hoặc nguồn dữ liệu.
- DSPy: Framework tự động viết và tối ưu prompt cho chương trình LLM nhiều bước, tinh chỉnh prompt dựa trên một metric với dữ liệu ví dụ.
- LlamaIndex: Framework tập trung vào việc nhập, lập chỉ mục và truy vấn dữ liệu riêng tư cho RAG. Hai framework có phần chồng lấn; ứng dụng thường dùng LlamaIndex để truy xuất bên trong agent LangChain hoặc LangGraph.










