ایجنت‌ها

LangChain — راهنمای فارسی

LangChain — راهنمای فارسی — راهنمای فارسی از مجموعهٔ «ایجنت‌ها» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ LangChain — راهنمای فارسی

اگه توی توسعهٔ اپلیکیشن‌های مبتنی بر LLM کار می‌کنی یا می‌خوای شروع کنی، اسم LangChain احتمالاً خیلی زود توی راهت ظاهر می‌شه. این فریم‌ورک Python (و JavaScript) از سال ۲۰۲۲ تا الان به ستون اصلی اکوسیستم LLM تبدیل شده. اما LangChain دقیقاً چیه، چه مشکلی حل می‌کنه، و کِی نباید ازش استفاده کنی؟

مسئله‌ای که LangChain حل می‌کنه

فرض کن می‌خوای یه chatbot بسازی که روی اسناد شرکتت جواب می‌ده — PDF، Notion، دیتابیس. فقط یه فراخوانی ساده به API یه مدل کافی نیست: باید اسناد رو load کنی، به chunk تقسیم کنی، تبدیل به embedding کنی، توی یه vector store ذخیره کنی، موقع query سرچ کنی، و بعد به مدل بدی. بعد شاید بخوای حافظه اضافه کنی، یا چند ابزار مثل search و calculator. LangChain همهٔ این اجزا رو به شکل ماژولار در کنار هم می‌ذاره.

مفاهیم اصلی

Chains (زنجیره): ساده‌ترین واحد در LangChain. یه chain ترتیبی از مراحله — prompt، model، parser. با LCEL (LangChain Expression Language) می‌تونی بنویسی:

chain = retriever | prompt | model | output_parser

Agents (ایجنت): وقتی بخوای مدل بتونه تصمیم بگیره که «چه ابزاری رو کِی فراخوانی کنه». ایجنت یه لوپ داره: فکر می‌کنه، ابزار صدا می‌کنه، نتیجه می‌گیره، دوباره فکر می‌کنه. از نسخهٔ ۱.۰ LangChain (اکتبر ۲۰۲۵)، همهٔ ایجنت‌ها روی LangGraph اجرا می‌شن.

RAG (بازیابی-تولید ترکیبی): معماری‌ای که بهت اجازه می‌ده LLM رو به داده‌های خودت وصل کنی. LangChain پشته کاملی داره: document loaders برای PDF، web، SQL؛ text splitters؛ vector store integrations (Pinecone، Chroma، pgvector)؛ و retriever interfaces.

LangGraph: فریم‌ورک جداگانه‌ای روی LangChain برای ایجنت‌های پیچیده — جایی که باید state داشته باشی، شاخه‌بندی logic داشته باشی، یا human-in-the-loop بسازی.

LangSmith: پلتفرم مشاهده و ارزیابی — می‌تونی trace بگیری و ببینی ایجنتت دقیقاً چه فکری می‌کنه.

کِی LangChain مناسبه، کِی نیست

بهش نیاز داری اگه:

  • داری یه RAG pipeline می‌سازی روی داده‌های اختصاصی
  • می‌خوای یه ایجنت با چند ابزار بسازی
  • نیاز داری بین provider های مختلف (OpenAI، Anthropic، Gemini) انعطاف داشته باشی
  • پروژه‌ات به‌حدی پیچیدگی داره که abstraction لازمه

بهش نیاز نداری اگه:

  • فقط یه API call ساده به یه مدل داری — مستقیم از SDK استفاده کن
  • هنوز داری prototype می‌زنی — LangChain یه لایهٔ پیچیدگی اضافه می‌کنه
  • تیمت با RAG پیچیده کار نمی‌کنه

LangChain در مقابل LlamaIndex

این سؤال خیلی پرسیده می‌شه. جواب کوتاه: اینا رقیب مستقیم نیستن، بیشتر مکمل‌ هستن.

LangChainLlamaIndex
تمرکز اصلیارکستراسیون و ایجنتingestion و retrieval دقیق
قدرتچند ابزار، logic پیچیدهچه داده‌ای رو چطور index کنیم
وقتی استفاده می‌شهorchestrator کل سیستمknowledge layer

بسیاری از production stack‌ها از هر دو با هم استفاده می‌کنن: LlamaIndex برای index کردن دانش، LangChain برای orchestration و routing ابزارها.

ربطش به توسعه‌دهندهٔ ایرانی

LangChain خودش یه سرویس نیست که نیاز به اشتراک داشته باشی — open-source و رایگانه. اما برای استفاده ازش نیاز داری به API یه مدل (OpenAI، Anthropic، یا مدل‌های open-weight مثل Llama) که برای کاربر ایرانی نیاز به VPN یا استفاده از proxy داره.

برای ساختن اپلیکیشن‌های AI بومی که با API فارسی کار کنن، ادغام با مدل‌های open-weight و اجرای local گزینهٔ عملی‌تریه — که LangChain این امکان رو داره.

یه نکتهٔ صادقانه درباره پیچیدگی

LangChain گاهی abstractions سنگینی داره که debugging رو سخت می‌کنه. اگه تازه‌کاری، یه API call ساده مستقیم به Anthropic یا OpenAI شروع کردن رو راحت‌تر می‌کنه. LangChain رو وقتی اضافه کن که واقعاً نیازش داری.

همچنین بخوان


اگه به دنبال ساختن اپلیکیشن AI روی داده‌های خودتی، آیراچت رو به‌عنوان یه مرجع زنده از چیزی که شناخت پیوسته در عمل یعنی ببین — همون معماری‌ای که LangGraph سعی داره توی کد پیاده‌اش کنی، آیرا به‌صورت محصول آماده داره.

#ایجنت‌ها

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «ایجنت‌ها»