مقدمهای بر RAG و Bedrock
چتباتها به عنوان ابزاری کلیدی در شرکتهای نرمافزاری، بهویژه آنهایی که تعاملات گستردهای با مشتریان دارند، به طور فزایندهای مورد پذیرش قرار گرفتهاند. کاربرد اصلی آنها در وظایفی مانند پشتیبانی مشتری، پاسخگویی به سوالات و ارائه اطلاعات در وبسایتها، اپلیکیشنها و پلتفرمهای پیامرسان است. در دنیای امروز، چتباتها با بهرهگیری از هوش مصنوعی، قادر به تولید پاسخهای هوشمندانه برای پرسشها از طریق فرایند تولید تقویتشده با بازیابی (RAG) هستند. این فناوری به چتباتها اجازه میدهد تا به جای پاسخهای از پیش تعیین شده از دادههای آموزشی ثابت، اطلاعات دقیق و بهروز را از منابع دادهای اختصاصی بازیابی کرده و به کاربران ارائه دهند. در این بخش، به بررسی عمیقتر مفهوم RAG و نقش Amazon Bedrock به عنوان پلتفرمی قدرتمند در پیادهسازی چنین سیستمهایی خواهیم پرداخت.
تولید تقویتشده با بازیابی (RAG) چیست؟
مدلهای زبان بزرگ (LLM) مانند GPT-4 و Claude، با وجود قابلیتهای شگفتانگیز در تولید متن، گاهی اوقات دچار مشکلاتی نظیر «توهمات» (hallucinations) میشوند؛ پدیدهای که در آن مدل اطلاعات نادرست یا ساختگی تولید میکند. همچنین، این مدلها ممکن است به دلیل محدودیت در زمینه یا اطلاعات قدیمی، که صرفاً از دادههای پیشآموزشدیده استخراج شدهاند، پاسخهای منسوخ ارائه دهند. اینجاست که ایده RAG مطرح میشود. مارینا دانیلوسکی، دانشمند ارشد پژوهشی در IBM، RAG را به عنوان یک «چارچوب» برای کمک به LLMها معرفی میکند تا دقیقتر و بهروزتر باشند.
بخش «تولید» در RAG به توانایی LLMها در تولید متون پاسخ به پرسش کاربر (پرامپت) اشاره دارد. مشکل سنتی LLMها این بوده است که پاسخهایشان گاهی اوقات فاقد منبع معتبر یا قدیمی بودند. برای درک بهتر، تصور کنید از شما تعداد جوایز گرمی هنرمند مورد علاقهتان را میپرسند و شما پاسخی را میدهید که چهار سال پیش در مجلهای خواندهاید. ممکن است پاسخ صحیح باشد، اما فاقد منبع بهروز است. اما با RAG، این مشکل حل میشود. به جای اینکه LLM تنها از دادههای پیشآموزشدیده خود پاسخ بگیرد و خطر ارائه اطلاعات قدیمی را به جان بخرد، RAG به طور مستقیم پاسخ پرسشها را از یک مخزن محتوا (content store) بازیابی میکند. این مخزن میتواند شامل منابع خارجی مانند اینترنت یا منابع داخلی مانند اسناد سازمانی (مثل اسناد سیاست سفر در این آموزش) باشد. به این ترتیب، پاسخهای تولید شده توسط LLM دقیقتر، بهروزتر و با قابلیت ارجاع به منبع خواهند بود. این رویکرد به ویژه برای وبسایتها و سیستمهای مدیریت محتوا، از جمله پلتفرمهای محبوب مانند وردپرس، بسیار مفید است تا از ارائه اطلاعات منسوخ یا غیردقیق به کاربران جلوگیری کرده و به بهبود اعتبار محتوا و سئو کمک کند.
آشنایی با آمازون Bedrock: پلتفرمی برای مدلهای بنیادین هوش مصنوعی
آمازون Bedrock سرویس مدیریتشدهای از AWS است که دسترسی آسان به «مدلهای بنیادین» (Foundation Models) را فراهم میکند؛ این مدلها در واقع موتورهای اصلی هوش مصنوعی هستند که برنامههای هوش مصنوعی مولد را تغذیه میکنند. مزیت اصلی Bedrock در این است که تمام کارهای سنگین مربوط به زیرساخت را برای شما انجام میدهد. نیازی به تخصیص GPU، راهاندازی خطوط مدل یا مقابله با مشکلات پیچیده زیرساختی نیست. این یک پلتفرم یکپارچه است که در آن میتوانید مدلهای هوش مصنوعی برتر از ارائهدهندگانی مانند Anthropic، Stability AI و مدلهای Titan خود آمازون (که در این آموزش استفاده شدهاند) را به راحتی آزمایش، سفارشیسازی و مستقر کنید.
به عنوان یک مثال عملی، فرض کنید در حال ساخت یک چتبات پشتیبانی مشتری برای وبسایت یا یک برنامه کاربردی خود هستید. با استفاده از Bedrock، شما به سادگی یک مدل زبان را انتخاب میکنید که متناسب با نیازهایتان باشد، آن را برای مورد استفاده خاص خود تنظیم میکنید و سپس آن را در برنامه خود ادغام میکنید؛ تمامی این مراحل بدون نیاز به دستکاری پیکربندی سرور یا کد زیرساخت انجام میشود. این سهولت استفاده، Bedrock را به گزینهای ایدهآل برای توسعهدهندگان، وبمسترها و متخصصان سئو تبدیل میکند که به دنبال ابزارهای قدرتمند هوش مصنوعی برای بهبود کارایی و تعامل با کاربران در پلتفرمهایی مانند وردپرس هستند.
همافزایی RAG و Bedrock: ساخت چتباتهای هوشمند و دقیق
ترکیب RAG با آمازون Bedrock، یک رویکرد بسیار قدرتمند برای ساخت چتباتهای هوش مصنوعی ارائه میدهد که فراتر از پاسخهای عمومی یا اطلاعات منسوخ عمل میکنند. با استفاده از RAG، چتبات میتواند به طور مستقیم از منابع دادهای اختصاصی شما، مانند اسناد سیاستهای سفر ذخیره شده در یک سطل S3، پاسخها را بازیابی کند. این بدان معناست که به جای تکیه بر دانش کلی مدلهای زبان بزرگ که ممکن است در زمان آموزش محدود شده باشد، چتبات میتواند پاسخهای متنی و دقیق را مستقیماً از پایگاه دانش اختصاصی شما استخراج کند و اطلاعات بهروز و مرتبط ارائه دهد.
در این سناریو، Bedrock به عنوان سرویسی عمل میکند که دسترسی به مدلهای بنیادین قدرتمند (مانند Claude 3.5 Sonnet و Titan Embeddings G1 – Text) را برای پردازش و تولید پاسخها فراهم میآورد، در حالی که RAG تضمین میکند که این پاسخها بر اساس دادههای اختصاصی و بهروز شما شکل گرفتهاند. این همافزایی، امکان ساخت سیستمهایی را فراهم میکند که درک واقعی از مستندات شما دارند و میتوانند پاسخهای دقیق و متنی ارائه دهند. این رویکرد را میتوان برای سناریوهای مختلفی مانند پشتیبانی مشتری، پرسشهای داخلی منابع انسانی، مستندات محصول، یا هر موقعیتی که به پاسخهای فوری و دقیق از پایگاه دانش خود نیاز دارید، مقیاسبندی کرد. این یک گام مهم در جهت ایجاد تجربه کاربری بهتر در وبسایتها و اپلیکیشنهاست، حتی برای کاربرانی که با سیستمهای پیچیده مدیریت محتوا مانند وردپرس کار میکنند و به دنبال ابزارهای هوشمند برای بهبود تعامل با بازدیدکنندگان خود و افزایش کارایی سئو هستند.
پیشنیازها و دسترسی به مدلها
برای ساخت یک چتبات مجهز به هوش مصنوعی با قابلیت RAG (Retrieval-Augmented Generation) که از خدمات Amazon Lex, Bedrock و S3 بهره میبرد، لازم است ابتدا مجموعهای از پیشنیازهای اساسی را فراهم آورده و سپس نحوه دسترسی به مدلهای بنیادی هوش مصنوعی را در پلتفرم آمازون Bedrock فرا بگیریم. این بخش، شما را با الزامات اولیه و گامهای کلیدی برای ورود به دنیای مدلهای هوش مصنوعی پیشرفته آشنا میسازد. توسعهدهندگانی که به دنبال گسترش قابلیتهای سایتهای خود، چه یک وبسایت شخصی و چه یک پلتفرم پیچیدهتر، هستند، میدانند که پایهگذاری صحیح، کلید موفقیت هر پروژه است. حتی در سیستمهای مدیریت محتوا مانند وردپرس، انتخاب درست هاست و افزونهها، بخش مهمی از پیشنیازها را تشکیل میدهد؛ در اینجا نیز، فراهم آوردن ملزومات اولیه برای استفاده از خدمات ابری آمازون، از اهمیت ویژهای برخوردار است.
آغاز راه: ملزومات اولیه برای توسعه چتبات RAG
پیش از شروع به کار، مطمئن شوید که تمام موارد ضروری زیر را در اختیار دارید. این پیشنیازها، سنگ بنای توسعه چتبات هوش مصنوعی شما را تشکیل میدهند و تضمین میکنند که فرآیند پیادهسازی به نرمی پیش خواهد رفت:
- **حساب AWS:** شما به یک حساب فعال AWS نیاز دارید که با یک کاربر IAM با دسترسیهای مدیریتی (admin privileges) به آن وارد شده باشید. این حساب، دروازه شما به تمام سرویسهای آمازون از جمله Bedrock, Lex و S3 است.
- **دسترسی به مدلهای Bedrock:** لازم است به دو مدل کلیدی در Amazon Bedrock دسترسی داشته باشید:
- **Amazon Titan Embeddings G1 – Text:** این مدل برای ایجاد بردارهای عددی (embeddings) از متن اسناد شما استفاده میشود که برای قابلیت بازیابی (Retrieval) در RAG حیاتی است.
- **Anthropic Claude 3.5 Sonnet:** این مدل، یک مدل زبان بزرگ (LLM) پیشرفته است که مسئول بخش تولید پاسخ (Generation) در چتبات شما خواهد بود و به چتبات قابلیت درک و تولید متن طبیعی را میدهد.
- **اسناد سیاستهای سفر:** برای سناریوی این آموزش، به مجموعهای از اسناد سیاستهای سفر نیاز دارید. این اسناد، منبع داده داخلی چتبات شما خواهند بود و میتوانید آنها را از یک منبع معتبر مانند لینک موجود در مقاله مرجع، دانلود کنید.
- **تجربه کار با کنسول AWS:** داشتن آشنایی قبلی با محیط کنسول AWS، کار شما را در مسیریابی و پیکربندی سرویسها بسیار آسانتر میکند. اگرچه کدنویسی مستقیمی در این آموزش وجود ندارد، اما توانایی کار با رابط کاربری AWS ضروری است.
این موارد، مشابه با انتخاب یک قالب (Theme) مناسب و افزونههای مورد نیاز برای یک وبسایت وردپرسی هستند؛ هر کدام نقش حیاتی در کارکرد نهایی سیستم ایفا میکنند و بدون آنها، ساختار به درستی شکل نخواهد گرفت. فراهم آوردن این الزامات، اولین و مهمترین گام در مسیر ساخت چتبات RAG شماست.
Amazon Bedrock: پلتفرم یکپارچه برای هوش مصنوعی مولد
پس از فراهم کردن پیشنیازها، نوبت به آشنایی عمیقتر با Amazon Bedrock میرسد که قلب این چتبات هوش مصنوعی است. آمازون Bedrock یک سرویس مدیریتشده از AWS است که دسترسی شما را به مدلهای بنیادی (Foundation Models) فراهم میکند؛ این مدلها، در واقع موتورهای اصلی هوش مصنوعی هستند که برنامههای کاربردی هوش مصنوعی مولد را تغذیه میکنند. نکته برجسته و زیبای Bedrock در این است که تمام کارهای سنگین مربوط به زیرساخت را برای شما انجام میدهد. دیگر نیازی به فراهم کردن GPUها، تنظیم خطوط لوله مدل (model pipelines) یا سر و کله زدن با مشکلات زیرساختی نخواهید داشت. Bedrock یک پلتفرم واحد است که در آن میتوانید مدلهای هوش مصنوعی برتر را از ارائهدهندگانی مانند Anthropic، Stability AI و مدلهای Titan خود آمازون (که در این آموزش استفاده میشوند) آزمایش، سفارشیسازی و مستقر کنید.
برای درک عملیتر، فرض کنید در حال ساخت یک چتبات پشتیبانی مشتری هستید. با Bedrock، شما به سادگی یک مدل زبان را انتخاب میکنید که متناسب با نیازهای شما باشد، آن را برای مورد استفاده خاص خود تنظیم (fine-tune) میکنید و سپس آن را در برنامه خود ادغام میکنید؛ همه اینها بدون نیاز به دست زدن به پیکربندی سرور یا کد زیرساختی انجام میشود. این رویکرد، مشابه با استفاده از یک سیستم مدیریت محتوای قوی مانند وردپرس است که به شما امکان میدهد با تمرکز بر محتوا و تجربه کاربری، بدون درگیر شدن با جزئیات فنی سرور، یک وبسایت کامل بسازید و افزونههای مورد نیاز برای افزودن قابلیتهای خاص را به سادگی نصب کنید. Bedrock این پیچیدگیها را برای توسعهدهندگان هوش مصنوعی برطرف میکند، درست همانطور که پلتفرمهای مدرن توسعه وب، کار ساخت و راهاندازی یک سایت را ساده کردهاند.
گامهای دسترسی به مدلهای هوش مصنوعی در Bedrock
با درک اهمیت و قابلیتهای Amazon Bedrock، اکنون زمان آن رسیده که گامهای عملی برای دسترسی به مدلهای مورد نیاز را بردارید. این فرآیند، برای فعالسازی قابلیتهای هوش مصنوعی چتبات شما حیاتی است. مراحل به شرح زیر است:
- **ورود به حساب IAM:** ابتدا با حساب AWS IAM خود که دسترسی روت (root privileges) دارد، وارد شوید. این مرحله، تضمین میکند که شما مجوزهای لازم برای مدیریت سرویسهای ابری را دارید.
- **پیمایش به کاتالوگ مدل Bedrock:** در کنسول AWS، به بخش Amazon Bedrock رفته و سپس به قسمت “Model catalog” (کاتالوگ مدل) بروید. این بخش، لیستی از تمامی مدلهای بنیادی موجود و قابل دسترسی در Bedrock را نمایش میدهد. این کاتالوگ را میتوان به نوعی به مخزن افزونهها یا قالبهای وردپرس تشبیه کرد که در آن میتوانید ابزارهای مختلفی را برای افزودن قابلیتهای جدید به سیستم خود پیدا کنید.
- **یافتن مدلهای مورد نیاز:** در کاتالوگ مدل، مدلهای “Titan Embeddings G1 – Text” و “Claude 3.5 Sonnet” را پیدا کنید. این مدلها همانهایی هستند که در بخش پیشنیازها به آنها اشاره شد و برای عملکرد چتبات RAG ما ضروری هستند.
- **مشاهده جزئیات مدل (اختیاری):** هنگامی که روی این مدلها کلیک میکنید، به صفحهای با جزئیات بیشتر هدایت میشوید. در این مرحله، نیازی به انجام کاری در این صفحه نیست؛ فقط لازم است از وجود و قابلیت دسترسی به این مدلها اطمینان حاصل کنید. ما از این مدلها در مراحل بعدی این آموزش برای پیکربندی و ساختاردهی چتبات خود استفاده خواهیم کرد.
تأمین دسترسی به این مدلها، مانند نصب یک افزونه کلیدی در وردپرس است که بدون آن، قابلیت اصلی وبسایت شما (مثلاً فروشگاه آنلاین یا فرم تماس) فعال نخواهد شد. در ادامه این آموزش، گام به گام مراحل ساخت چتبات را دنبال خواهیم کرد و این مدلهای هوش مصنوعی، نقش محوری در عملکرد آن ایفا خواهند کرد.
ایجاد پایگاه دانش در S3 و Bedrock
برای ساخت یک چتبات هوشمند مبتنی بر هوش مصنوعی مولد (Generative AI) که قادر به ارائه پاسخهای دقیق و بهروز از منابع داده اختصاصی شما باشد، ایجاد یک پایگاه دانش قوی و کارآمد ضروری است. این پایگاه دانش، ستون فقرات سیستم Retrieval-Augmented Generation (RAG) محسوب میشود و به مدلهای زبان بزرگ (LLM) کمک میکند تا از اطلاعات پیشتر آموزشدیده خود فراتر رفته و پاسخهایی متنی، مستند و عاری از “توهم” ارائه دهند. در این راهنما، ما بر دو سرویس کلیدی آمازون وب سرویسز (AWS) یعنی Amazon S3 برای ذخیرهسازی اسناد و Amazon Bedrock برای فعالسازی قابلیتهای هوش مصنوعی تمرکز خواهیم کرد تا بتوانیم یک پایگاه دانش قدرتمند ایجاد کنیم که در نهایت به چتبات شما جان میبخشد. این رویکرد به ویژه برای کسبوکارهایی که میخواهند دانش اختصاصی خود را (مانند سیاستهای شرکت، کاتالوگ محصولات یا مستندات فنی) به شکلی تعاملی و هوشمند در دسترس کاربران، مشتریان، یا حتی یک وبسایت وردپرسی قرار دهند، ایدهآل است.
آپلود اسناد به Amazon S3: شالودهٔ دادهها
گام نخست در ساخت هر پایگاه دانش برای یک سیستم RAG، ذخیرهسازی مطمئن و قابل دسترس منابع داده شماست. Amazon S3 (Simple Storage Service) به دلیل مقیاسپذیری، امنیت و دوام بالا، انتخابی ایدهآل برای این منظور است. در سناریوی ساخت چتبات برای پاسخگویی به سوالات مربوط به سیاستهای سفر به مریخ که در مقاله مرجع به آن اشاره شده، اسناد سیاست سفر (Travel Policy Documents) در یک باکت S3 ذخیره میشوند. این اسناد به عنوان منبع داخلی داده برای چتبات عمل کرده و اطمینان میدهند که پاسخهای تولید شده از اطلاعات معتبر و بهروز شرکت نشأت میگیرند، نه صرفاً دادههای عمومی و پیشفرض مدل.
برای آپلود اسناد در S3، مراحل زیر را دنبال کنید:
- وارد کنسول AWS خود شوید.
- به صفحه Amazon S3 بروید.
- یک باکت (Bucket) جدید ایجاد کنید. انتخاب نام مناسب برای باکت و تنظیم منطقهای (Region) که دادهها در آن ذخیره میشوند، اهمیت دارد.
- اسناد مورد نظر خود را در این باکت آپلود کنید. نکته مهم این است که اگر اسناد شما فشرده (zipped) هستند، باید قبل از آپلود آنها را از حالت فشرده خارج کنید. این گام، پایهای محکم برای هر سیستمی، از جمله افزونههای وردپرس که نیاز به دسترسی به دادههای مرجع دارند، فراهم میآورد.
یکپارچهسازی با Amazon Bedrock: هوش مصنوعی برای دادهها
در حالی که Amazon S3 بستری عالی برای ذخیرهسازی دادهها فراهم میکند، به تنهایی فاقد قابلیتهای هوش مصنوعی لازم برای پردازش هوشمند این اسناد و استخراج اطلاعات مرتبط است. اینجا است که Amazon Bedrock وارد میشود. Bedrock یک سرویس مدیریتشده از AWS است که به شما امکان دسترسی به مدلهای بنیادین (Foundation Models) مختلف را میدهد؛ این مدلها موتورهای اصلی پشت برنامههای هوش مصنوعی مولد هستند. Bedrock تمام کارهای سنگین مربوط به تأمین منابع GPU، راهاندازی خطوط لوله مدل و مدیریت زیرساخت را برای شما انجام میدهد. این سرویس به شما اجازه میدهد تا با مدلهای برتر هوش مصنوعی از ارائهدهندگان مختلف مانند Anthropic و مدلهای Titan خود آمازون (مانند Titan Embeddings G1 – Text که در این پروژه استفاده میشود) آزمایش کنید، آنها را سفارشیسازی کرده و به کار بگیرید.
برای یک چتبات RAG، Bedrock نقش حیاتی در هوشمندسازی دادههای S3 ایفا میکند. این سرویس با استفاده از مدلهای embedding (مانند Titan Embeddings G1 – Text)، اسناد متنی شما را به بردارهای عددی تبدیل میکند. این بردارهای عددی، نمایش معنایی از محتوای اسناد هستند و امکان جستجوی معنایی و بازیابی اطلاعات مرتبط را فراهم میکنند. به این ترتیب، چتبات میتواند به جای جستجوی کلمات کلیدی، سوال کاربر را درک کرده و دقیقترین قطعات اطلاعات را از پایگاه دانش شما بازیابی کند. این قابلیت برای توسعهدهندگان و مدیران وبسایتهای وردپرسی بسیار ارزشمند است که به دنبال ارائه پاسخهای هوشمند و پویا به کاربران خود هستند.
ایجاد پایگاه دانش در Bedrock: تنظیمات و همگامسازی
پس از آپلود اسناد در S3، مرحله بعدی ایجاد پایگاه دانش واقعی در Amazon Bedrock است. این پایگاه دانش، پل ارتباطی بین دادههای خام شما و قابلیتهای هوش مصنوعی مولد Bedrock خواهد بود. مراحل زیر، چگونگی انجام این کار را تشریح میکند:
- به صفحه Amazon Bedrock بازگشته و به بخش “Build > Knowledge Bases” بروید.
- روی “Create” کلیک کرده و از منوی کشویی، گزینه “Knowledge base with vector store” را انتخاب کنید.
- برای دسترسی IAM، گزینه “Create and use a new service role” را فعال بگذارید تا Bedrock مجوزهای لازم برای دسترسی به سایر سرویسها (مانند S3) را داشته باشد.
- “Amazon S3” را به عنوان نوع منبع داده (Data source type) انتخاب کنید و سپس با استفاده از “Browse S3″، باکتی که اسناد خود را در آن آپلود کردهاید، انتخاب نمایید.
- در صفحه بعدی، برای انتخاب مدل embedding روی “Select model” کلیک کنید. “Titan Embeddings G1 – Text” را انتخاب کرده و سپس “Amazon OpenSearch Serverless” را برای ذخیرهسازی وکتورها انتخاب و روی “Apply” کلیک کنید. سایر تنظیمات را به حال خود رها کرده و “Next” را بزنید.
- در صفحه نهایی، روی “Create Knowledge Base” کلیک کنید. این فرآیند ممکن است چند دقیقه طول بکشد، پس صبور باشید.
- پس از ایجاد پایگاه دانش، نیاز است که آن را با منابع داده خود همگامسازی (sync) کنید. به بخش “Data source” در همان صفحه پیمایش کرده، منبع داده را انتخاب کرده و روی “Sync” کلیک کنید. این کار تضمین میکند که تمامی اسناد شما پردازش شده و به شکل وکتورهای قابل جستجو درآمدهاند. توجه داشته باشید که برای حجم بیشتر دادهها، این همگامسازی ممکن است زمان بیشتری ببرد.
اکنون، پایگاه دانش Bedrock شما آماده است و به باکت S3 حاوی اسناد سفر متصل شده است. این زیرساخت هوشمند، به چتبات شما اجازه میدهد تا به سوالات پیچیده کاربران پاسخهای دقیق و متنی ارائه دهد. این رویکرد انعطافپذیری بالایی دارد و میتواند برای کاربردهای متنوعی از جمله پشتیبانی مشتری، منابع انسانی، یا یک سیستم پرسش و پاسخ برای مستندات یک محصول وردپرسی به کار گرفته شود، بدون اینکه نیازی به دانش کدنویسی عمیق برای مدیریت مدلهای هوش مصنوعی باشد.
ساخت و پیکربندی چتبات Amazon Lex
در دنیای امروز، چتباتها به ابزاری ضروری برای شرکتهای نرمافزاری، بهویژه آنهایی که تعامل زیادی با مشتریان دارند، تبدیل شدهاند. این چتباتها برای وظایفی مانند پشتیبانی مشتری، پاسخگویی به سوالات و ارائه اطلاعات در وبسایتها، اپلیکیشنها و پلتفرمهای پیامرسان به کار میروند. آمازون لکس (Amazon Lex) یک سرویس قدرتمند برای ساخت رابطهای مکالمهای، هم صوتی و هم متنی، است که میتواند با استفاده از فناوریهای هوش مصنوعی پیشرفته، چتباتهایی با قابلیتهای بالا ایجاد کند. با ادغام لکس با سرویسهایی مانند Amazon Bedrock و S3، میتوان چتباتهایی ساخت که نه تنها به سوالات پاسخ میدهند، بلکه اطلاعات را از منابع داده داخلی شما بازیابی کرده و پاسخهای دقیق و بهروز ارائه دهند.
این بخش به طور خاص بر مراحل ساخت و پیکربندی یک چتبات در Amazon Lex تمرکز دارد. این چتبات میتواند به عنوان یک بخش تعاملی در وبسایتهای مختلف، از جمله پلتفرمهای محبوب مدیریت محتوا مانند وردپرس، مورد استفاده قرار گیرد تا تجربه کاربری را بهبود بخشد.
ایجاد یک چتبات جدید در Amazon Lex
برای شروع فرآیند ساخت چتبات، ابتدا باید وارد کنسول AWS خود شوید و به سرویس Amazon Lex بروید. مراحل اولیه ایجاد چتبات شامل موارد زیر است:
- روی گزینه “Create bot” کلیک کنید.
- در بخش “Traditional creation method”، گزینه “Create a blank bot” را انتخاب کنید.
- برای چتبات خود یک نام مناسب انتخاب کنید؛ به عنوان مثال، “Mars travel bot”.
- در بخش “IAM permissions”، گزینه “Create a role with basic Amazon Lex permissions” را انتخاب کنید تا لکس مجوزهای لازم برای عملکرد خود را داشته باشد.
- در قسمت “Children’s Online Privacy Protection Act (COPPA)”، گزینه “No” را انتخاب کنید، مگر اینکه چتبات شما تحت قوانین COPPA باشد.
- در صفحه بعدی، توضیحات کوتاهی برای چتبات خود وارد کنید.
- گزینه تعامل صوتی مورد نظر خود را برای قابلیت تبدیل متن به گفتار (Text-to-Speech) انتخاب کنید. لکس امکان پخش نمونه صوتی برای هر صدا را فراهم میکند تا بتوانید بهترین گزینه را برای کسبوکار خود انتخاب کنید.
- در نهایت، روی “Done” کلیک کنید تا چتبات اولیه شما ایجاد شود.
این مرحله پایه و اساس چتبات شما را تشکیل میدهد و بدون نیاز به کدنویسی پیچیده، یک موجودیت چتبات در سیستم Lex ایجاد میکند که آماده دریافت پیکربندیهای بیشتر است.
افزودن Intent خوشآمدگویی و پیکربندی پاسخها
پس از ایجاد چتبات، گام بعدی تعریف “Intent” یا هدفهای آن است. Intentها در واقع اقداماتی هستند که درخواست کاربر را برآورده میکنند. برای شروع، یک Intent خوشآمدگویی اضافه میکنیم تا چتبات بتواند به اولین تعامل کاربر پاسخ دهد:
- نام Intent را به “WelcomeIntent” تغییر دهید.
- به بخش “Sample utterances” بروید و نمونه عباراتی را که انتظار دارید کاربر برای شروع مکالمه تایپ یا صحبت کند، اضافه کنید. برای مثال:
- “Hi”
- “Hey”
- “hello”
شما میتوانید هر تعداد عبارتی که فکر میکنید کاربران استفاده خواهند کرد، اضافه کنید.
- در بخش “Initial response”، پاسخی را برای کاربر تعیین کنید. میتوانید متنی مانند “سلام! خوش آمدید! چطور میتوانم امروز به شما کمک کنم؟” را وارد کنید.
- روی دکمه “Advanced options” کلیک کنید. در این قسمت، در زیر “Set values”، گزینه “Wait for user input” را انتخاب کنید.
- روی “Update options” کلیک کنید.
پس از این پیکربندی، متوجه خواهید شد که یک “Fallbackintent” به طور خودکار ایجاد شده است. این Intent زمانی فعال میشود که ورودی کاربر با هیچ یک از Intentهای تعریفشده مطابقت نداشته باشد و یک پاسخ عمومی ارائه میدهد.
ادغام قابلیتهای هوش مصنوعی با Amazon QnAIntent
برای تبدیل چتبات به یک ابزار هوشمند که میتواند به سوالات پیچیده پاسخ دهد، نیاز به ادغام قابلیتهای هوش مصنوعی مولد (GenAI) داریم. Amazon QnAIntent یک Intent داخلی است که از GenAI برای پاسخ به سوالات متداول (FAQ) از طریق جستجو در محتوای دانش پایگاه داده استفاده میکند. این ویژگی به ویژه برای وبسایتهایی که نیاز به پاسخهای پویا و مبتنی بر دانش دارند، بسیار مفید است.
- در صفحه Intentها، به “Add intent” > “Use built-in intent” بروید.
- گزینه “QnAIntent” را انتخاب کرده و نامی برای آن تعیین کنید.
- در بخش “QnA configuration”، مدل مورد نظر خود را انتخاب کنید، برای مثال “Claude 3.5 Sonnet”.
- شناسه پایگاه دانش (Knowledge Base ID) خود را که قبلاً در Amazon Bedrock ایجاد کردهاید، کپی کرده و در فیلد “Knowledge base for Amazon Bedrock Id” جایگذاری کنید.
- روی “Save intent” کلیک کنید.
پس از اتمام این تنظیمات، بسیار مهم است که دوباره چتبات را “Build” کنید تا تمامی تغییرات اعمال شوند. اکنون چتبات شما آماده تست است. میتوانید با پرسیدن سوالاتی مانند “چه اقلامی را میتوانم برای سفر خود هزینه کنم؟” یا “سفر من چقدر هزینه دارد؟” آن را امتحان کنید. این چتبات اکنون میتواند اطلاعات را از پایگاه دانش Bedrock که به S3 متصل است، بازیابی کرده و پاسخهای دقیق و زمینهمند را ارائه دهد.
با استفاده از این رویکرد، میتوان یک چتبات قدرتمند و هوشمند ایجاد کرد که از دادههای داخلی شما تغذیه میکند و از پاسخهای عمومی یا اطلاعات منسوخ جلوگیری مینماید. این قابلیتها فرصتهای بیشماری را برای خودکارسازی پشتیبانی مشتری، ارائه اطلاعات محصول یا حتی مدیریت محتوا باز میکند و میتواند با پلتفرمهایی مانند وردپرس برای ارائه تجربه کاربری یکپارچه ادغام شود.
تست و ادغام قابلیتهای هوش مصنوعی
ساخت و آزمایش اولیه چتبات
پس از آنکه تمامی تنظیمات مربوط به مقاصد (intents) در چتبات Amazon Lex شما پیکربندی شد، گام حیاتی بعدی این است که چتبات را ساخته و قابلیتهای اولیه آن را آزمایش کنید. برای شروع فرآیند ساخت، کافی است در کنسول مدیریتی AWS به سرویس Amazon Lex مراجعه کرده و سپس روی دکمه “Build” که معمولاً در گوشه بالا سمت راست صفحه قرار دارد، کلیک نمایید. این عملیات ممکن است چند لحظه به طول بینجامد و پس از اتمام موفقیتآمیز، یک پیام تأیید در بالای صفحه نمایش داده خواهد شد که نشاندهنده آمادگی چتبات برای آزمایش است.
جهت آزمایش عملکرد اولیه چتبات، روی دکمه “Test” در همان قسمت بالا سمت راست کلیک کنید. با این کار، یک رابط چت از پیش ساخته شده برای شما ظاهر میشود که میتوانید از آن برای تعامل با چتبات استفاده کنید. به عنوان مثال، میتوانید یک عبارت ساده مانند “Hi” یا “سلام” را تایپ کرده و ارسال کنید. چتبات باید بلافاصله با پیامی خوشآمدگویی که قبلاً در “WelcomeIntent” برای آن تنظیم کردهاید، پاسخ دهد. اگر بر روی گزینه “Inspect” کلیک کنید، میتوانید جزئیات مربوط به “intent” فعلی شناسایی شده توسط چتبات را مشاهده کنید که در این مرحله، باید “welcomeIntent” باشد. این آزمایش اولیه تأیید میکند که چتبات به درستی ساخته شده و قادر به شناسایی مقاصد پایه است، اما لازم به ذکر است که در این مرحله، قابلیتهای پیشرفته هوش مصنوعی برای پاسخگویی به سوالات مبتنی بر دادههای اختصاصی (مانند سیاستهای سفر به مریخ در مثال ما) هنوز به طور کامل ادغام نشدهاند.
ادغام قابلیتهای هوش مصنوعی مولد با Amazon QnAIntent
برای تبدیل چتبات به یک ابزار هوشمند که میتواند به سوالات پیچیده و خاص پاسخ دهد، نیاز است قابلیتهای هوش مصنوعی مولد (Generative AI) را به آن اضافه کنیم. Amazon QnAIntent یک راهکار ایدهآل برای این منظور است؛ این یک مقصد (intent) داخلی است که به طور خاص برای استفاده از هوش مصنوعی مولد طراحی شده تا درخواستهای مربوط به سوالات متداول (FAQ) را با جستجو و استخراج اطلاعات از محتوای پایگاه دانش مجاز انجام دهد. برای فعالسازی این قابلیت، در صفحه “Intents” چتبات خود، گزینه “Add intent” را انتخاب کرده، سپس به “Use built-in intent” بروید و از لیست موجود، “QnAIntent” را برگزینید.
پس از انتخاب QnAIntent، از شما خواسته میشود یک نام دلخواه برای این مقصد جدید تعیین کنید و سپس آن را اضافه نمایید. به این ترتیب، به صفحه تنظیمات مخصوص این “intent” هدایت خواهید شد. در این صفحه، به بخش “QnA configuration” توجه کنید. در اینجا، باید مدل بنیادی (foundation model) مورد نظر خود را برای پردازش هوش مصنوعی مولد انتخاب نمایید؛ برای این آموزش، “Anthropic Claude 3.5 Sonnet” مدل توصیه شده است. گام حیاتی بعدی، وارد کردن “Knowledge base ID” است. این شناسه، مربوط به پایگاه دانشی است که قبلاً در Amazon Bedrock ایجاد کردهاید و حاوی اسناد مرجع شماست. با کپی کردن این شناسه از صفحه Bedrock و جایگذاری آن در فیلد “Knowledge base for Amazon Bedrock Id”، اتصال حیاتی بین چتبات Lex و منابع دانش Bedrock برقرار میشود. در نهایت، برای اعمال تمامی این تغییرات، روی “Save intent” کلیک کنید.
آزمایش نهایی چتبات RAG هوشمند
پس از اینکه تمامی تنظیمات QnAIntent را ذخیره کردید، بسیار مهم است که قبل از انجام هرگونه آزمایش جدید، چتبات خود را مجدداً با کلیک بر روی دکمه “Build” بازسازی کنید. این کار اطمینان میدهد که تمامی تغییرات و ادغامهای جدید، به ویژه قابلیتهای هوش مصنوعی مولد، به درستی در چتبات اعمال شدهاند. حالا زمان آن فرا رسیده است که چتبات RAG هوشمند خود را به صورت عملی و با سوالات واقعی که از منابع داده شما پاسخ میگیرند، آزمایش کنید. میتوانید سوالاتی را مطرح کنید که پاسخهای آنها مستقیماً در اسناد آپلود شده در سطل S3 شما (که از طریق پایگاه دانش Bedrock به چتبات متصل شدهاند) وجود دارد.
به عنوان مثال، فرض کنید چتبات شما در مورد سیاستهای سفر به مریخ پیکربندی شده است. میتوانید از آن بپرسید: “چه مواردی را میتوانم برای سفرم هزینه کنم؟” مشاهده خواهید کرد که چتبات، با استفاده از Amazon QnAIntent، به طور هوشمندانه اطلاعات مرتبط را از پایگاه دانش Bedrock بازیابی کرده و پاسخی دقیق و متنی را بر اساس محتوای اسناد سیاست سفر به شما ارائه میدهد. برای آزمایشهای بیشتر، میتوانید سوالات دیگری مانند “هزینه سفر من چقدر است؟” یا “آیا میتوانم حیوانات خانگیام را با خود ببرم؟” را نیز امتحان کنید. این آزمایشها به وضوح نشان میدهند که چتبات شما اکنون قادر است به جای ارائه پاسخهای از پیش تعیین شده، پاسخهای پویا، مرتبط و مبتنی بر دانش اختصاصی شما را تولید کند.
جمعبندی و توصیههای نهایی
در طول این راهنمای جامع و گام به گام، ما به شما نشان دادیم که چگونه میتوان یک چتبات پیشرفته و مجهز به هوش مصنوعی را توسعه داد که قابلیت استخراج و ارائه پاسخها از منابع داده اختصاصی شما را دارد. این رویکرد، مشکل پاسخهای عمومی، نامربوط یا اطلاعات منسوخ را که در چتباتهای سنتی رایج است، از بین میبرد. با ترکیب هوشمندانه سرویسهای قدرتمند Amazon Lex برای ساخت رابط مکالمه، Amazon Bedrock برای دسترسی به مدلهای بنیادی و مدیریت پایگاه دانش، و Amazon S3 برای ذخیرهسازی امن اسناد، همراه با بهرهگیری از معماری Retrieval-Augmented Generation (RAG)، شما یک سیستم یکپارچه و هوشمند ایجاد کردهاید. این سیستم نه تنها اسناد و پایگاه دانش شما را به درستی درک میکند، بلکه قادر است پاسخهای دقیق، بهروز و کاملاً متنی را در زمان واقعی ارائه دهد.
اهمیت و قدرت واقعی این چتبات تنها به پشته فناوری آن محدود نمیشود، بلکه در قابلیتهای گستردهای است که به شما امکان پیادهسازی میدهد. شما میتوانید این رویکرد را به راحتی برای سناریوهای مختلفی مقیاسبندی کنید، از جمله بهبود پشتیبانی مشتری، خودکارسازی پاسخ به سوالات داخلی بخش منابع انسانی، ارائه سریع و دقیق مستندات محصول، یا هر موقعیت دیگری که نیاز به دسترسی فوری و پاسخهای دقیق از مجموعه دانش اختصاصی شما وجود دارد. این مسیری که طی شد، تنها نقطه آغازین است. با آزمایش مدلهای بنیادی مختلفی که Bedrock ارائه میدهد، گسترش مداوم پایگاه دانش خود با افزودن اسناد جدید، یا پالایش و بهبود مقاصد (intents) برای مدیریت مکالمات پیچیدهتر، میتوانید قابلیتهای چتبات خود را فراتر از آنچه امروز ساختهاید، توسعه دهید. زیرساخت قدرتمند اکنون آماده است، و نوبت به سفارشیسازی و بهینهسازی آن برای رفع نیازهای خاص شماست. نکته مهم و پایانی: برای جلوگیری از متحمل شدن هزینههای ناخواسته در AWS، به یاد داشته باشید که پس از اتمام کار و آزمایشهای خود، منابعی مانند پایگاه دانش Bedrock، سطل S3 و فروشگاه وکتور (که از طریق Amazon OpenSearch Service مدیریت میشود) را حذف کنید.