درس ۱ از ۶، مقدمات
LangChain چیست و چرا به آن نیاز داریم؟
فراخوانی یک مدل زبانی با یک درخواست 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 ساخته شدهاند، پس چیزی که اینجا یاد میگیرید مستقیم به دورهی بعد منتقل میشود.
در این دوره چه میسازیم؟#
در طول دوره یک «دستیار پاسخ به سؤالات فنی» میسازیم که سؤال کاربر را میگیرد، با پرامپت مناسب به مدل میدهد، پاسخ را ساختیافته برمیگرداند و در درس آخر میتواند از ابزار هم استفاده کند.