chatbot خود را با AI در زمینه AWS سوپر

کاربران آنلاین امروزی انتظار دارند که از نظر شخصی فوری و شخصی – خواه محصولات آنلاین را با هم مقایسه کنند ، یک مشکل فنی را برطرف کنند ، یا فقط به دنبال یک پاسخ سریع باشید. chatbots مبتنی بر کلمه کلیدی فقط می تواند شما را تا کنون به خود جلب کند. به منظور ارتباط واقعی با مشتریان ، ربات شما نیاز دارد “متناو باید تعامل های گذشته را به خاطر بسپارد ، نیازها را پیش بینی کند و با بیش از اسکریپت های قبل از شروع واکنش نشان دهد.
در این مقاله ، ما یک معماری مقیاس را بدون سرور ساخته شده بر روی AWS می گذرانیم و Lambda را برای ثبت وقایع و پردازش منطق در زمان واقعی ، DynamoDB برای حافظه جلسه و Sagemaker برای بینش های AI-Scoven ترکیب خواهیم کرد. ما همچنین به این موضوع خواهیم پرداخت که چگونه می توان از طریق SNS به طور مهربان به عوامل انسانی از طریق SNS برای آن لحظات مهم تشدید شد که ربات به سادگی کافی نباشد یا تا زمانی که ربات از تعامل بیشتر انسان قدرت یادگیری اضافی را دریافت کند.
“Chatbots اساسی مبتنی بر کلمات کلیدی غالباً از بین می رود و مکالمات را به مبادلات تکراری و غیر شخصی تبدیل می کند که می تواند به افراد اجازه دهد احساس ناامیدی و ناامید کنند.”
چرا زمینه حتی بیش از هر زمان دیگری اهمیت دارد
Chatbots سنتی با هر پیام جدا شده رفتار می کند. کاربر می تواند قبل از پرسیدن سؤال بر روی چندین صفحه کلیک کند ، اما ربات بدون شهروندی به سادگی به متن جلوی او پاسخ می دهد. در مقابل ، در مقابل ، به یاد داشته باشید که کاربر کجا بوده است ، چه اقداماتی انجام داده اند و بر این اساس سازگار و پاسخ های خود را سازگار می کنند. نتیجه طبیعی تر است ، مانند تعامل انسان:
- ارتباط: تصور کنید که برای اجرای یک سکوی خرید ، با مقایسه ویژگی ها و قیمت ها ، به سه کفش مختلف نگاه می کنید. به جای عمومی ، “چگونه امروز می توانم به شما کمک کنم؟” در مورد مراحل بوت با “من می بینم که شما Pegasa ، Zoomx و React Infinity را بررسی کرده اید. شما می خواهید یک مقایسه سریع از بالش آنها و بیشترین معاملات؟” مثل این است که با یک همکار فروشگاه آشنا صحبت کنید ، نه یک سناریوی روباتیک.
- کارایی: دیگر خود را تکرار نخواهید کرد. اگر دیروز سفارش داده اید ، ربات می تواند مستقیم پرش کند: “کفش های شما در حال حاضر در راه است و آنها باید تا فردا بعد از ظهر وارد شوند!” شما به روزرسانی های فوری و مناسب را دریافت می کنید بدون اینکه ناامید شوید و به جلو بروید تا هر بار تعداد و زمینه سفارشات را ارائه دهید.
- رضایت: هنگامی که مکالمات دقیقاً در جایی که باقی مانده است بالا می رود ، کمتر شبیه مکالمه با یک دستگاه و بیشتر به عنوان یک دستیار واقعی و دقیق است. شما نیازی به تکرار خود ندارید ، و پاسخ های بوتا احساس شخصی و عمدی می شود و باعث می شود کل تجربه گرسنه تر و رضایت بخش تر شود.
“زیرا مکالمات مستحق زمینه هستند.”
معماری سطح بالا
در زیر جریان اصلی راه حل ما ارائه شده در پری دریایی زنده برای به اشتراک گذاری آسان و اصلاحات است.
(در صورت نیاز به معماری به عنوان کدی برای ایده های راه اندازی خود ، با من اظهار نظر کنید یا با من تماس بگیرید)
بلوک -Scheme که معماری chatbot سطح بالا و تعامل آن با پس زمینه را به تصویر می کشد.
از یک نگاه می توانید ببینید:
1. هسته
- دستگاه کاربر: برنامه وب یا موبایل.
- API Gateway (توزیع کننده): نقطه ورود مرکزی برای همه تعامل های chatbot ، صدور گواهینامه ، پرتاب و مسیریابی.
- ویژگی های لامبدا:
- درخت برای یک رویداد: این تعامل کاربران را ضبط می کند – کلیک ، صفحه نمایش و ارسال فرم ها – آنها را در DynamoDB برای متن جلسه ثبت می کند و این جزئیات پردازنده فرآیند قصد را برای واکنش در زمان واقعی ارسال می کند.
- پردازنده یافت شده (بلوک مسدود کردن chatbot) : Orchestrates استخراج زمینه ، نتیجه گیری NLP ، پاسخ دادن به پاسخ ها و تشدید اختیاری به عامل انسانی واقعی (که خارج از هدف مقاله است)
2. عقب
- دینامودب (فروشگاه زمینه): یک فروشگاه با ارزش کلید با دوام و با دوام که دارای اقدامات کاربر اخیر و پاسخ های BOT-شما “حافظه” است. انتخاب DynamoDB ، به دلیل معماری بدون سرور ، DEEL. تحت هر بار ، با صورتحساب پرداخت برای هر درخواست و یکپارچه سازی یکپارچه سازی Lambda ، آن را برای ذخیره و بازیابی حالت جلسه در زمان واقعی مناسب برای نگهداری اتاق است.
- ساقه ساز نکته نهایی: پیش بینی های اقتدار واقعی با میزبانی مدل های NLP ریز و درشت که می توانند قصد کاربر را درک کنند ، خلق و خوی پیدا کنند و اطلاعات کلیدی را از پیام ها بازیابی کنند ، در حالی که اسکن یکپارچه به عنوان تقاضا مردد است.
- سیگنال های SNS: کانال اعلان کم و یا درخواست های حساس اختیاری که امکان انتقال پشتیبانی انسانی را فراهم می کند (پس از بخشی که در این مقاله در نظر گرفته نشده است)
جریان دقیق
1. مصرف و ثبت وقایع
هنگامی که کاربر هرگونه عمل را در یک صفحه انجام می دهد ، روی یک دکمه کلیک کنید ، یا یک پیام را وارد کنید-Front End یک درخواست را به دروازه API ارسال می کند. ما تمام وقایع را به رویدادهای Logger Lambda ، که زمان بندی و ضبط آنها را در DynamoDB تحت کلید جلسه کاربر هدف قرار می دهیم ، هدف قرار می دهیم. این یک خط زمانی از رفتار کاربران را ایجاد می کند که می توانیم برای ایجاد زمینه استفاده کنیم.
نمونه کد در مورد نحوه ذخیره اقدامات کاربر در DB
import boto3
import json
import os
dynamodb = boto3.resource('dynamodb')
table_name = os.environ.get('DYNAMODB_TABLE', 'UserContext')
table = dynamodb.Table(table_name)
def lambda_handler(event, context):
user_id = event.get('user_id')
action = event.get('action')
# Store the user action in DynamoDB
table.put_item(
Item={
'UserID': user_id,
'Timestamp': int(time.time()),
'Action': action
}
)
return {'statusCode': 200, 'body': 'Event logged successfully'}
2. پردازش پیام رسانی گپ
جدا از ، هنگامی که کاربر پیام گپ را ارسال می کند ، API Gateway قصد پردازنده لامبدا را صدا می کند. این جدایی ثبت نام با توجه به منطق قصد از هر ویژگی متمرکز و مقیاس آسانتر پشتیبانی می کند.
کد نمونه در مورد نحوه کشیدن زمینه از DB و مراجعه به نقطه پایان Sagemaker برای پاسخ در زمان واقعی
import boto3
import json
import os
sagemaker_client = boto3.client('sagemaker-runtime')
dynamodb = boto3.resource('dynamodb')
table_name = os.environ.get('DYNAMODB_TABLE', 'UserContext')
table = dynamodb.Table(table_name)
def lambda_handler(event, context):
user_id = event.get('user_id')
message = event.get('message')
# Fetch recent context
response = table.query(
KeyConditionExpression=boto3.dynamodb.conditions.Key('UserID').eq(user_id),
Limit=5,
ScanIndexForward=False
)
context_items = response.get('Items', [])
# Prepare NLP payload
payload = json.dumps({'context': context_items, 'message': message})
# Invoke SageMaker endpoint
nlp_response = sagemaker_client.invoke_endpoint(
EndpointName=os.environ.get('SAGEMAKER_ENDPOINT', 'chatbot-nlp-endpoint'),
ContentType="application/json",
Body=payload
)
nlp_result = json.loads(nlp_response['Body'].read().decode())
return {'statusCode': 200, 'body': nlp_result.get('reply', 'I didn’t quite get that.')}
3. تحویل متن
قبل از اجرای نتیجه گیری NLP ، پردازنده قصد آخرین داده های مربوط به جلسه DynamoDB را می خواند – “یک زمینه را ارائه دهید” – بنابراین مدل می فهمد که کاربر دقیقاً قبل از پرسیدن سؤال چه کاری انجام داده است.
4. نتیجه گیری AI
Lambda پیام خام را به علاوه تاریخچه متن در یک بار مفید JSON بسته بندی می کند و نقطه پایان Sagemaker را فراخوانی می کند. این مدل برچسب قصد ، نتیجه اعتماد به نفس و همه موجودات مشتق شده را برمی گرداند.
5. پاسخ نسل
با استفاده از نتایج حاصل از نتیجه گیری ، پردازنده پاسخی را ایجاد می کند. او بلافاصله DynamoDB – “به روزرسانی زمینه” – را با اضافه کردن جواب به ربات به روز کرد. این تضمین می کند که نوبت های آینده کل مکالمه را شامل می شود.
6. تحویل و بازخورد
پاسخ از طریق دروازه API به کاربر ارسال می شود. اگر اعتماد به نفس مدل در زیر آستانه شما قرار بگیرد ، لامبدا سیگنالی را برای یک خط با نقطه SNS ارسال می کند که می تواند در یک صفحه کنترل ، ایمیل یا پیام کوتاه منتقل شود.
نکات اجرای
- شروع سرد آهسته: برای از بین بردن شروع سرما و ارائه پاسخ های تأخیر قابل پیش بینی ، از موازی طراحی شده یا SnapStart Lambda استفاده کنید. گرم شدن ویژگی های مهم را در ساعات اوج در نظر بگیرید تا از ویژگی های سریع اطمینان حاصل شود.
- طراحی DynamoDB: برای مرتب کردن کاربران و یک کلید مرتب سازی برند زمان که می توانید به طور موثری برای آخرین رویدادها تنظیم کنید ، هر جلسه را به عنوان “سری زمانی” با یک کلید کلید کامپوزیت نگه دارید.
- بهینه سازی مدل: از مدل های مقطر یا کمی (به عنوان مثال Distilbert ، ONNX) برای نتیجه گیری در بخش استفاده کنید. مبلغ متعادل نسخه کپی خود را برای قیمت تأخیر نگه دارید.
- امنیت: نقطه پایان Sagemaker را در VPC قفل کرده و از نقش های IAM برای دسترسی به کمترین امتیاز استفاده کنید. و رمزگذاری را در حالت استراحت (KMS) و در ترانزیت (TLS) برای محافظت از داده ها فعال کنید.
- مشاهده: ردیابی X -ray را در Lambdas و Gateway API خود فعال کنید تا نقاط تأخیر را تعیین کنید. برای تشخیص خطاهای زمان واقعی و نظارت بر عملکرد شروع سرما ، میزان انتظار و خطاهای فراخوانی ، از Alarmwatch استفاده کنید.
چرا این مدل chatbot تجربه بهتری را ارائه می دهد
- بدون مقیاس پذیری سرور: هیچ سرور برای مدیریت وجود ندارد – chatbot شما به طور خودکار از صفر تا هزاران جلسه همزمان رشد می کند.
- راندمان هزینه: شما فقط برای اجرای و نتیجه گیری زمان پرداخت می کنید. افزایش رباتها تقریباً صفر است.
- هوش متنی: با ازدواج با رویدادهای NLP در زمان واقعی ، شما کمک های شخصی و پیشگیرانه ای ارائه می دهید که ربات های استاتیک به سادگی نمی توانند با آن مطابقت داشته باشند.
- پسوند: به شناخت تصویر یا منطق تجاری شخصی نیاز دارید؟ به یک مدل Sagemaker دیگر جایگزین کنید یا Lambdi بیشتری را اضافه کنید.
- مدیریت هزینه فعال:
- برای پردازش ترافیک بدون اینکه بیش از حد از آن استفاده کنید ، از مقیاس خودکار برای نقاط پایانی Sagemaker استفاده کنید.
- ظرفیت خواندن/ضبط DynamoDB را بر اساس مدل های اوج و خارج از اوج بهینه کنید.
- برای کاهش بار در پشت ، لایه های حافظه پنهان (به عنوان مثال ، حافظه نهان API Gateway) را بمالید.
- انتقال انسان:برای تشدید بحرانی ، از SNS برای هشدار دادن به تیم های پشتیبانی واقعی استفاده کنید. زمینه جلسه را در بار مفید برای یک هضم بدون دردسر انسان قرار دهید.
کد نمونه نشان می دهد که چگونه مسیر تشدید در ارتباط با NLP کار می کند
import boto3
import json
import os
sns_client = boto3.client('sns')
sns_topic_arn = os.environ.get('SNS_TOPIC_ARN', 'arn:aws:sns:us-east-1:123456789012:chatbot-escalations')
def lambda_handler(event, context):
user_id = event.get('user_id')
message = event.get('message')
confidence = event.get('confidence', 0.0)
if confidence
- جریان داده های پایدار:اطمینان حاصل کنید که ویژگی های لامبدا شما به طرز فجیعی اداره می شود. از SQS یا SNS DLQ برای ضبط وقایع ناموفق پردازش بعدی استفاده کنید و از از بین رفتن داده ها در هنگام وقفه جلوگیری کنید.
- مقیاس پذیری و انعطاف پذیری:معمار chatbot شما برای مقیاس با ویژگی های مدولار ، تحریک رویدادها و فروشگاه های داده بدون سرور. Eventbridge را به عنوان یک مقیاس ضعیف و در نظر بگیرید.
پایان
تولید Chatbot با هوشمند AWS زمینه ایجاد مکالمه های بدون دردسر و هوشمند است که مانند تعامل انسان احساس می شود. با ترکیب Lambda برای محاسبه بدون سرور ، DynamoDB برای زمینه واقعی و Sagemaker برای درک عمیق از زبان و ابزارهای تطبیق بر اساس اهداف هر پروژه-شما می توانید تجربیات مصرف کننده عرف و تأثیرگذار را در مقیاس ارائه دهید. این معماری یک برنامه انعطاف پذیر برای ساختن دستیاران هوشمندتر و پاسخگوتر دیجیتال ، کامل با کنترل زمینه دو طرفه ، نتیجه گیری در زمان واقعی هوش مصنوعی و تشدید فیض انسانی فراهم می کند. این که آیا شما در حال ساختن یک ربات پشتیبانی مشتری ، یک دستیار خرید دیجیتال یا یک صداپیشه صدا هستید ، این رویکرد پایه و اساس معنی دار و بدون مالیدن تعامل را فراهم می کند.
“در دنیای نگهداری دیجیتال ، زمینه پادشاه است. با این معماری های بهبود یافته ، شما فقط با انتظارات کاربران روبرو نیستید – شما نوار را تنظیم می کنید.”




