סיכום עם חלקים בהתאמה אישית

סיכום עם חלקים בהתאמה אישית משתמש במודל שפה גדול (LLM) כדי לסכם שיחות עם שירות הלקוחות. המודל מקבל את השיחות ואת החלקים בהתאמה אישית, שהם חלקים של הנחיות טקסט שמגדירות את המשימה שהמודל מבצע, ואז יוצר את הסיכומים.

אתם יכולים לבחור קטעים מוגדרים מראש ולכתוב הגדרות משלכם למשימות סיכום בקטעים בהתאמה אישית.

אפשר למצוא את האזורים הזמינים במאמר אזורים גיאוגרפיים לאחסון נתונים.

קטעים מוגדרים מראש

התכונה הזו כוללת שש קטעים מוגדרים מראש, שמהם אפשר לבחור:

  • נסיבות: מה הלקוח צריך עזרה לגביו או מהן השאלות שלו. מומלץ להשתמש באפשרות להתאמה אישית של סיכום קצר.

  • פעולה: מוגדרת כפעולה שהסוכן מבצע כדי לעזור ללקוח. מומלץ להשתמש באפשרות להתאמה אישית של סיכום קצר.

  • פתרון: יש ארבע אפשרויות.

    • Y: Yes. כל הבעיות והשאילתות של הלקוח נפתרו.
    • ‫P: חלקי. רק חלק מהבעיות והשאילתות של כמה לקוחות נפתרו.
    • ‫N: לא. אף אחת מהבעיות והשאילתות של הלקוחות לא נפתרה.
    • לא רלוונטי: הלקוח לא העלה בשיחה בעיות או שאילתות ספציפיות.
  • שביעות רצון הלקוחות: האפשרויות הן 'לא מרוצה' או 'מרוצה'.

    • ד': הלקוח לא מרוצה או שיש לו רגשות שליליים בסוף השיחה.
    • N: הלקוח ניטרלי או שיש לו תחושות חיוביות בסוף השיחה.
  • סיבת הביטול: סיבת הביטול אם הלקוח מבקש לבטל את המינוי. אחרת, הערך הוא N/A.

  • ישויות: צמדי מפתח/ערך של ישויות חשובות שחולצו מהשיחה.

יצירת כלי ליצירת סיכומים

המסוף

כדי ליצור מחולל סיכומים באמצעות מסוף Agent Assist:

  1. במסוף, עוברים לדף Summarization ובוחרים באפשרות Generator.

    לסיכום

  2. מזינים את שם הגנרטור.

  3. בוחרים את גרסת הגנרטור.

  4. בוחרים את שפת הפלט.

  5. בוחרים את הקטעים בקטע קטעים מוגדרים מראש.

  6. מוסיפים קטעים חדשים בקטע קטעים בהתאמה אישית: מגדירים משימות חדשות של סיכום לפי הצורך, ואפשר גם להוסיף דוגמאות של למידה עם הקשר מועט כדי לשפר את הסיכום.

  7. לוחצים על Save.

REST

כדי ליצור מחולל סיכומים באמצעות ה-API:

  1. מבצעים קריאה ל-CreateGenerator מהמשאב Generator.

  2. מזינים את שם הגנרטור בשדה description.

  3. מזינים את קוד שפת הפלט של הגנרטור בשדה output_language_code.

  4. מזינים את האירוע המפעיל MANUAL_CALL.

  5. בוחרים קטעים מוגדרים מראש ומוסיפים קטעים בהתאמה אישית עם דוגמאות של למידה עם הקשר מועט ב-SummarizationContext.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators

תוכן בקשת JSON:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID",
  "description": "test",
  "triggerEvent": "MANUAL_CALL",
  "summarizationContext": {
    "summarizationSections": [{
      "type": "SITUATION"
    }, {
      "type": "ENTITIES"
    }, {
      "key": "custom_section",
      "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.",
      "type": "CUSTOMER_DEFINED"
    }],
    "version": "2.1",
    "outputLanguageCode": "en-US"
  }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID",
  "description": "test",
  "inferenceParameter": {
    "maxOutputTokens": 1024,
    "temperature": 0.0,
    "topK": 40,
    "topP": 0.8
  },
  "triggerEvent": "MANUAL_CALL",
  "createTime": "2024-05-11T00:28:14.790937126Z",
  "updateTime": "2024-05-11T01:59:15.751724150Z",
  "summarizationContext": {
    "summarizationSections": [{
      "type": "SITUATION"
    }, {
      "type": "ENTITIES"
    }, {
      "key": "custom_section",
      "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.",
      "type": "CUSTOMER_DEFINED"
    }],
    "version": "2.1",
    "outputLanguageCode": "en-US"
  }
}

בדיקה של מחולל סיכומים

במסוף, אפשר לבדוק את הגנרטור בקטע Test generator, כמו שמוצג בתמונה הבאה.

כדי לבדוק גנרטור במסוף:

המסוף

  1. תמליל של השיחה. אפשר להזין את האמירות באופן ידני או להעלות תמליל בפורמט JSON, כמו שמוצג בתמונה הבאה.

  2. לוחצים על יצירה כדי להציג את הסיכום.

הגדרת פרופיל שיחה

פרופיל שיחה מגדיר קבוצה של פרמטרים ששולטים בהצעות שמוצגות לסוכן במהלך שיחה. בשלבים הבאים יוצרים ConversationProfile עם אובייקט HumanAgentAssistantConfig.

בדוגמאות הבאות מוסבר איך ליצור פרופיל שיחה.

המסוף

  1. במסוף Agent Assist, עוברים לדף Conversation profiles.

  2. מזינים את השם המוצג.

  3. בוחרים באפשרות סיכום שיחה (גנרטור) כסוג ההצעה.

  4. בוחרים את שם הגנרטור מהרשימה.

REST

  1. מבצעים קריאה ל-create method מ-conversation profile resource.

  2. נותנים שם לפרופיל השיחה החדש.

  3. מזינים את קוד השפה.

  4. מזינים את שם הגנרטור ב-human_agent_suggestion_config.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום
  • CONVERSATION_PROFILE_ID: מזהה פרופיל השיחה
  • GENERATOR_ID: מזהה הגנרטור

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles

תוכן בקשת JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "conversation-profile-with-generator",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID"
    }
  },
  "languageCode": "en-US"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "conversation-profile-with-generator",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID"
    }
  },
  "languageCode": "en-US"
}

אימות באמצעות הסימולטור

אפשר לאמת את פרופיל השיחה בסימולטור של Agent Assist.

שיחות בזמן ריצה

בזמן הריצה, כשמתחילה שיחה בין משתמש לבין נציג, נוצר סשן שיחה, שהוא אינטראקציה בין נציג (אנושי או וירטואלי) לבין לקוח או משתמש שזקוק לתמיכה. כדי לראות הצעות, צריך ליצור משתמש-משתתף וסוכן-משתתף ולהוסיף אותם לשיחה.

יצירת שיחה

כדי ליצור שיחה, מבצעים קריאה ל-method‏ create במשאב Conversation.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום
  • CONVERSATION_PROFILE_ID: המזהה שקיבלתם כשנוצר פרופיל השיחה

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations

תוכן בקשת JSON:

{
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "IN_PROGRESS",
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z"
}

פלח הנתיב אחרי conversations מכיל את מזהה השיחה החדש.

יצירת משתמש-משתתף

כדי ליצור משתמש-משתתף, צריך להפעיל את method‏ create במשאב Participant. מזינים את מזהה השיחה ואת END_USER בשדה role.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום
  • CONVERSATION_ID: מזהה השיחה

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

תוכן בקשת JSON:

{
  "role": "END_USER",
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

פלח הנתיב אחרי participants מכיל את מזהה המשתתף החדש שלכם.

יצירת משתתף-סוכן

מבצעים קריאה ל-create במשאב Participant. מזינים את מזהה השיחה ואת HUMAN_AGENT או AUTOMATED_AGENT בשדה role.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום
  • CONVERSATION_ID: מזהה השיחה

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

תוכן בקשת JSON:

{
  "role": "HUMAN_AGENT",
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "HUMAN_AGENT"
}

פלח הנתיב אחרי participants מכיל את המזהה החדש של הסוכן-משתתף.

ניתוח ההודעה

יש שתי דרכים לנתח הודעות:

  • במהלך שיחה. כדי להוסיף הודעה של סוכן לשיחה ולנתח אותה, צריך לבצע קריאה ל-method‏ analyzeContent במשאב Participant. צריך לספק את מזהה השיחה ואת מזהה המשתתף שהוא סוכן. כדי להוסיף ולנתח הודעה של משתמש בשיחה, צריך להפעיל את method‏ analyzeContent במשאב Participant. מציינים את מזהה השיחה ואת מזהה המשתתף. אל תבצעו שיחות כפולות אל שיטת analyzeContent אם היא נקראה עבור תכונות אחרות של Dialogflow.

  • אחרי שיחה. אפשר להשתמש באפשרות הזו אם לא משתמשים בשיטה analyzeContent במהלך השיחה. במקום זאת, אפשר להשתמש בשיטה batchCreate במשאב messages כדי להטמיע היסטוריית הודעות של השיחה.

יצירת סיכום

בכל שלב תוכלו לקבל הצעה להודעה האחרונה מכל אחד מהמשתתפים.

  • מבצעים קריאה ל-method‏ suggestConversationSummary במשאב conversations.suggestions. צריך לציין את מזהה השיחה ואת מזהה ההודעה האחרונה של אחד מהמשתתפים.

  • מבצעים קריאה ל-generateStatelessSuggestion. מציינים את ConversationContext, את שם הגנרטור ואת אירוע הטריגר, שצריך להיות MANUAL_CALL.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן
  • LOCATION_ID: מזהה המיקום
  • GENERATOR_ID: מזהה הגנרטור

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate

תוכן בקשת JSON:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID",
  "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID",
  "conversationContext" {
    "messageEntries": [{
      "role": "HUMAN_AGENT",
      "text": "Hi, this is ABC messaging, how can I help you today?",
      "languageCode": "en-US"
    }, {
      "role": "END_USER",
      "text": "I want to return my order, it is broken",
      "languageCode": "en-US"
    }]
  },
  "triggerEvents": [
    "MANUAL_CALL"
  ]
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "generatorSuggestion": {
    "summarySuggestion": {
      "summarySections": [
        {
          "section": "situation",
          "summary": "customer wants to return an order."
        },
        {
          "section": "resolution",
          "summary": "N"
        }
      ]
    }
  }
}

התשובה תכיל את הסיכום.

השלמת השיחה

כדי לסיים את השיחה, מבצעים קריאה ל-method‏ complete במשאב conversations. צריך לציין את מזהה השיחה.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט ב-GCP
  • CONVERSATION_ID: המזהה שקיבלתם כשפתחתם את השיחה

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "COMPLETED",
  "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z",
  "endTime": "2018-11-06T03:50:26.930Z"
}