LangChain
عنوان پروژه: بررسی چارچوب LangChain
نام دانشجو: فرخنده خوشنود
ایمیل: F.khoshnoud24@gmail.com
مقطع: دانشجوی مجازی هوش مصنوعی، دانشگاه فردوسی مشهد
مقدمه
مدلهای زبانی بزرگ (LLMs) مانند GPT امکان تولید متن، پاسخ به سوالات و حتی تولید کد را فراهم کردهاند.
اما استفاده مستقیم از این مدلها برای ساخت یک سیستم واقعی، چالشهایی مانند مدیریت حافظه، اتصال به ابزارها و طراحی جریان کاری دارد.
LangChain چارچوبی است که این فرایند را ساده میکند و امکان ساخت برنامههای مبتنی بر مدلهای زبانی را فراهم میکند.
چرا LangChain؟
- سادهسازی توسعه برنامههای مبتنی بر LLM
- امکان اتصال به ابزارها و دیتابیسها
- پشتیبانی از مدلهای مختلف (OpenAI، DeepSeek، Anthropic و …)
- معماری ماژولار و قابل گسترش
معماری کلی
LangChain از مؤلفههای مختلفی تشکیل شده است:
| مؤلفه | توضیح |
|---|---|
| Chat Models | اجرای مدلهای گفتگو |
| Tools | اجرای ابزارهای خارجی |
| Memory | حفظ تاریخچه مکالمه |
| Retrievers | بازیابی اطلاعات |
| Vector Stores | ذخیره بردارهای امبدینگ |
| Embeddings | تبدیل متن به بردار عددی |
این معماری باعث میشود بتوان بخشهای مختلف را بهصورت ترکیبی استفاده کرد.
مدلهای گفتگو (Chat Models)
مدلهای گفتگو به جای دریافت یک متن خام، لیستی از پیامها را دریافت میکنند:
- system → تعیین رفتار مدل
- human → پیام کاربر
- assistant → پاسخ مدل
مثال کد: اتصال به OpenAI
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
model="gpt-4o",
api_key="YOUR_KEY"
)
messages = [
("system", "You are a helpful assistant."),
("human", "Explain LangChain in two sentences")
]
response = model.invoke(messages)
print(response.content)
توضیح بخشهای کد
| بخش | توضیح |
|---|---|
| ChatOpenAI | ساخت شیء مدل |
| messages | تعریف پیامهای مکالمه |
| invoke | ارسال درخواست |
| response.content | دریافت خروجی مدل |
استفاده از DeepSeek در LangChain
نصب کتابخانه
pip install -qU langchain-deepseek
تنظیم API Key
import getpass
import os
if not os.getenv("DEEPSEEK_API_KEY"):
os.environ["DEEPSEEK_API_KEY"] = getpass.getpass("Enter your API key: ")
ساخت مدل
from langchain_deepseek import ChatDeepSeek
llm = ChatDeepSeek(
model="deepseek-chat",
temperature=0
)
فراخوانی مدل
messages = [
("system", "Translate English to French"),
("human", "I love programming")
]
ai_msg = llm.invoke(messages)
print(ai_msg.content)
کاربردها
| کاربرد | توضیح |
|---|---|
| چتبات | پاسخگویی خودکار به کاربران |
| سیستم پرسش و پاسخ | استخراج پاسخ از دادهها |
| اتصال به دیتابیس | ترکیب AI با اطلاعات واقعی |
| تولید محتوا | نوشتن متن، مقاله و کد |
| دستیار هوشمند | اجرای وظایف چندمرحلهای |
نتیجهگیری
LangChain یکی از مهمترین چارچوبها برای توسعه سریع برنامههای مبتنی بر مدلهای زبانی است.
با استفاده از آن میتوان مدلهای مختلف را بهراحتی ترکیب کرد، ابزارها را متصل نمود و سیستمهای هوشمند واقعی ایجاد کرد.
