Skip to content
مطالعه موردی ۰۱

پلتفرم چت‌بات هوش مصنوعی
پایپ‌لاین ماژولار RAG

طراحی و معماری یک پلتفرم چندمستاجره و آماده‌ی تولید هوش مصنوعی (AI SaaS) شامل ۱۱ میکروسرویس NestJS و پایپ‌لاین ماژولار RAG با استفاده از FastAPI، LangChain و LangGraph.

۰۱ / چالش اصلی

ساخت یک پلتفرم چت‌بات چندمستاجره هوش مصنوعی با ترافیک بالا بدون تداخل یا نشت داده‌های بین مستاجران و بهبود عملکرد بازیابی اطلاعات.

با بزرگ شدن مجموعه اسناد به بیش از ۵ میلیون بردار، جستجوی استاندارد کسینوسی دچار گلوگاه شد. هدف کاهش زمان بازیابی به زیر ۵۰۰ میلی‌ثانیه با حفظ و حتی بهبود دقت متن بازیابی‌شده برای مدل زبانی بود.

این امر نیازمند بازطراحی کامل پایپ‌لاین ورود اطلاعات (Ingestion) و پیاده‌سازی استراتژی جستجوی ترکیبی (Hybrid Search) بود.

۰۲ / معماری سیستم

تصویر ۱.۰ - جریان داده‌ها
اسناد
تکه‌سازی
صف ناهمگام
پردازشگر بردارحجم دسته‌ها: ۵۱۲
پایگاه‌داده برداری

معماری جدید فرآیند ورود اطلاعات را از پردازش جدا کرد و با استفاده از صف‌های Redis برای هندل کردن بارهای لحظه‌ای بدون مسدود کردن تِرد اصلی برنامه استفاده نمود.

۰۳ / راهکار پیاده‌سازی شده

پیاده‌سازی یک معماری رویدادمحور با استفاده از Apache Kafka، Debezium CDC و Transactional Outbox در ترکیب با استراتژی جستجوی ترکیبی.

pipeline/vector_store.py
async def query_vector_store(query: str, filters: dict = None) -> List[Document]:
# Generate sparse vector for hybrid search
sparse_vec = splade_encoder.encode_documents([query])[0]
# Execute parallel search execution
results = await pinecone_index.query( vector=dense_embedding, sparse_vector=sparse_vec, top_k=10, include_metadata=True, filter=filters)
return [_parse_match(m) for m in results.matches]
جستجوی ترکیبیناهمگام (Async/Await)

۰۴ / نتایج

۸۵٪کاهش تأخیر
۵M+بردار ایندکس‌شده

سیستم در حال حاضر درخواست‌های همزمان کاربران را با تأخیر p99 حدود ۴۲۰ میلی‌ثانیه پاسخ می‌دهد. معرفی جستجوی ترکیبی (کلمه‌کلیدی + معنایی) دقت بازیابی را تا ۱۴ درصد افزایش داد.

آماده برای ساخت یک پروژه‌ی بزرگ هستید؟

گفتگوی فنی