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 دریافت خروجی مدل

author_attribution_problems

استفاده از 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 یکی از مهم‌ترین چارچوب‌ها برای توسعه سریع برنامه‌های مبتنی بر مدل‌های زبانی است.
با استفاده از آن می‌توان مدل‌های مختلف را به‌راحتی ترکیب کرد، ابزارها را متصل نمود و سیستم‌های هوشمند واقعی ایجاد کرد.