درس ۱ از ۶، مقدمات

LangChain چیست و چرا به آن نیاز داریم؟

متنی ۱۲ دقیقه به‌روز شده در ۲۸ مهر ۱۴۰۵

در این درس
  1. مسئله: هر ارائه‌دهنده یک API متفاوت
  2. اجزای اصلی
  3. در این دوره چه می‌سازیم؟

فراخوانی یک مدل زبانی با یک درخواست HTTP کار سختی نیست. سختی از جایی شروع می‌شود که بخواهید ارائه‌دهنده را عوض کنید، پرامپت‌ها را مدیریت کنید، خروجی را به داده‌ی ساخت‌یافته تبدیل کنید یا به مدل ابزار بدهید. LangChain برای همین لایه ساخته شده است.

مسئله: هر ارائه‌دهنده یک API متفاوت#

OpenAI، Anthropic، Google و مدل‌های محلی هر کدام قالب پیام، نام پارامترها و شکل پاسخ خودشان را دارند. LangChain یک رابط مشترک روی همه‌ی آن‌ها می‌گذارد:

from langchain.chat_models import init_chat_model

model = init_chat_model("openai:gpt-4o-mini")
# برای تعویض ارائه‌دهنده فقط همین رشته عوض می‌شود:
# model = init_chat_model("anthropic:claude-sonnet-4-5")
# model = init_chat_model("ollama:llama3.2")

print(model.invoke("سلام! خودت را در یک جمله معرفی کن.").content)

اجزای اصلی#

جزء کارش درس
Chat Models رابط یکسان برای همه‌ی مدل‌ها درس ۳
Prompt Templates ساخت پرامپت با متغیر درس ۴
LCEL وصل کردن اجزا با عملگر | درس ۴
Structured Output تبدیل خروجی به شیء پایتون درس ۵
Tools و Agents دادن توانایی عمل به مدل درس ۶

LangChain یا LangGraph؟

LangChain اجزای سازنده را می‌دهد. وقتی جریان کار شما شاخه، حلقه یا حافظه‌ی پایدار لازم دارد، سراغ LangGraph می‌رویم. ایجنت‌های LangChain نسخه‌ی ۱ در واقع روی LangGraph ساخته شده‌اند، پس چیزی که اینجا یاد می‌گیرید مستقیم به دوره‌ی بعد منتقل می‌شود.

در این دوره چه می‌سازیم؟#

در طول دوره یک «دستیار پاسخ به سؤالات فنی» می‌سازیم که سؤال کاربر را می‌گیرد، با پرامپت مناسب به مدل می‌دهد، پاسخ را ساخت‌یافته برمی‌گرداند و در درس آخر می‌تواند از ابزار هم استفاده کند.