شعار زيفيرنت

تعزيز Amazon Connect وLex باستخدام إمكانات الذكاء الاصطناعي التوليدية | خدمات الويب الأمازون

التاريخ:

أصبحت خيارات الخدمة الذاتية الفعالة ذات أهمية متزايدة لمراكز الاتصال، ولكن تنفيذها بشكل جيد يمثل تحديات فريدة من نوعها.

أمازون ليكس يوفر الخاص بك أمازون كونيكت مركز اتصال مزود بوظائف chatbot مثل التعرف التلقائي على الكلام (ASR) وإمكانيات فهم اللغة الطبيعية (NLU) من خلال القنوات الصوتية والنصية. يأخذ الروبوت الكلام باللغة الطبيعية أو إدخال النص، ويتعرف على القصد من وراء الإدخال، ويحقق نية المستخدم من خلال استدعاء الاستجابة المناسبة.

يمكن أن يكون لدى المتصلين لهجات ونطق وقواعد متنوعة. ومع وجود ضوضاء في الخلفية، يمكن أن يجعل ذلك من الصعب على التعرف على الكلام فهم البيانات بدقة. على سبيل المثال، قد يتم التعرف بشكل خاطئ على عبارة "أريد تتبع طلبي" على أنها "أريد نقل حاملي بالشاحنة". إن مثل هذه النوايا الفاشلة تحبط العملاء الذين يضطرون إلى تكرار أنفسهم، أو يتم توجيههم بشكل غير صحيح، أو يتم تصعيدهم إلى وكلاء مباشرين - مما يكلف الشركات المزيد.

أمازون بيدروك إضفاء الطابع الديمقراطي على وصول النموذج التأسيسي (FM) للمطورين لإنشاء وتوسيع نطاق التطبيقات المستندة إلى الذكاء الاصطناعي لمركز الاتصال الحديث. FMs التي تقدمها Amazon Bedrock، مثل أمازون تيتان و كلود الأنثروبي، تم تدريبهم مسبقًا على مجموعات البيانات على نطاق الإنترنت مما يمنحهم إمكانات قوية في التعامل مع اللغات الطبيعية مثل تصنيف الجمل والسؤال والجواب والفهم الدلالي المحسن على الرغم من أخطاء التعرف على الكلام.

في هذا المنشور، نستكشف حلاً يستخدم FMs التي تقدمها Amazon Bedrock لتعزيز التعرف على نوايا Amazon Lex المتكامل مع Amazon Connect، مما يوفر في النهاية تجربة خدمة ذاتية محسنة لعملائك.

نظرة عامة على الحل

يستخدم الحل أمازون كونيكت, أمازون ليكس , AWS لامداو أمازون بيدروك في الخطوات التالية:

  1. يتكامل تدفق جهات اتصال Amazon Connect مع روبوت Amazon Lex عبر GetCustomerInput منع.
  2. عندما يفشل الروبوت في التعرف على نية المتصل ويختار النية الاحتياطية بشكل افتراضي، يتم تشغيل وظيفة Lambda.
  3. تأخذ وظيفة Lambda نص كلام العميل وتمريره إلى النموذج الأساسي في Amazon Bedrock
  4. وباستخدام قدرات اللغة الطبيعية المتقدمة، يحدد النموذج نية المتصل.
  5. تقوم وظيفة Lambda بعد ذلك بتوجيه الروبوت لتوجيه المكالمة إلى الهدف الصحيح للتنفيذ.

باستخدام نماذج مؤسسة Amazon Bedrock، يمكّن الحل روبوت Amazon Lex من فهم المقاصد على الرغم من أخطاء التعرف على الكلام. وينتج عن ذلك توجيه وتنفيذ سلس، مما يمنع التصعيد إلى الوكلاء والتكرار المحبط للمتصلين.

يوضح الرسم البياني التالي بنية الحل وسير العمل.

وفي الأقسام التالية، سنلقي نظرة على المكونات الرئيسية للحل بمزيد من التفصيل.

وظائف Lambda وإطار عمل LangChain

عندما يستدعي روبوت Amazon Lex وظيفة Lambda، فإنه يرسل رسالة حدث تحتوي على معلومات الروبوت ونسخ الكلام من المتصل. باستخدام رسالة الحدث هذه، تقوم وظيفة Lambda ديناميكيًا باسترداد الأغراض التي تم تكوينها للروبوت ووصف الغرض وعبارات الغرض وإنشاء مطالبة باستخدام لانجشينوهو إطار عمل مفتوح المصدر للتعلم الآلي (ML) يمكّن المطورين من دمج نماذج اللغات الكبيرة (LLMs) ومصادر البيانات والتطبيقات.

يتم بعد ذلك استدعاء نموذج مؤسسة Amazon Bedrock باستخدام الموجه ويتم تلقي الاستجابة بمستوى النية والثقة المتوقع. إذا كان مستوى الثقة أكبر من الحد المحدد، على سبيل المثال 80%، فإن الوظيفة ترجع النية المحددة إلى Amazon Lex مع إجراء مندوب. إذا كان مستوى الثقة أقل من الحد الأدنى، فإنه يعود إلى الوضع الافتراضي FallbackIntent وإجراءات لإغلاقه.

التعلم في السياق، والهندسة السريعة، واستدعاء النماذج

نحن نستخدم التعلم في السياق لنكون قادرين على استخدام النموذج الأساسي لإنجاز هذه المهمة. التعلم في السياق هو قدرة طلاب LLM على تعلم المهمة باستخدام ما هو موجود في الموجه فقط دون تدريب مسبق أو ضبط دقيق لمهمة معينة.

في الموجه، نقدم أولاً التعليمات التي توضح بالتفصيل ما يجب القيام به. بعد ذلك، تقوم وظيفة Lambda ديناميكيًا باسترداد وإدراج المقاصد التي تم تكوينها لروبوت Amazon Lex وأوصاف الأغراض وعبارات النوايا في الموجه. وأخيراً نقدم له تعليمات حول كيفية إخراج تفكيره والنتيجة النهائية.

تم اختبار قالب المطالبة التالي على نماذج إنشاء النص Anthropic Claude Instant v1.2 وAnthropic Claude v2. نحن نستخدم علامات XML لتحسين أداء النموذج بشكل أفضل. نضيف أيضًا مساحة للنموذج للتفكير قبل تحديد النية النهائية لتحسين أسباب اختيار النية الصحيحة بشكل أفضل. ال {intent_block} يحتوي على معرفات النوايا وأوصاف النوايا وألفاظ النوايا. ال {input} تحتوي الكتلة على الكلام المكتوب من المتصل. تتم إضافة ثلاث علامات خلفية ("`) في النهاية لمساعدة النموذج على إخراج كتلة التعليمات البرمجية بشكل أكثر اتساقًا. أ <STOP> تتم إضافة التسلسل لمنعه من التوليد أكثر.

"""
Human: You are a call center agent. You try to understand the intent given an utterance from the caller.

The available intents are as follows, the intent of the caller is highly likely to be one of these.
<intents>
{intents_block} </intents>
The output format is:
<thinking>
</thinking>

<output>
{{
     "intent_id": intent_id,
     "confidence": confidence
}}
</output><STOP>

For the given utterance, you try to categorize the intent of the caller to be one of the intents in <intents></intents> tags.
If it does not match any intents or the utterance is blank, respond with FALLBCKINT and confidence of 1.0.
Respond with the intent name and confidence between 0.0 and 1.0.
Put your thinking in <thinking></thinking> tags before deciding on the intent.

Utterance: {input}

Assistant: ```"""

بعد استدعاء النموذج، نتلقى الاستجابة التالية من النموذج الأساسي:

<thinking>
The given utterance is asking for checking where their shipment is. It matches the intent order status.
</thinking>

{
    "intent": "ORDERSTATUSID",
    "confidence": 1.0
}
```

قم بتصفية الأغراض المتاحة بناءً على سمات جلسة تدفق جهات الاتصال

عند استخدام الحل كجزء من تدفق جهات اتصال Amazon Connect، يمكنك تعزيز قدرة LLM على تحديد الهدف الصحيح من خلال تحديد سمة الجلسة available_intents في ال "الحصول على مدخلات العملاء" كتلة مع قائمة نوايا مفصولة بفواصل، كما هو موضح في الصورة التالية. ومن خلال القيام بذلك، ستتضمن وظيفة Lambda هذه المقاصد المحددة فقط كجزء من المطالبة إلى LLM، مما يقلل من عدد المقاصد التي يتعين على LLM التفكير من خلالها. إذا available_intents لم يتم تحديد سمة الجلسة، وسيتم استخدام جميع الأغراض في روبوت Amazon Lex بشكل افتراضي.

استجابة وظيفة Lambda لـ Amazon Lex

بعد أن يحدد LLM النية، تستجيب وظيفة Lambda في شكل محدد المطلوبة من قبل Amazon Lex لمعالجة الرد.

إذا تم العثور على نية مطابقة أعلى من حد الثقة، فسيتم إرجاع نوع إجراء الحوار Delegate لتوجيه Amazon Lex لاستخدام الهدف المحدد ومن ثم إرجاع الهدف المكتمل مرة أخرى إلى Amazon Connect. مخرجات الرد هي كما يلي:

{
    "sessionState": {
        "dialogAction": {
        "type": "Delegate"
        },
        "intent": {
        "name": intent,
        "state": "InProgress",
        }
    }
}

إذا كان مستوى الثقة أقل من الحد أو لم يتم التعرف على القصد، نوع إجراء الحوار اغلاق يتم إرجاعه لتوجيه Amazon Lex لإغلاق FallbackIntent، وأعد التحكم مرة أخرى إلى Amazon Connect. مخرجات الرد هي كما يلي:

{
    "sessionState": {
        "dialogAction": {
        "type": "Close"
        },
        "intent": {
        "name": intent,
        "state": "Fulfilled",
        }
    }
}

الكود المصدري الكامل لهذه العينة متاح في GitHub جيثب:.

المتطلبات الأساسية المسبقة

قبل أن تبدأ ، تأكد من توفر المتطلبات الأساسية التالية لديك:

تنفيذ الحل

لتنفيذ الحل ، أكمل الخطوات التالية:

  1. استنساخ المستودع
    git clone https://github.com/aws-samples/amazon-connect-with-amazon-lex-genai-capabilities
    cd amazon-connect-with-amazon-lex-genai-capabilities

  2. قم بتشغيل الأمر التالي لتهيئة البيئة وإنشاء ملف سجل الأمازون المرنة للحاويات مستودع (Amazon ECR) لصورة وظيفة Lambda الخاصة بنا. قم بتوفير اسم مستودع منطقة AWS وECR الذي ترغب في إنشائه.
    bash ./scripts/build.sh region-name repository-name

  3. تحديث ParameterValue الحقول في scripts/parameters.json ملف:
    • ParameterKey ("AmazonECRImageUri") – أدخل عنوان URL للمستودع من الخطوة السابقة.
    • ParameterKey ("AmazonConnectName") - أدخل اسمًا فريدًا.
    • ParameterKey ("AmazonLexBotName") - أدخل اسمًا فريدًا.
    • ParameterKey ("AmazonLexBotAliasName") - الإعداد الافتراضي هو "prodversion"؛ يمكنك تغييره إذا لزم الأمر.
    • ParameterKey ("LoggingLevel") - الإعداد الافتراضي هو "INFO"؛ يمكنك تغييره إذا لزم الأمر. القيم الصالحة هي DEBUG وWARN وERROR.
    • ParameterKey ("ModelID") - الإعداد الافتراضي هو "anthropic.clude-instant-v1"؛ يمكنك تغييره إذا كنت بحاجة إلى استخدام نموذج مختلف.
    • ParameterKey ("AmazonConnectName") - الافتراضي هو "0.75"؛ يمكنك تغييره إذا كنت بحاجة إلى تحديث درجة الثقة.
  4. قم بتشغيل الأمر لإنشاء مكدس CloudFormation ونشر الموارد:
    bash ./scripts/deploy.sh region cfn-stack-name

إذا كنت لا ترغب في إنشاء تدفق جهات الاتصال من البداية في Amazon Connect، فيمكنك استيراد نموذج التدفق المقدم مع هذا المستودع filelocation: /contactflowsample/samplecontactflow.json.

  1. تسجيل الدخول إلى الخاص بك مثيل Amazon Connect. يجب أن يتم تعيين ملف تعريف أمان للحساب يتضمن أذونات التحرير للتدفقات.
  2. على وحدة تحكم Amazon Connect، في جزء التنقل، أسفل التوجيه، اختر تدفقات الاتصال.
  3. قم بإنشاء تدفق جديد من نفس النوع الذي تقوم باستيراده.
  4. اختار حفظ واستيراد التدفق.
  5. حدد الملف المراد استيراده واختياره استيراد.

عندما يتم استيراد التدفق إلى تدفق موجود، يتم تحديث اسم التدفق الموجود أيضًا.

  1. قم بمراجعة وتحديث أي مراجع تم حلها أو لم يتم حلها حسب الضرورة.
  2. لحفظ التدفق المستورد، اختر حفظ. للنشر، اختر احفظ وانشر.
  3. بعد تحميل تدفق جهة الاتصال، قم بتحديث التكوينات التالية:
    • تحديث GetCustomerInput الكتل التي تحتوي على اسم وإصدار روبوت Amazon Lex الصحيح.
    • ضمن إدارة رقم الهاتف، قم بتحديث الرقم بتدفق جهة الاتصال أو الرد الصوتي التفاعلي (IVR) الذي تم استيراده مسبقًا.

تحقق من التكوين

تأكد من أن وظيفة Lambda التي تم إنشاؤها باستخدام مكدس CloudFormation لها دور IAM مع أذونات لاسترداد الروبوتات ومعلومات الهدف من Amazon Lex (أذونات القائمة والقراءة)، وأذونات Amazon Bedrock المناسبة (أذونات القائمة والقراءة).

في روبوت Amazon Lex الخاص بك، بالنسبة للاسم المستعار واللغة التي تم تكوينها، تأكد من إعداد وظيفة Lambda بشكل صحيح. ل FallBackIntent، تأكيد ذلك Fulfillmentis تعيين إلى Active لتتمكن من تشغيل الوظيفة كلما FallBackIntent يتم تشغيل.

في هذه المرحلة، سيقوم روبوت Amazon Lex بتشغيل وظيفة Lambda تلقائيًا ويجب أن يعمل الحل بسلاسة.

اختبر المحلول

دعونا نلقي نظرة على نموذج الهدف والوصف وتكوين الكلام في Amazon Lex ونرى مدى جودة أداء LLM مع نماذج المدخلات التي تحتوي على أخطاء مطبعية وأخطاء نحوية وحتى لغة مختلفة.

يوضح الشكل التالي لقطات شاشة لمثالنا. يعرض الجانب الأيسر اسم الهدف ووصفه ونموذج الكلام المكون من كلمة واحدة. بدون الكثير من التكوين في Amazon Lex، يستطيع LLM التنبؤ بالقصد الصحيح (الجانب الأيمن). في هذا الاختبار، لدينا رسالة إنجاز بسيطة من النية الصحيحة.

تنظيف

لتنظيف مواردك، قم بتشغيل الأمر التالي لحذف مستودع ECR ومكدس CloudFormation:

bash ./scripts/cleanup.sh region repository-name cfn-stack-name

وفي الختام

باستخدام Amazon Lex المعزز ببرامج LLM المقدمة من Amazon Bedrock، يمكنك تحسين أداء التعرف على النوايا لروبوتاتك. وهذا يوفر تجربة خدمة ذاتية سلسة لمجموعة متنوعة من العملاء، مما يسد الفجوة بين اللهجات وخصائص الكلام الفريدة، ويعزز في نهاية المطاف رضا العملاء.

للتعمق أكثر ومعرفة المزيد حول الذكاء الاصطناعي التوليدي، راجع هذه الموارد الإضافية:

لمزيد من المعلومات حول كيفية تجربة حل الخدمة الذاتية المولد بالذكاء الاصطناعي، راجع انشر الإجابة على أسئلة الخدمة الذاتية باستخدام حل QnABot on AWS المدعوم من Amazon Lex مع Amazon Kendra ونماذج اللغات الكبيرة.


حول المؤلف

حمزة نديم هو مهندس حلول متخصص في Amazon Connect في AWS، ومقره في تورونتو. إنه يعمل مع العملاء في جميع أنحاء كندا لتحديث مراكز الاتصال الخاصة بهم وتقديم حلول لتحديات مشاركة العملاء الفريدة ومتطلبات العمل. في أوقات فراغه، يستمتع حمزة بالسفر وكرة القدم وتجربة وصفات جديدة مع زوجته.

باراج سريفاستافا هو مهندس الحلول في Amazon Web Services (AWS)، حيث يساعد عملاء المؤسسات في اعتماد السحابة وترحيلها بنجاح. خلال حياته المهنية، شارك على نطاق واسع في مشاريع التحول الرقمي المعقدة. وهو أيضًا متحمس لبناء حلول مبتكرة حول الجوانب الجغرافية المكانية للعناوين.

روس للأسف هو مهندس الحلول في AWS ومقرها في تورونتو، كندا. إنه يساعد العملاء على الابتكار باستخدام حلول الذكاء الاصطناعي/التعلم الآلي والذكاء الاصطناعي التوليدي التي تؤدي إلى نتائج أعمال حقيقية. لقد عمل مع مجموعة متنوعة من العملاء من البيع بالتجزئة والخدمات المالية والتكنولوجيا والأدوية وغيرها. وفي أوقات فراغه، يحب الهواء الطلق والاستمتاع بالطبيعة مع عائلته.

سانجيثا كاماتكار هو مهندس الحلول في Amazon Web Services (AWS)، حيث يساعد العملاء في اعتماد السحابة وترحيلها بنجاح. إنها تعمل مع العملاء لصياغة بنيات سحابية قابلة للتطوير ومرنة ومرنة للغاية لمعالجة مشكلات أعمال العملاء. تستمع في أوقات فراغها إلى الموسيقى وتشاهد الأفلام وتستمتع بأعمال البستنة خلال فصل الصيف.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة