AI APIs

ساخت پایپ‌لاین‌های RAG چندوجهی با API گوگل جیمینی و Vertex AI

تولید تقویت‌شده با بازیابی (RAG) به معماری استاندارد برای سازمان‌هایی تبدیل شده است که به دنبال مستندسازی مدل‌های زبانی بزرگ (LLMs) در داده‌های اختصاصی خود هستند. با این حال، سیستم‌های RAG سنتی عمدتاً بر روی توکن‌سازی متنی تکیه دارند که توانایی آن‌ها را در درک داده‌های غنی و ساختاریافته مانند تصاویر، نمودارها و اسناد PDF اسکن‌شده محدود می‌کند. با یکپارچه‌سازی API جیمینی گوگل با Vertex AI، توسعه‌دهندگان می‌توانند پایپ‌لاین‌های RAG چندوجهی پیچیده‌ای را بسازند که نه تنها متن، بلکه هر نوع داده‌ای را که توسط خانواده مدل‌های جیمینی پشتیبانی می‌شود، پردازش کنند.

چرا فراتر از RAG تک‌وجهی (متنی) حرکت کنیم؟

در بسیاری از صنایع، مانند حقوقی، پزشکی یا مهندسی، اطلاعات حیاتی اغلب در قالب‌های بصری قفل شده‌اند. یک نمودار واحد در گزارش فصلی یا یک شماتیک در راهنمای مهندسی حاوی اطلاعات معنایی فشرده‌ای است که ابزارهای استخراج متن (مانند OCR) ممکن است نتوانند آن را به دقت ثبت کنند. پایپ‌لاین‌های جستجوی برداری سنتی تنها رونوشت متنی را توکن‌سازی می‌کنند و ظرافت‌های زمینه‌ای ارائه‌شده توسط بخش بصری را از دست می‌دهند. RAG چندوجهی این شکاف را پر می‌کند و به سیستم بازیابی اجازه می‌دهد تا هم سیگنال‌های بصری و هم متنی را در نظر بگیرد که منجر به تولید دقیق‌تر و با جزئیات بیشتر می‌شود.

معماری یک پایپ‌لاین چندوجهی

یک پایپ‌لاین RAG چندوجهی قوی شامل سه مرحله متمایز است: ورودی (Ingestion)، بازیابی (Retrieval) و تولید (Generation). در مرحله ورودی، داده‌های خام (PDFها، تصاویر، ویدیوها) پردازش می‌شوند. برخلاف RAG استاندارد که در آن متن را به قطعات کوچک تقسیم می‌کنیم، در اینجا باید هم متن را استخراج کنیم و هم تصاویر یا ویدیوها را در یک فروشگاه برداری یکپارچه توکن‌سازی کنیم. Vertex AI Vector Search زیرساخت مقیاس‌پذیری را برای ذخیره‌سازی و پرس‌وجو از این بردارهای با ابعاد بالا فراهم می‌کند.

مرحله بازیابی شامل توکن‌سازی پرس‌وجوی کاربر است. نکته مهم این است که اگر پرس‌وجو مبتنی بر متن باشد، همچنان از مدل‌های توکن‌سازی چندوجهی استفاده می‌کنیم که می‌توانند متن را به همان فضای برداری تصاویر نگاشت کنند. در مرحله تولید، زمینه بازیابی‌شده—شامل قطعات متنی و رسانه‌های مرتبط—به مدل جیمینی ارسال می‌شود که قابلیت‌های درک چندوجهی بومی دارد.

پیاده‌سازی پایپ‌لاین با Google Cloud SDK

راه‌اندازی محیط نیاز به احراز هویت با Vertex AI و استفاده از کتابخانه پایتون `generative-ai` دارد. در زیر یک مثال عملی از نحوه مقداردهی اولیه مدل جیمینی و آماده‌سازی یک پرس‌وجوی چندوجهی آورده شده است.

from vertexai.generative_models import GenerativeModel, Part

# مقداردهی اولیه مدل چندوجهی
model = GenerativeModel("gemini-pro-vision")

# بارگذاری تصاویر و متن محلی برای زمینه
image_path = "financial_report_q3.png"
with open(image_path, "rb") as f:
    img = Part.from_data(f.read(), mime_type="image/png")

system_instruction = """You are an expert financial analyst. 
Analyze the provided chart and answer the user's question based on the visual data."""

# ساخت درخواست چندوجهی
response = model.generate_content(
    [
        "What were the key revenue drivers in Q3?",
        img,
        {"text": system_instruction}
    ],
    generation_config={"temperature": 0.2}
)

print(response.text)

در این مثال، روش `Part.from_data` به ما اجازه می‌دهد داده‌های باینری تصویر را مستقیماً در درخواست تولید وارد کنیم. وقتی این رویکرد با لایه جستجوی برداری ترکیب شود، به توسعه‌دهندگان امکان می‌دهد صفحات خاصی از یک PDF 500 صفحه‌ای که حاوی نمودارهای مرتبط هستند را بازیابی کنند، و سپس هم متن آن صفحات و هم تصاویر واقعی نمودارها را برای سنتز نهایی به جیمینی ارسال کنند.

بهترین شیوه‌ها برای محیط تولید

هنگام مقیاس‌دهی این معماری، به پیامدهای هزینه استنتاج چندوجهی توجه کنید. پردازش تصاویر با وضوح بالا به طور قابل توجهی گران‌تر از پردازش تک‌وجهی (متنی) است. یک استراتژی لایه‌ای اجرا کنید: از OCR سبک و توکن‌سازی متنی برای بازیابی اولیه و گسترده استفاده کنید، و سپس تنها زمانی تصاویر با وضوح بالا را به جیمینی ارسال کنید که نمره مرتبط بودن از یک آستانه مشخص فراتر رود. علاوه بر این، از خدمات Grounding Vertex AI استفاده کنید تا اطمینان حاصل شود که پاسخ‌های تولیدشده به شدت به زمینه چندوجهی بازیابی‌شده پایبند هستند و خطر توهم (Hallucination) را کاهش می‌دهند.

نتیجه‌گیری

ساخت پایپ‌لاین‌های RAG چندوجهی با API جیمینی گوگل و Vertex AI سطح جدیدی از هوشمندی را برای برنامه‌های سازمانی باز می‌کند. با حرکت فراتر از متن، توسعه‌دهندگان می‌توانند سیستم‌هایی بسازند که جهان را همان‌طور که کاربران درک می‌کنند—از طریق ترکیبی از کلمات و تصاویر—به درستی می‌فهمند. با ادامه تکامل مدل‌های چندوجهی، توانایی یکپارچه‌سازی روان این انواع مختلف داده‌ها به یک تمایزدهنده رقابتی در منظر هوش مصنوعی تبدیل خواهد شد.

Share: