معماری کامل و نقشه راه — همه چیز کنار هم

قسمت ۸ ۲۲ دقیقه

یه نگاه به کل مسیر

رسیدیم به آخرین اپیزود این سری. بیا یه لحظه بایستیم و ببینیم چه مسیری رو طی کردیم:

  • اپیزود ۱-۳: با AI و LLM آشنا شدیم، Prompt Engineering یاد گرفتیم
  • اپیزود ۴: مدل‌های اوپن‌سورس (Llama، Qwen، DeepSeek) رو شناختیم
  • اپیزود ۵: با RAG به مدل حافظه دادیم
  • اپیزود ۶: با Fine-tuning رفتار مدل رو شخصی‌سازی کردیم
  • اپیزود ۷: با Agent‌ها آشنا شدیم — مدل‌هایی که کار انجام می‌دن

حالا وقتشه همه این تکه‌ها رو کنار هم بذاریم و ببینیم یه پروژه واقعی AI چه شکلیه. بعدش یه نقشه راه ۶ ماهه بهت می‌دم که دقیقاً بدونی از کجا شروع کنی.

معماری یه پروژه واقعی AI

فرض کن می‌خوای یه دستیار هوشمند فارسی بسازی که بتونه به سوالات کاربران درباره یه مجموعه اسناد جواب بده، سبک خاصی داشته باشه، و کارهای عملی هم انجام بده. معماری کاملش اینه:

لایه ۱: مدل زبانی (LLM Layer)

قلب سیستم. اینجا تصمیم می‌گیری از چه مدلی استفاده کنی.

# گزینه‌ها:
# - Closed-source: Claude API, OpenAI API
#   مزیت: کیفیت بالا، بدون نیاز به GPU
#   هزینه: پرداخت به ازای هر درخواست

# - Open-source: Qwen 3 14B, Llama 3
#   مزیت: حریم خصوصی، هزینه ثابت
#   هزینه: سخت‌افزار GPU

# - ترکیبی (Hybrid): بهترین رویکرد
#   مدل سنگین برای کارهای پیچیده
#   مدل سبک برای کارهای ساده
💡 نکته عملی: خیلی از پروژه‌های موفق از رویکرد ترکیبی استفاده می‌کنن. مثلاً برای سوالات ساده یه مدل ۸B محلی استفاده می‌کنن (ارزان و سریع)، و برای کارهای پیچیده از API یه مدل بزرگ استفاده می‌کنن (گرون ولی باکیفیت).

لایه ۲: RAG Pipeline

سیستم حافظه. اسناد و داده‌ها رو پردازش و ذخیره می‌کنه.

# معماری RAG Pipeline
                                    
# ورودی اسناد                      
#    ↓                              
# Document Loader ← PDF, Word, HTML, DB
#    ↓
# Text Splitter (Chunking)  ← chunk_size=500, overlap=50
#    ↓
# Embedding Model ← BGE-M3 یا Multilingual-E5
#    ↓
# Vector Database ← Qdrant یا ChromaDB
#    ↓
# Retriever ← top_k=5, با فیلتر metadata
#    ↓
# به LLM تحویل داده می‌شه

لایه ۳: Agent Framework

مغز عملیاتی. تصمیم‌گیری و اجرای کار.

# ابزارهای Agent
tools = {
    "search_docs": "جستجو در اسناد (RAG)",
    "search_web": "جستجو در اینترنت",
    "calculator": "محاسبات ریاضی",
    "send_notification": "ارسال اعلان",
    "query_database": "جستجو در دیتابیس",
    "generate_report": "تولید گزارش"
}

# Agent Loop
# کاربر → Agent → فکر → ابزار → نتیجه → فکر → جواب

لایه ۴: API و رابط کاربری

لایه‌ای که کاربر باهاش تعامل می‌کنه.

# Backend API با FastAPI
from fastapi import FastAPI
app = FastAPI()

@app.post("/chat")
async def chat(message: str):
    # ۱. سوال رو به Agent بده
    response = agent.run(message)
    # ۲. جواب رو برگردون
    return {"response": response}

# Frontend: React, Next.js, یا حتی یه چت ساده HTML

Tech Stack پیشنهادی

حالا بیا ببینیم برای ساخت این سیستم چه ابزارهایی لازمه:

زبان برنامه‌نویسی: Python

بدون شک Python زبان اصلی دنیای AI هست. تقریباً همه کتابخانه‌ها و ابزارها با Python نوشته شدن یا SDK پایتون دارن. اگه Python بلد نیستی، اول از همه Python یاد بگیر.

فریم‌ورک Backend: FastAPI

FastAPI سریع‌ترین و مدرن‌ترین فریم‌ورک وب Python هست. Async هست (یعنی می‌تونه هم‌زمان چند درخواست رو پردازش کنه)، مستندات خودکار تولید می‌کنه، و Type Hints داره.

سرویس‌دهی مدل: vLLM

اگه از مدل اوپن‌سورس استفاده می‌کنی، vLLM بهترین انتخاب برای serve کردنشه. سریعه، از batching پشتیبانی می‌کنه، و API سازگار با OpenAI داره — یعنی بدون تغییر کد می‌تونی بین OpenAI و مدل محلیت سوئیچ کنی.

Vector Database: Qdrant یا ChromaDB

  • ChromaDB: برای شروع و پروتوتایپ. نصبش یه خطه و embedded اجرا می‌شه.
  • Qdrant: برای پروداکشن. سریع‌تر، مقیاس‌پذیرتر، و فیلترینگ بهتری داره.

فریم‌ورک Agent: LangGraph

LangGraph از خانواده LangChain هست ولی رویکرد گراف‌محور داره. برای Agent‌های پیچیده با چندین مرحله و شاخه تصمیم‌گیری، بهترین انتخابه.

Fine-tuning: Unsloth

همون‌طور که اپیزود ۶ گفتیم، Unsloth سریع‌ترین و کم‌مصرف‌ترین ابزار Fine-tuning هست.

مانیتورینگ: LangSmith یا Phoenix

وقتی سیستم رفت پروداکشن، باید بتونی ردیابی کنی: کاربر چی پرسید؟ مدل چی جواب داد؟ چقدر طول کشید؟ کیفیت جواب چطور بود؟ ابزارهای مانیتورینگ مثل LangSmith یا Arize Phoenix اینکارو انجام می‌دن.

یه نمای کلی از معماری

┌─────────────────────────────────────────────┐
│                 کاربر نهایی                    │
│            (وب، موبایل، API)                  │
└───────────────┬─────────────────────────────┘
                │
┌───────────────▼─────────────────────────────┐
│              FastAPI Backend                  │
│         (احراز هویت، مدیریت session)         │
└───────────────┬─────────────────────────────┘
                │
┌───────────────▼─────────────────────────────┐
│              Agent Layer                      │
│     (LangGraph / ReAct / Tool Router)        │
│                                               │
│  ┌─────────┐ ┌──────────┐ ┌──────────────┐  │
│  │ RAG Tool│ │ Web Tool │ │ DB Tool      │  │
│  └────┬────┘ └──────────┘ └──────────────┘  │
│       │                                       │
│  ┌────▼────────────────────────────────────┐ │
│  │        Vector Database (Qdrant)          │ │
│  │     (اسناد Embed شده)                    │ │
│  └─────────────────────────────────────────┘ │
└───────────────┬─────────────────────────────┘
                │
┌───────────────▼─────────────────────────────┐
│              LLM Layer                        │
│                                               │
│  ┌──────────────┐    ┌───────────────────┐   │
│  │ vLLM (محلی)   │    │ Claude/OpenAI API│   │
│  │ Qwen 3 14B   │    │ (برای کارهای     │   │
│  │ Fine-tuned    │    │  پیچیده)         │   │
│  └──────────────┘    └───────────────────┘   │
└─────────────────────────────────────────────┘

نقشه راه ۶ ماهه — از صفر تا آماده کار

حالا مهم‌ترین بخش: دقیقاً چی یاد بگیری و به چه ترتیبی.

ماه ۱: پایه‌ها (Foundation)

  • هفته ۱-۲: Python مقدماتی تا متوسط (اگه بلد نیستی). تمرکز روی: توابع، کلاس‌ها، کتابخانه‌های استاندارد، pip، virtual environment
  • هفته ۳: API چیه؟ HTTP methods (GET, POST). REST API. کار با کتابخانه requests در Python
  • هفته ۴: آشنایی با Git و GitHub. Docker مقدماتی (فقط pull و run کافیه فعلاً)
🎯 هدف ماه ۱: بتونی یه اسکریپت Python بنویسی که از یه API داده بگیره و پردازش کنه.

ماه ۲: LLM و Prompt Engineering

  • هفته ۱: با API‌های Claude و OpenAI کار کن. یه چت‌بات ساده بساز
  • هفته ۲: Prompt Engineering عمیق: System Prompt، Few-shot، Chain-of-Thought
  • هفته ۳: Ollama نصب کن و مدل‌های اوپن‌سورس رو تست کن. Qwen و Llama رو مقایسه کن
  • هفته ۴: یه پروژه کوچیک: مثلاً یه ابزار خلاصه‌سازی متن فارسی
🎯 هدف ماه ۲: بتونی با API مدل‌های مختلف کار کنی و بفهمی هر مدل کجا خوبه.

ماه ۳: RAG

  • هفته ۱: مفاهیم Embedding و Vector Database. ChromaDB نصب کن و باهاش کار کن
  • هفته ۲: یه RAG pipeline ساده بساز. چند PDF بده بهش و سوال بپرس
  • هفته ۳: Chunking بهتر، Hybrid Search (ترکیب جستجوی برداری و کلیدواژه‌ای)
  • هفته ۴: پروژه: چت‌بات سوالات متداول (FAQ) با RAG
🎯 هدف ماه ۳: یه سیستم RAG کامل بسازی که از اسناد فارسی سوال جواب بده.

ماه ۴: Agent و Tool Use

  • هفته ۱: Function Calling با Claude و OpenAI API
  • هفته ۲: LangGraph یاد بگیر. یه Agent ساده بساز
  • هفته ۳: Agent‌های پیچیده‌تر: چند ابزار، حافظه، مدیریت خطا
  • هفته ۴: پروژه: دستیار تحقیق که وب رو سرچ می‌کنه و گزارش می‌ده
🎯 هدف ماه ۴: بتونی Agent بسازی که ابزارهای مختلف رو استفاده کنه و کار واقعی انجام بده.

ماه ۵: Fine-tuning و بهینه‌سازی

  • هفته ۱: آشنایی با PyTorch مقدماتی (فقط مفاهیم پایه، نیازی به عمیق شدن نیست)
  • هفته ۲: Unsloth نصب کن. یه مدل کوچک (مثل Qwen 3 4B) رو Fine-tune کن
  • هفته ۳: Dataset preparation. یه دیتاست فارسی باکیفیت بساز و مدل رو Fine-tune کن
  • هفته ۴: ارزیابی مدل. مقایسه مدل Fine-tune شده با مدل اصلی
🎯 هدف ماه ۵: بتونی یه مدل اوپن‌سورس رو برای یه کاربرد خاص فارسی Fine-tune کنی.

ماه ۶: پروداکشن و پروژه نهایی

  • هفته ۱: FastAPI یاد بگیر. API بنویس برای سیستم AI
  • هفته ۲: Docker و Deploy. سیستم رو containerize کن
  • هفته ۳-۴: پروژه نهایی: یه سیستم کامل بساز که LLM + RAG + Agent + Fine-tuning رو ترکیب کنه
🎯 هدف ماه ۶: یه پروژه کامل تو پورتفولیوت داشته باشی که نشون بده AI Developer هستی.

نقش‌های شغلی در تیم AI

دنیای AI فقط برنامه‌نویسی نیست. نقش‌های مختلفی وجود داره:

  • AI/ML Engineer: مدل رو انتخاب، Fine-tune، و Deploy می‌کنه. بیشتر با Python، PyTorch، و ابزارهای MLOps کار می‌کنه.
  • AI Application Developer: اپلیکیشن‌هایی می‌سازه که از AI استفاده می‌کنن. RAG، Agent، API — بیشتر این سری درباره همین نقشه.
  • Data Engineer: داده‌ها رو جمع‌آوری، پاکسازی، و آماده می‌کنه. بدون داده خوب، AI کار نمی‌کنه.
  • Prompt Engineer: متخصص نوشتن prompt‌های بهینه. تو شرکت‌های بزرگ یه نقش جداگانه‌ست.
  • AI Product Manager: تصمیم می‌گیره AI کجا استفاده بشه و کجا نه. نیاز به درک فنی + درک کسب‌وکار.

منابع یادگیری پیشنهادی

دوره‌های آنلاین

  • Andrej Karpathy — YouTube: بهترین توضیح‌دهنده مفاهیم AI. ویدیوهاش طلاست.
  • DeepLearning.AI (Andrew Ng): دوره‌های عملی LangChain، RAG، Fine-tuning
  • Fast.ai: رویکرد top-down — اول عملی یاد بگیر، بعد تئوری

مستندات رسمی

  • Anthropic Docs (Claude API)
  • LangChain / LangGraph Docs
  • Hugging Face Docs
  • Ollama Docs

جامعه

  • Hugging Face Community: بحث‌ها و مدل‌های جدید
  • Reddit r/LocalLLaMA: جامعه مدل‌های محلی
  • Discord‌های مختلف: LangChain، Unsloth، Ollama همه Discord فعال دارن

۵ نکته طلایی برای مسیر یادگیری

۱. پروژه‌محور یاد بگیر: هر مفهوم جدید رو با یه پروژه کوچیک تمرین کن. فقط خوندن و دیدن ویدیو کافی نیست.

۲. از کوچیک شروع کن: لازم نیست از اول یه سیستم پیچیده بسازی. یه چت‌بات ساده بساز، بعد RAG اضافه کن، بعد Agent، بعد Fine-tuning.

۳. خط مقدم رو دنبال کن: دنیای AI خیلی سریع تغییر می‌کنه. هر هفته یه ساعت وقت بذار و اخبار جدید رو بخون. Twitter/X و Hugging Face بهترین منابعن.

۴. نمونه کار بساز: وقتی دنبال کار می‌گردی، پورتفولیو از هزار تا مدرک مهم‌تره. پروژه‌هات رو تو GitHub بذار.

۵. صبور باش: ۶ ماه زمان واقع‌بینانه‌ایه. روزی ۱-۲ ساعت کافیه. مهم اینه که مداوم باشی، نه اینکه یه هفته ۱۰ ساعت کار کنی و بعد ول کنی.

جمع‌بندی سری

تو ۸ اپیزود این سری، از صفر شروع کردیم و رسیدیم به اینجا:

  1. فهمیدیم AI و LLM چیه و چطور کار می‌کنه
  2. Prompt Engineering یاد گرفتیم — هنر حرف زدن با مدل
  3. مدل‌های اوپن‌سورس رو شناختیم و فهمیدیم کدوم رو کی استفاده کنیم
  4. RAG یاد گرفتیم — دادن حافظه به مدل
  5. Fine-tuning یاد گرفتیم — شخصی‌سازی رفتار مدل
  6. Agent یاد گرفتیم — تبدیل مدل به یه دستیار عمل‌گرا
  7. معماری کامل دیدیم و نقشه راه گرفتیم

الان تو یه درک جامع از اکوسیستم AI داری. می‌دونی تکه‌ها چی‌ان و چطور کنار هم قرار می‌گیرن. این دانش ارزشمنده — خیلی‌ها بدون این دید کلی شروع می‌کنن و وسط راه گم می‌شن.

💡 آخرین حرف: بهترین زمان برای شروع، همین الانه. نیازی نیست همه‌چیز رو کامل بدونی تا شروع کنی. Ollama رو نصب کن، یه مدل اجرا کن، و شروع کن به ساختن. هر چی بیشتر بسازی، بیشتر یاد می‌گیری. موفق باشی!

نظرات

هنوز نظری ثبت نشده. اولین نفر باشید!

نظر خود را بنویسید