ساخت چت‌بات RAG هوشمند با آمازون Lex، Bedrock و S3

ایجاد شده توسط Admin در مقالات 4 دسامبر 2025
اشتراک گذاری

مفاهیم پایه: آشنایی با RAG و Amazon Bedrock




چت‌بات‌ها به طور گسترده‌ای در میان شرکت‌های نرم‌افزاری، به‌ویژه آن‌هایی که تعامل زیادی با مشتریان دارند، پذیرفته شده‌اند. این ابزارها معمولاً برای کارهایی مانند پشتیبانی مشتری، پاسخگویی به سؤالات و ارائه اطلاعات در وب‌سایت‌ها، اپلیکیشن‌ها و پلتفرم‌های پیام‌رسان به کار می‌روند. امروزه، همان‌طور که انتظار می‌رود، برخی از چت‌بات‌ها با هوش مصنوعی تقویت شده‌اند و می‌توانند از طریق رویکردی به نام "تولید تقویت‌شده با بازیابی" (Retrieval-Augmented Generation - RAG) به پرس‌وجوها پاسخ دهند. این بخش به بررسی این فناوری‌های کلیدی و پلتفرم زیربنایی Amazon Bedrock می‌پردازد که توسعه چنین سیستم‌هایی را تسهیل می‌کند.



چالش‌های مدل‌های زبان بزرگ (LLMs) و ظهور RAG




مدل‌های زبان بزرگ (LLMs) مانند GPT-4 و Claude در حوزه‌های مختلف کاربرد فراوانی پیدا کرده‌اند. این مدل‌ها در حالی که در بسیاری از موارد عملکردی شگفت‌انگیز دارند، گاهی اوقات نیز اطلاعات نادرست یا ساختگی تولید می‌کنند که به این پدیده "توهم" (hallucination) گفته می‌شود. این مشکل عمدتاً به دلیل محدودیت در بستر اطلاعاتی یا منسوخ بودن داده‌های آموزشی مدل‌ها رخ می‌دهد، چرا که LLMها تنها از اطلاعات موجود در داده‌های از پیش آموزش‌دیده خود استفاده می‌کنند.




برای درک بهتر این چالش، تصور کنید از شما پرسیده شود که هنرمند مورد علاقه‌تان چند جایزه گرمی برده است و شما پاسخی را ارائه دهید که چهار سال پیش در یک مجله خوانده‌اید. ممکن است پاسخ شما آن زمان درست بوده باشد، اما دو مشکل اساسی دارد: اول اینکه منبعی را برای اطلاعاتتان ذکر نکرده‌اید و دوم اینکه اطلاعاتتان ممکن است منسوخ شده باشد. این همان مشکلی است که LLMها به طور سنتی با آن روبرو بوده‌اند؛ پاسخ‌هایشان ممکن است قدیمی باشند و هیچ منبع معتبری برای تأیید آن‌ها ارائه نکنند.




اینجاست که مفهوم تولید تقویت‌شده با بازیابی (RAG) به میان می‌آید. مارینا دانیلفسکی، دانشمند ارشد پژوهشی در IBM، از RAG به عنوان یک "چارچوب" یاد می‌کند که به LLMها کمک می‌کند تا دقت و به‌روز بودن پاسخ‌هایشان را افزایش دهند. پیش از ورود به جزئیات RAG، لازم است به بخش "تولید" (Generation) اشاره کنیم که در این زمینه به توانایی LLMها در تولید متن در پاسخ به یک پرس‌وجوی کاربر (که "پرامپت" نامیده می‌شود) اشاره دارد. هدف RAG این است که این تولید را با اطلاعاتی دقیق و مرتبط تقویت کند.



RAG: افزایش دقت و به‌روزرسانی با بازیابی اطلاعات زمینه‌محور




RAG راه حلی برای چالش‌های ذکر شده در مورد LLMها ارائه می‌دهد. به جای اینکه مدل تنها به داده‌های از پیش آموزش‌دیده خود تکیه کند و خطر ارائه پاسخ‌های منسوخ را بپذیرد، RAG وارد عمل می‌شود. این چارچوب پاسخ‌ها را برای پرس‌وجوها مستقیماً از یک "مخزن محتوا" (content store) بازیابی می‌کند. این مخزن می‌تواند شامل منابع خارجی مانند اینترنت یا منابع داخلی مانند اسناد سازمانی (مانند اسناد سیاست‌های سفر که در آموزش‌های عملی استفاده می‌شود) باشد. به این ترتیب، پاسخ‌های تولید شده توسط LLM دقیق‌تر و زمینه‌محورتر خواهند بود.




RAG با بازیابی اطلاعات بیشتر از منابع متنوع، به LLM کمک می‌کند تا به‌روز بماند و صرفاً به داده‌های آموزشی خود محدود نشود. این فرآیند شباهت زیادی به این دارد که شما ابتدا پاسخ یک سؤال را از یک منبع معتبر مانند گوگل جستجو کنید. در این صورت، پاسخ شما نه تنها دقیق‌تر و مبتنی بر واقعیت است، بلکه در صورت نیاز می‌توانید منبع آن را نیز به اشتراک بگذارید. این رویکرد به چت‌بات‌های مجهز به هوش مصنوعی امکان می‌دهد تا به جای پاسخ‌های از پیش تعیین‌شده و ثابت، اطلاعات مرتبط و قابل اعتماد را مستقیماً از پایگاه دانش شما استخراج و ارائه دهند.



Amazon Bedrock: پلتفرمی قدرتمند برای مدل‌های پایه هوش مصنوعی




Amazon Bedrock سرویس مدیریت‌شده‌ای از AWS است که دسترسی به "مدل‌های پایه" (foundation models) را فراهم می‌کند؛ این مدل‌ها در واقع موتورهای اصلی هوش مصنوعی هستند که برنامه‌های هوش مصنوعی مولد را قدرت می‌بخشند. نقطه قوت اصلی Bedrock این است که تمامی کارهای سنگین مربوط به زیرساخت را برای توسعه‌دهندگان انجام می‌دهد. به این ترتیب، دیگر نیازی به تأمین منابع GPU، راه‌اندازی خطوط لوله مدل یا سر و کله زدن با پیچیدگی‌های زیرساختی نیست.




Bedrock یک پلتفرم واحد و یکپارچه است که در آن می‌توانید مدل‌های هوش مصنوعی پیشرفته از ارائه‌دهندگانی مانند Anthropic، Stability AI و مدل‌های Titan خود آمازون را آزمایش، سفارشی‌سازی و مستقر کنید. به عنوان مثال، اگر در حال ساخت یک چت‌بات پشتیبانی مشتری هستید، با استفاده از Bedrock می‌توانید به سادگی یک مدل زبانی مناسب را انتخاب کنید، آن را برای مورد استفاده خاص خود بهینه سازید و بدون نیاز به پیکربندی سرور یا نوشتن کدهای زیرساختی، آن را در برنامه خود ادغام کنید. این سرویس با انتزاع پیچیدگی‌های فنی، به توسعه‌دهندگان امکان می‌دهد تا بر روی نوآوری و ایجاد ارزش متمرکز شوند. برای دسترسی به مدل‌ها در AWS از طریق Bedrock، کافی است با حساب IAM خود وارد شوید و به بخش Amazon Bedrock > Model catalog بروید.



آماده‌سازی پایگاه دانش با S3 و Bedrock



در دنیای امروز که بات‌های مکالمه‌گر هوش مصنوعی (AI-powered chatbots) به سرعت در حال گسترش هستند، توانایی آن‌ها در ارائه پاسخ‌های دقیق و به‌روز از اهمیت بالایی برخوردار است. تکنیک RAG (Retrieval-Augmented Generation) به مدل‌های زبان بزرگ (LLMs) کمک می‌کند تا با بازیابی اطلاعات از یک پایگاه دانش معتبر، از پاسخ‌های نادرست یا منسوخ‌شده جلوگیری کنند. برای ساخت یک چت‌بات RAG که به سوالات مربوط به سیاست‌های سفر به مریخ پاسخ دهد، لازم است که یک پایگاه دانش قوی و قابل‌اعتماد ایجاد کنیم. این پایگاه دانش داخلی، که شامل اسناد سیاست‌های سفر است، در سطل‌های S3 آمازون ذخیره شده و توسط سرویس Amazon Bedrock پردازش می‌شود تا قابلیت‌های هوش مصنوعی لازم را فراهم کند.



نقش کلیدی داده‌های داخلی در بات‌های RAG


مدل‌های زبان بزرگ (LLMs) مانند GPT-4 یا Claude، هرچند قدرتمند، گاهی اوقات دچار مشکلاتی نظیر «هذیان‌گویی» (hallucinations) می‌شوند؛ یعنی اطلاعاتی نادرست یا ساختگی تولید می‌کنند. این مشکل عمدتاً به دلیل محدودیت در دانش از پیش آموزش‌دیده یا به‌روز نبودن اطلاعات آن‌هاست. RAG به عنوان یک چارچوب، به LLMها کمک می‌کند تا دقیق‌تر و به‌روزتر باشند. به جای اینکه LLM تنها به داده‌های از پیش آموزش‌دیده خود اکتفا کند، RAG امکان بازیابی پاسخ‌ها را مستقیماً از یک مخزن محتوا فراهم می‌آورد. این مخزن می‌تواند شامل منابع خارجی مانند اینترنت یا منابع داخلی مانند اسناد سازمانی باشد که در این آموزش از اسناد داخلی استفاده می‌کنیم. بدین ترتیب، پاسخ‌های تولیدشده توسط چت‌بات نه تنها دقیق‌تر بلکه معتبرتر نیز خواهند بود.


Amazon Bedrock نیز سرویس مدیریت شده AWS است که دسترسی به مدل‌های پایه (foundation models) را فراهم می‌کند و موتورهای اصلی هوش مصنوعی برای برنامه‌های هوش مصنوعی مولد را تغذیه می‌کند. مزیت Bedrock در این است که تمامی کارهای سنگین و زیرساختی از قبیل تأمین GPU، راه‌اندازی خطوط لوله مدل یا مدیریت مشکلات زیرساخت را برای شما انجام می‌دهد. این پلتفرم یکپارچه به شما امکان می‌دهد تا مدل‌های هوش مصنوعی برتر را از ارائه‌دهندگانی مانند Anthropic، Stability AI و مدل‌های Titan خود آمازون (که در این آموزش استفاده می‌شود) آزمایش، سفارشی‌سازی و مستقر کنید.



گام اول: بارگذاری اسناد سیاست‌گذاری سفر در S3


اولین مرحله برای ساخت پایگاه دانش ما، بارگذاری اسناد مربوط به سیاست‌های سفر به مریخ در Amazon S3 است. برای این کار، ابتدا باید یک سطل (bucket) در Amazon S3 ایجاد کنید. پس از ایجاد سطل، اسناد سیاست‌گذاری سفر را که ممکن است به صورت فشرده (zipped) باشند، از حالت فشرده خارج کرده و سپس آن‌ها را در سطل S3 خود آپلود کنید. این اسناد به عنوان منبع داده داخلی چت‌بات ما عمل خواهند کرد. اما توجه داشته باشید که S3 به خودی خود قابلیت‌های هوش مصنوعی لازم برای پردازش و درک محتوای این اسناد را ندارد. برای بهره‌گیری از قابلیت‌های هوش مصنوعی، به Amazon Bedrock نیاز داریم که این اسناد را به یک پایگاه دانش هوشمند تبدیل کند.



ساخت پایگاه دانش در Amazon Bedrock برای RAG


پس از آماده‌سازی اسناد در S3، نوبت به ایجاد پایگاه دانش در Amazon Bedrock می‌رسد. این گام حیاتی، داده‌های خام ما را به یک منبع قابل درک برای مدل‌های هوش مصنوعی تبدیل می‌کند. برای شروع، به بخش Knowledge Bases در Amazon Bedrock رفته و گزینه "Create" را انتخاب کنید. سپس "Knowledge base with vector store" را برگزینید.


در این مرحله، باید تنظیمات زیر را انجام دهید:



  • **مجوزهای IAM:** گزینه "Create and use a new service role" را انتخاب کنید. این کار به Bedrock اجازه می‌دهد تا به سایر سرویس‌ها مانند S3 دسترسی داشته باشد.

  • **نوع منبع داده:** "Amazon S3" را به عنوان نوع منبع داده انتخاب کرده و سطل S3 حاوی اسناد خود را مرور و انتخاب کنید.

  • **مدل Embedding:** برای انتخاب مدل embedding روی "Select model" کلیک کنید. مدل "Titan Embeddings G1 - Text" را انتخاب کنید که برای تبدیل متن به بردارهای عددی (embeddings) ضروری است. این بردارها برای جستجوی معنایی استفاده می‌شوند.

  • **Vector Store:** "Amazon OpenSearch Serverless" را انتخاب کرده و "Apply" را بزنید. این سرویس به عنوان مخزن برداری شما عمل می‌کند.


پس از تأیید این تنظیمات و کلیک بر روی "Create Knowledge Base"، فرآیند ایجاد پایگاه دانش آغاز می‌شود که ممکن است چند دقیقه طول بکشد. این فرآیند زیرساخت‌های لازم را برای هوش مصنوعی فراهم می‌کند تا بتواند به محتوای اسناد شما دسترسی پیدا کند و آن‌ها را برای پاسخ‌گویی به سوالات آماده سازد.



اتصال نهایی و همگام‌سازی داده‌ها


پس از اتمام فرآیند ایجاد پایگاه دانش، یک پیام مبنی بر نیاز به همگام‌سازی پایگاه دانش با منابع داده دریافت خواهید کرد. این گام حیاتی تضمین می‌کند که تمامی اسناد آپلود شده در S3 به درستی توسط Bedrock فهرست‌بندی و آماده‌سازی شوند. برای انجام این کار، به بخش "Data sources" در صفحه پایگاه دانش خود بروید، منبع داده را انتخاب کرده و بر روی "Sync" کلیک کنید. این فرآیند بسته به حجم داده‌ها (چهار فایل PDF در این مثال) ممکن است از چند ثانیه تا چند دقیقه به طول انجامد.


با اتمام همگام‌سازی، پایگاه دانش Bedrock شما به طور کامل با سطل S3 حاوی اسناد سیاست‌گذاری سفر متصل شده و آماده بهره‌برداری است. در این مرحله، سیستم ما قادر است محتوای اسناد شما را درک کرده و پاسخ‌های دقیق و متنی را در اختیار چت‌بات RAG قرار دهد. این ترکیب قدرتمند از S3 برای ذخیره‌سازی، Bedrock برای هوش مصنوعی و RAG برای بازیابی اطلاعات، اساس یک چت‌بات هوشمند و کاربردی را تشکیل می‌دهد که دیگر به پاسخ‌های کلی یا اطلاعات از پیش آموزش‌دیده منسوخ‌شده محدود نمی‌شود.



طراحی و ساخت چت‌بات پایه با Amazon Lex



چت‌بات‌ها به عنوان ابزارهای قدرتمند در شرکت‌های نرم‌افزاری، به‌ویژه آنهایی که تعامل گسترده‌ای با مشتریان دارند، به طور فزاینده‌ای پذیرفته شده‌اند. این ابزارها عموماً برای ارائه پشتیبانی مشتری، پاسخگویی به سوالات متداول و ارائه اطلاعات در وب‌سایت‌ها، اپلیکیشن‌ها و پلتفرم‌های پیام‌رسان به کار می‌روند. در دوران کنونی، چت‌بات‌های مجهز به هوش مصنوعی با بهره‌گیری از فناوری تولید بازیابی-تقویت‌شده (RAG)، قادر به تولید پاسخ‌های دقیق و مرتبط به پرسش‌های کاربران هستند. هدف این بخش، تمرکز بر نحوه ساخت یک چت‌بات هوش مصنوعی قدرتمند با استفاده از Amazon Lex است که قادر به بازیابی پاسخ‌ها از منابع داده داخلی شما باشد.



مقدمه‌ای بر Amazon Lex و نقش آن



Amazon Lex سرویس قدرتمند AWS برای ساخت رابط‌های مکالمه‌ای (صوتی و متنی) است. این پلتفرم به توسعه‌دهندگان امکان می‌دهد تا چت‌بات‌هایی با قابلیت‌های زبان طبیعی پیچیده بسازند که قادر به درک ورودی کاربر و پاسخگویی مناسب هستند. در واقع، Lex مسئولیت درک گفتار و پردازش زبان طبیعی (NLU) را بر عهده دارد و فرآیند توسعه بات‌ها را به شکل چشمگیری تسهیل می‌کند. این سرویس پیچیدگی‌های مرتبط با تشخیص گفتار و فهم زبان طبیعی را پنهان کرده و به شما اجازه می‌دهد تا بر منطق مکالمه‌ای چت‌بات خود تمرکز کنید. در معماری چت‌بات RAG ما، Amazon Lex نقش رابط کاربری اصلی و نقطه ورود کاربر را ایفا می‌کند و مسئول دریافت پرسش‌های کاربر، هدایت آن‌ها به پایگاه دانش هوش مصنوعی (که از طریق Amazon Bedrock مدیریت می‌شود) و در نهایت، ارائه پاسخ‌های دقیق و بازیابی‌شده است.



پیکربندی اولیه و ساخت چت‌بات در Lex



برای آغاز فرآیند ساخت چت‌بات خود، ابتدا باید به کنسول AWS وارد شده و به سرویس Amazon Lex بروید. در آنجا، گزینه "Create bot" را انتخاب کرده و سپس "Create a blank bot" را تحت روش ایجاد "Traditional" برگزینید. نامی دلخواه و توصیفی برای چت‌بات خود، مثلاً "Mars travel bot" یا هر نام مناسب دیگری، تعیین کنید. در بخش مربوط به مجوزهای IAM، گزینه "Create a role with basic Amazon Lex permissions" را انتخاب نمایید؛ این نقش به Lex اجازه می‌دهد تا به درستی با سایر سرویس‌های AWS مورد نیاز، مانند S3 و Bedrock، تعامل داشته باشد. همچنین، برای رعایت قوانین حریم خصوصی کودکان (COPPA)، در صورتی که چت‌بات شما برای مخاطبان کودک نیست، گزینه "No" را انتخاب کنید.



در مرحله بعدی پیکربندی، می‌توانید یک توضیح کوتاه برای چت‌بات خود در فیلد مربوطه وارد کنید. انتخاب گزینه تعامل صوتی (voice interaction) نیز از اهمیت بالایی برخوردار است، زیرا این همان صدایی است که کاربران هنگام استفاده از چت‌بات شما آن را خواهند شنید. Amazon Lex این امکان را فراهم می‌آورد تا پیش‌نمایش صوتی هر یک از گزینه‌های صدا را گوش دهید و بهترین انتخاب را متناسب با لحن و نیازهای کسب‌وکار خود داشته باشید. پس از انجام این تنظیمات اولیه و اطمینان از صحت آن‌ها، با کلیک بر روی دکمه "Done" به مرحله بعدی خواهید رفت که مربوط به تعریف "Intent"ها است. این تنظیمات پایه، چارچوب لازم برای چت‌بات شما را فراهم می‌کنند.



تعریف Intentها و فعال‌سازی قابلیت‌های هوش مصنوعی



یک Intent در واقع بیانگر هدف یا عملی است که چت‌بات برای برآورده کردن درخواست کاربر انجام می‌دهد. برای شروع، یک "Welcome Intent" ایجاد خواهیم کرد که وظیفه‌اش خوش‌آمدگویی به کاربر است. نام آن را به "WelcomeIntent" تغییر دهید و در بخش "Sample utterances" مثال‌هایی از عباراتی را که کاربر ممکن است در ابتدای مکالمه بگوید (مانند "Hi", "Hey", "hello") اضافه کنید. این عبارات به Lex کمک می‌کنند تا نیت کاربر را درک کند. سپس، در بخش "Initial response"، پاسخی خوش‌آمدگویی مانند "Hi! welcome! How can I help you today?" را وارد کنید. در نهایت، با کلیک بر روی "Advanced options" و انتخاب "Wait for users input" اطمینان حاصل کنید که چت‌بات پس از پاسخ اولیه، منتظر ورودی بعدی کاربر می‌ماند. Lex به طور خودکار یک "Fallback Intent" نیز ایجاد می‌کند که در صورت عدم تطابق ورودی کاربر با هیچ یک از Intentهای تعریف شده، فعال شده و یک پاسخ پیش‌فرض ارائه می‌دهد.



پس از تنظیم Intentهای اولیه، نوبت به مرحله ساخت (Build) چت‌بات می‌رسد. با کلیک بر روی دکمه "Build" در گوشه بالا سمت راست صفحه، Lex تمامی پیکربندی‌ها را جمع‌آوری کرده و یک چت‌بات قابل استفاده ایجاد می‌کند. پس از اتمام فرآیند ساخت، می‌توانید با استفاده از گزینه "Test" که در همان گوشه صفحه قرار دارد، عملکرد اولیه چت‌بات خود را آزمایش کنید؛ به عنوان مثال با تایپ "Hi" و مشاهده پاسخ خوش‌آمدگویی. برای فعال‌سازی قابلیت‌های هوش مصنوعی پیشرفته و امکان پاسخگویی به سوالات پیچیده‌تر بر اساس پایگاه دانش داخلی، از "Amazon QnAIntent" استفاده می‌کنیم. این یک Intent داخلی است که از هوش مصنوعی مولد (GenAI) برای پاسخ به سوالات متداول (FAQ) با پرس‌وجو از محتوای دانش مجاز بهره می‌برد.



برای افزودن QnAIntent، به بخش "Intents" رفته و "Add intent > Use built-in intent" را انتخاب کنید و سپس "QnAIntent" را برگزینید. پس از دادن یک نام دلخواه به آن، در بخش "QnA configuration"، مدل هوش مصنوعی مولد مورد نظر خود را مانند "Claude 3.5 Sonnet" انتخاب کرده و شناسه پایگاه دانش (Knowledge Base ID) ایجاد شده در Amazon Bedrock را در فیلد مربوطه کپی و جایگذاری کنید. این مرحله حیاتی است زیرا ارتباط بین Amazon Lex به عنوان رابط مکالمه‌ای و منابع داده داخلی شما که در Bedrock مدیریت می‌شوند را برقرار می‌کند. پس از ذخیره Intent و قبل از انجام هرگونه آزمایش، ضروری است که چت‌بات را مجدداً "Build" کنید تا تمامی تغییرات و اتصال به قابلیت‌های هوش مصنوعی اعمال شوند.



اکنون می‌توانید چت‌بات را با سوالاتی مانند "چه اقلامی را می‌توانم برای سفرم هزینه کنم؟" یا "آیا می‌توانم حیوانات خانگی‌ام را بیاورم؟" امتحان کنید. مشاهده خواهید کرد که چت‌بات اطلاعات را مستقیماً از پایگاه دانش Bedrock که به سطل S3 شما متصل است، بازیابی می‌کند و پاسخ‌های دقیق و متنی ارائه می‌دهد. این ترکیب از Amazon Lex، Bedrock و S3، قدرت یک سیستم هوش مصنوعی را برای ارائه پاسخ‌های دقیق و متنی از مستندات و پایگاه دانش اختصاصی شما فراهم می‌آورد. این رویکرد به شما امکان می‌دهد تا از پاسخ‌های عمومی یا اطلاعات منسوخ شده فاصله بگیرید و یک تجربه کاربری بسیار غنی‌تر را ارائه دهید که به طور مستقیم با محتوای شما در ارتباط است.



یکپارچه‌سازی هوش مصنوعی با اتصال به پایگاه دانش



در دنیای امروز که سرعت و دقت اطلاعات از اهمیت ویژه‌ای برخوردار است، چت‌بات‌ها به ابزاری حیاتی برای شرکت‌های نرم‌افزاری، به‌ویژه آن‌هایی که تعامل گسترده‌ای با مشتریان دارند، تبدیل شده‌اند. این ابزارها عموماً برای پاسخگویی به سؤالات مشتریان، ارائه اطلاعات و پشتیبانی در وب‌سایت‌ها، برنامه‌ها و پلتفرم‌های پیام‌رسان به کار می‌روند. با پیشرفت هوش مصنوعی، بسیاری از چت‌بات‌های مدرن اکنون قابلیت‌های تولید پاسخ هوشمندانه را از طریق تکنیک تولید با بازیابی تقویت‌شده (Retrieval-Augmented Generation - RAG) ارائه می‌دهند. این رویکرد انقلابی، چت‌بات‌ها را قادر می‌سازد تا از منابع داده داخلی و خارجی برای ارائه پاسخ‌های دقیق و به‌روز استفاده کنند.



چالش‌های مدل‌های زبانی بزرگ (LLMs) و ظهور RAG



مدل‌های زبانی بزرگ (LLMs) مانند GPT-4 و Claude، پیشرفت‌های شگرفی در پردازش زبان طبیعی به ارمغان آورده‌اند. با این حال، این مدل‌ها بدون چالش نیستند. یکی از مشکلات رایج، پدیده "توهم‌زایی" (hallucinations) است که در آن مدل اطلاعات نادرست یا ساختگی تولید می‌کند. این اتفاق اغلب به دلیل محدودیت در دانش آموزشی یا قدیمی بودن داده‌های از پیش آموزش‌دیده رخ می‌دهد. تصور کنید از شما درباره تعداد جوایز گرمی هنرمند مورد علاقه‌تان پرسیده شود و شما پاسخی دهید که چهار سال پیش در مجله‌ای خوانده‌اید. ممکن است پاسخ شما صحیح باشد، اما دو مشکل اساسی وجود دارد: اول اینکه منبعی را ذکر نکرده‌اید و دوم اینکه اطلاعات منسوخ شده‌اند. این همان مشکلی است که LLMها به طور سنتی با آن مواجه بوده‌اند؛ پاسخ‌هایی منسوخ و بدون استناد به منابع معتبر.



اینجاست که مفهوم RAG به میان می‌آید. مارینا دانیلوسکی، دانشمند ارشد پژوهش در IBM، RAG را به عنوان یک "چارچوب" برای کمک به LLMها معرفی کرده است تا دقیق‌تر و به‌روزتر باشند. RAG با بازیابی اطلاعات مرتبط از یک مخزن محتوا (که می‌تواند شامل منابع خارجی مانند اینترنت یا منابع داخلی مانند اسناد شرکت باشد) قبل از تولید پاسخ، این محدودیت‌ها را برطرف می‌کند. این رویکرد تضمین می‌کند که پاسخ‌های تولیدی دقیق‌تر، به‌روزتر و مستند باشند، زیرا مدل دیگر تنها به داده‌های از پیش آموزش‌دیده خود بسنده نمی‌کند.



ساخت پایگاه دانش هوشمند با Amazon Bedrock



برای پیاده‌سازی یک چت‌بات مبتنی بر RAG که قادر به ارائه پاسخ‌های دقیق از مجموعه داده‌های داخلی ما باشد، به یک زیرساخت قدرتمند و انعطاف‌پذیر نیاز داریم. Amazon Bedrock سرویس مدیریت‌شده AWS است که دسترسی به مدل‌های بنیادی (Foundation Models)، موتورهای اصلی هوش مصنوعی مولد، را برای ما فراهم می‌کند. مزیت اصلی Bedrock این است که تمام کارهای سنگین مربوط به تأمین منابع GPU، راه‌اندازی خطوط لوله مدل و مدیریت زیرساخت را برای شما انجام می‌دهد. این یک پلتفرم یکپارچه است که می‌توانید مدل‌های برتر هوش مصنوعی را از ارائه‌دهندگانی مانند Anthropic، Stability AI و مدل‌های Titan خود آمازون (که در این رویکرد آموزشی استفاده می‌شود) تجربه، سفارشی‌سازی و مستقر کنید.



در این فرآیند، ابتدا اسناد سیاست‌نامه مسافرتی (مثلاً به مریخ) را در یک باکت S3 آپلود می‌کنیم. با این حال، S3 به تنهایی قابلیت‌های هوش مصنوعی لازم را ندارد. برای ایجاد قابلیت‌های هوش مصنوعی مورد نیاز، باید یک پایگاه دانش (Knowledge Base) در Amazon Bedrock ایجاد کنیم. این پایگاه دانش، اسناد ما را پردازش کرده و آن‌ها را به فرمت‌های قابل فهم برای مدل‌های زبانی تبدیل می‌کند. این فرآیند شامل انتخاب یک مدل تعبیه‌کننده (Embedding Model) مانند Titan Embeddings G1 - Text و اتصال آن به یک ذخیره‌سازی وکتور (Vector Store) مانند Amazon OpenSearch Serverless است. پس از ایجاد، پایگاه دانش با منابع داده همگام‌سازی می‌شود تا اطمینان حاصل شود که همیشه به آخرین اطلاعات دسترسی دارد. این مرحله، هسته هوش مصنوعی چت‌بات ما را تشکیل می‌دهد و پلی بین اسناد خام و قابلیت‌های تولیدی LLM ایجاد می‌کند.



افزودن قابلیت‌های هوش مصنوعی مولد با Amazon Lex و QnAIntent



پس از آماده‌سازی پایگاه دانش در Amazon Bedrock، نوبت به ساخت و پیکربندی چت‌بات اصلی می‌رسد. برای این منظور، از Amazon Lex استفاده می‌کنیم که یک سرویس برای ساخت رابط‌های مکالمه برای هر برنامه، با استفاده از صدا و متن است. در Lex، ابتدا یک بات جدید ایجاد می‌کنیم و یک اینتنت (Intent) خوش‌آمدگویی (WelcomeIntent) با نمونه‌هایی از عبارات آغازین مانند "سلام" یا "چطور می‌توانم کمکتان کنم؟" تعریف می‌کنیم. این اینتنت‌ها تعاملات اولیه کاربر را مدیریت می‌کنند.



نقطه عطف یکپارچه‌سازی هوش مصنوعی مولد در چت‌بات، افزودن "اینتنت QnA" (Amazon QnAIntent) است. این یک اینتنت داخلی است که قابلیت‌های هوش مصنوعی مولد را به چت‌بات ما معرفی می‌کند. اینتنت QnA از هوش مصنوعی مولد برای پاسخگویی به سؤالات متداول (FAQ) با پرس‌وجو از محتوای پایگاه دانش معتبر استفاده می‌کند. برای پیکربندی این اینتنت، یک مدل زبانی بزرگ مانند Claude 3.5 Sonnet را انتخاب کرده و شناسه پایگاه دانش Amazon Bedrock را که قبلاً ایجاد کرده‌ایم، به آن متصل می‌کنیم. با این تنظیمات، هر زمان که کاربر سؤالی درباره سیاست‌نامه‌های مسافرتی (یا هر موضوعی که اسناد آن را در پایگاه دانش قرار داده‌ایم) بپرسد، اینتنت QnA با استفاده از مدل Claude و با ارجاع به پایگاه دانش Bedrock، پاسخ‌های دقیق و متنی را بازیابی و تولید می‌کند. این رویکرد به چت‌بات ما امکان می‌دهد تا به جای پاسخ‌های از پیش نوشته شده، اطلاعات زمینه‌ای را مستقیماً از اسناد ما استخراج کرده و ارائه دهد و تجربه کاربری بسیار غنی‌تر و دقیق‌تری را فراهم آورد.



مزایای نهایی و چشم‌انداز آینده



با ترکیب Amazon Lex، Bedrock، S3 و RAG، یک سیستم چت‌بات مجهز به هوش مصنوعی ایجاد کرده‌اید که فراتر از پاسخ‌های کلی یا اطلاعات منسوخ عمل می‌کند. این سیستم قابلیت درک مستندات و پایگاه دانش شما را دارد و پاسخ‌های دقیق و متنی ارائه می‌دهد. قدرت واقعی این رویکرد تنها در پشته فناوری نیست، بلکه در کاربردهایی است که می‌توانید با آن ایجاد کنید. این روش را می‌توان برای مدیریت سؤالات پشتیبانی مشتری، پرسش‌های داخلی منابع انسانی، مستندات محصول، یا هر سناریوی دیگری که نیاز به پاسخ‌های فوری و دقیق از پایگاه دانش اختصاصی شما دارد، مقیاس‌بندی کرد.



این تازه آغاز راه است. می‌توانید با مدل‌های بنیادی مختلف در Bedrock آزمایش کنید، پایگاه دانش خود را با اسناد بیشتری گسترش دهید، یا اینتنت‌های خود را برای مدیریت مکالمات پیچیده‌تر بهبود بخشید. زیرساخت ساخته شده است و اکنون زمان آن است که آن را برای مورد استفاده خاص خود سفارشی کنید. حذف منابعی مانند پایگاه دانش، باکت S3 و ذخیره‌سازی وکتور پس از اتمام کار برای جلوگیری از هزینه‌های ناخواسته AWS توصیه می‌شود.



تست نهایی، جمع‌بندی و مراحل بعدی پروژه

تست و اعتبارسنجی چت‌بات ساخته شده

پس از اتمام تمام مراحل ساخت و پیکربندی چت‌بات، زمان آن فرا می‌رسد که عملکرد آن را به صورت عملی آزمایش کنیم و از صحت کارکرد آن اطمینان حاصل نماییم. برای شروع فرآیند تست، کافیست روی دکمه "Build" در گوشه بالا سمت راست صفحه کلیک کرده تا تمام تغییرات اعمال شده کامپایل و آماده اجرا شوند، سپس با کلیک بر روی دکمه "Test" در همان ناحیه، یک رابط کاربری پیش‌ساخته برای تست تعاملی چت‌بات در اختیار شما قرار می‌گیرد. در این محیط تست، شما می‌توانید عبارات اولیه و خوشامدگویی مانند "Hi"، "Hey" یا "hello" را وارد کنید. انتظار می‌رود که چت‌بات با پیامی که در بخش "Welcome Intent" (مانند: "سلام! خوش آمدید! چطور می‌توانم امروز به شما کمک کنم؟") پیکربندی کرده بودید، پاسخ دهد. این گام اولیه، تأیید می‌کند که اینتنت خوشامدگویی به درستی شناسایی و اجرا می‌شود و تعاملات پایه چت‌بات فعال است.

در مراحل اولیه تست، ممکن است متوجه شوید که چت‌بات هنوز قابلیت‌های کامل هوش مصنوعی لازم برای پاسخگویی به سوالات پیچیده‌تر و بازیابی اطلاعات از پایگاه دانش را ندارد. این قابلیت‌های پیشرفته هوش مصنوعی مولد (GenAI) از طریق ادغام "Amazon QnAIntent" به چت‌بات اضافه می‌شوند. "Amazon QnAIntent" یک اینتنت داخلی قدرتمند است که از هوش مصنوعی مولد برای برآورده کردن درخواست‌های پرسش و پاسخ متداول (FAQ) استفاده می‌کند، این کار را با جستجو و بازیابی اطلاعات از محتوای پایگاه دانش مجاز و مرتبط انجام می‌دهد. اینتنت QnA به چت‌بات اجازه می‌دهد تا فراتر از پاسخ‌های از پیش تعیین شده، به طور پویا و متنی به سوالات کاربران پاسخ دهد.

پس از اینکه "QnAIntent" را فعال و با مدل زبان مناسب (مانند Anthropic Claude 3.5 Sonnet) و شناسه پایگاه دانش Bedrock خود پیکربندی کردید، لازم است که چت‌بات را مجدداً "Build" کنید تا این تغییرات جدید اعمال شوند. اکنون، زمان آن است که قابلیت‌های Retrieval-Augmented Generation (RAG) آن را به طور کامل بسنجید. برای مثال، می‌توانید سوالاتی مانند "چه اقلامی را می‌توانم برای سفرم هزینه کنم؟" یا "آیا می‌توانم حیوان خانگی خود را در این سفر همراه داشته باشم؟" را از چت‌بات بپرسید. چت‌بات باید اطلاعات دقیق و مرتبط را از پایگاه دانش Bedrock که به سطل S3 حاوی اسناد سیاست‌های سفر شما متصل است، بازیابی و ارائه دهد. این تعاملات نشان‌دهنده موفقیت‌آمیز بودن ادغام قابلیت‌های هوش مصنوعی و توانایی چت‌بات در بازیابی اطلاعات متنی و دقیق از منابع داده داخلی و معتبر شماست.

مدیریت منابع و جلوگیری از هزینه‌های اضافی در AWS

پس از اتمام کار با پروژه و انجام آزمایشات لازم بر روی چت‌بات، بسیار حیاتی است که تمامی منابع AWS که در طول این فرآیند ایجاد کرده‌اید را به طور کامل حذف کنید. این اقدام پیشگیرانه برای جلوگیری از تحمیل هزینه‌های ناخواسته و حفظ کنترل بر بودجه ابری شما ضروری است. این منابع شامل پایگاه دانش (Knowledge Base) ایجاد شده در Amazon Bedrock، سطل‌های S3 (S3 buckets) که اسناد و داده‌های شما در آن‌ها ذخیره شده‌اند، و همچنین فروشگاه وکتور (vector store) مربوط به پایگاه دانش شما می‌شوند. برای حذف فروشگاه وکتور، باید به سرویس Amazon OpenSearch Service و سپس بخش Serverless مراجعه کرده و مجموعه وکتور مربوط به پایگاه دانش خود را شناسایی و حذف نمایید. مدیریت دقیق و مسئولانه منابع ابری، نه تنها به کنترل هزینه‌ها کمک می‌کند، بلکه بخشی جدایی‌ناپذیر از حفظ امنیت و پاکسازی محیط توسعه شما پس از اتمام یک پروژه است.

جمع‌بندی و توصیه‌های نهایی برای توسعه‌دهندگان

تبریک می‌گوییم! شما با موفقیت یک چت‌بات هوش مصنوعی قدرتمند راه‌اندازی کرده‌اید که قادر است پاسخ‌ها را به طور مستقیم و دقیق از منابع داده سفارشی شما بازیابی کند. این سیستم پیشرفته، دیگر به پاسخ‌های کلیشه‌ای، از پیش برنامه‌ریزی شده یا اطلاعات قدیمی و غیرقابل اعتماد متکی نیست. با ترکیب هوشمندانه و کارآمد خدمات کلیدی AWS نظیر Amazon Lex برای مدیریت مکالمات، Amazon Bedrock برای دسترسی به مدل‌های بنیادی پیشرفته، و Amazon S3 برای ذخیره‌سازی امن داده‌ها، همراه با بهره‌گیری از مفهوم Retrieval-Augmented Generation (RAG) برای افزایش دقت و روزآمدی پاسخ‌ها، شما سیستمی را ایجاد کرده‌اید که به واقعیت اسناد و پایگاه دانش شما را درک می‌کند و پاسخ‌های دقیق و متناسب با متن را ارائه می‌دهد. قدرت واقعی این رویکرد تنها در پشته فناوری پیشرفته‌ای که به کار برده‌اید خلاصه نمی‌شود، بلکه در پتانسیل گسترده و نامحدودی است که برای کاربردهای عملی در صنایع مختلف ایجاد می‌کند و نحوه تعامل ما با اطلاعات را دگرگون می‌سازد.

این معماری انعطاف‌پذیر و قدرتمند را می‌توان به راحتی برای رسیدگی به طیف وسیعی از سناریوهای تجاری مقیاس‌بندی کرد. از بهبود پشتیبانی مشتریان و پاسخگویی سریع به سوالات پرتکرار (FAQ) گرفته تا مدیریت پرسش‌های داخلی منابع انسانی، ارائه دسترسی آسان به مستندات محصول، یا هر موقعیتی که نیاز به پاسخ‌های فوری، دقیق و مبتنی بر دانش از پایگاه داده اختصاصی شما وجود دارد. آنچه تاکنون ساخته‌اید، تنها آغاز راه و یک نقطه پرش است. به شما به شدت توصیه می‌شود که با مدل‌های بنیادی (Foundation Models) مختلف موجود در Amazon Bedrock آزمایش کنید تا بهترین تناسب را برای نیازهای خاص خود بیابید، پایگاه دانش خود را با اسناد و اطلاعات بیشتری گسترش دهید تا دامنه پاسخگویی چت‌بات را وسیع‌تر کنید، و اینتنت‌های (Intents) چت‌بات خود را برای مدیریت مکالمات پیچیده‌تر، ظریف‌تر و طبیعی‌تر بهبود بخشید. زیرساخت لازم و اساسی اکنون فراهم شده است؛ گام بعدی، سفارشی‌سازی و بهینه‌سازی آن برای مطابقت کامل با مورد استفاده خاص و اهداف تجاری شماست. این توانایی در شخصی‌سازی و مقیاس‌پذیری است که ارزش واقعی این راه حل را آشکار می‌سازد و به شما امکان می‌دهد تا چت‌بات‌هایی بسازید که واقعاً هوشمند، کارآمد و ارزش‌آفرین هستند.

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید

تنظیمات GDPR

When you visit any of our websites, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and manage your preferences. Please note, that blocking some types of cookies may impact your experience of the site and the services we are able to offer.