קבלת החלטות מושכלות באמצעות מאגרי נתונים ומחוללים של Dialogflow CX

1. סקירה כללית

העדכון האחרון: 10 באוקטובר 2023

מה תפַתחו

ב-Codelab הזה תשתמשו בשיחות מבוססות-Vertex AI וב-Dialogflow CX כדי ליצור, לפרוס ולהגדיר נציג וירטואלי שיעזור לאנשים שרוצים לתרום דם, ויוודא שהם עומדים בדרישות הסף הנדרשות. הסוכן ישתמש בנתונים ציבוריים אמיתיים ובמודלים גדולים של שפה (LLM) גנרטיביים של Google במהלך מילוי הבקשה ב-Dialogflow CX.

באילו תכונות תשתמשו

כדי להשלים את ה-codelab, תצטרכו להגדיר ולהשתמש בשלוש תכונות שונות:

סוכני מאגרי נתונים

התכונה שיחות מבוססות-Vertex AI יוצרת סוכן Dialogflow מיוחד שנקרא סוכן מאגר נתונים.

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

גנרטורים

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

מענה גנרטיבי כגיבוי

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

מה תלמדו

  • איך יוצרים סוכן מאגר נתונים מנתונים לא מובנים
  • איך משתמשים ב-Knowledge Handlers כדי לאפשר למשתמשי קצה לנהל שיחות עם נציג וירטואלי על התוכן שנוסף למאגר נתונים.
  • איך מגדירים הנחיית טקסט לגנרטור ומוסיפים לה הקשר באמצעות ערכי פלייסהולדר מובנים להנחיות לגנרטור.
  • איך מסמנים מילים כפלייסולדרים של הנחיות לגנרטור, ואחר כך משייכים אותן לפרמטרים של סשן בתהליך מילוי הבקשה כדי להשתמש בערכים שלהן במהלך ההפעלה.
  • איך מגדירים גנרטור לטיפול בתשובות שכוללות ידע ממערך נתונים גדול של טקסט והקשר מהשיחה הנוכחית.
  • איך יוצרים אימייל רשמי באמצעות מחוללים
  • איך בודקים את הסוכן ומדמים שאלות של לקוחות שמפעילות תשובות שנוצרו על ידי AI

הדרישות

  • פרויקט ב-Google Cloud
  • דפדפן כמו Chrome

2. הפעלת ממשקי ה-API

כדי ליצור סוכן מאגר נתונים ב-Vertex AI Conversation, צריך להפעיל את Dialogflow ואת ממשקי ה-API של חיפוש ושיחות על בסיס Vertex AI.

כדי להפעיל את Dialogflow API, פועלים לפי השלבים הבאים:

  1. בדפדפן, עוברים אל דף הפרטים של שירות Dialogflow API.
  2. לוחצים על הלחצן Enable כדי להפעיל את Dialogflow API בפרויקט בענן ב-Google Cloud.

כדי להפעיל את חיפוש ושיחות על בסיס Vertex AI API, פועלים לפי השלבים הבאים:

  1. במסוף Google Cloud, עוברים אל מסוף החיפוש והשיחות על בסיס Vertex AI.
  2. קוראים את התנאים וההגבלות ומאשרים אותם, ואז לוחצים על המשך והפעלת ה-API.

3. יצירת אפליקציית צ'אט חדשה ומאגר נתונים לאפליקציה

עכשיו יוצרים אפליקציית צ'אט חדשה לנציג הווירטואלי ומגדירים אותה עם מקור נתונים. המטרה של הסוכן שתבנו היא לעזור ללקוחות שיש להם שאלות לגבי הזכאות לתרומת דם. תשתמשו ב-Australian Red Cross Lifeblood כמקור אמין ותיצרו מאגר נתונים על סמך נתונים לא מובְנים מאתר ההתאמה לסוג הדם.

  1. כדי ליצור אפליקציית צ'אט חדשה בשיחות מבוססות-Vertex AI, אפשר:
    1. עוברים אל מסוף שיחות מבוססות-Vertex AI ולוחצים על +אפליקציה חדשה בחלק העליון של המסוף.
    2. עוברים אל מסוף Dialogflow CX, לוחצים על +יצירת סוכן חדש, בוחרים באפשרות יצירה אוטומטית ואז מועברים לשלב הבא במסוף שיחות מבוססות-Vertex AI.
  2. במסוף של שיחות מבוססות-Vertex AI, בוחרים באפשרות צ'אט כסוג האפליקציה שרוצים ליצור.
  3. מזינים שם חברה של Save a Life. הפרמטר הזה משמש להגדרת החברה שהסוכן מייצג וההיקף של הסוכן.
  4. מציינים שם של נציג תמיכה של Blood Donation Agent.
  5. לוחצים על המשך.
  6. לוחצים על יצירת מאגר נתונים חדש.
  7. בוחרים באפשרות Cloud Storage כמקור הנתונים של מאגר הנתונים.
  8. מציינים את התיקייה ב-Google Cloud Storage שמכילה נתונים לדוגמה בשביל ה-codelab הזה, ושימו לב שלא צריך להוסיף את הקידומת gs://:
    cloud-samples-data/dialogflow-cx/arc-lifeblood
    
  9. בוחרים באפשרות מסמכים לא מובנים כסוג הנתונים שמייבאים.
  10. לוחצים על המשך.
  11. מציינים שם של מאגר נתונים של Australian Red Cross Lifeblood Unstructured.
  12. לוחצים על יצירה כדי ליצור את מאגר הנתונים.
  13. ברשימת מאגרי הנתונים, בוחרים את Australian Red Cross Lifeblood Unstructured שנוצר.
  14. לוחצים על יצירה כדי ליצור את אפליקציית הצ'אט.

מעולה! סיימתם ליצור אפליקציית צ'אט מבוססת-ידע שמוכנה לעזור לתורמים פוטנציאליים, אז כדאי לקחת רגע לחגוג!

אבל עדיין יש עוד עבודה לעשות כדי להנגיש את הסוכן למשתמשים. בקטע הבא, תשתמשו ב-Knowledge Handler כדי לאפשר שיחות בין הנציג לבין משתמשי קצה בנוגע לדרישות הסף.

4. הגדרת הסוכן כך שיענה על שאלות נפוצות לגבי כשירות לתרומת דם

הזנת הנחיה לציון תאריך

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

  1. ממסוף שיחות מבוססות-Vertex AI, לוחצים על השם של אפליקציית הצ'אט. תועברו למסוף Dialogflow CX כדי להמשיך בבדיקה ולהתאים אישית את האפליקציה.
  2. במסוף Dialogflow CX, בתוך הסוכן, לוחצים על Agent settings (הגדרות הסוכן) בפינה השמאלית העליונה של הדף, עוברים לכרטיסייה ML (למידת מכונה) ואז פותחים את הכרטיסייה Generative AI (AI גנרטיבי).

מעבר להנחיה של מאגר הנתונים

  1. ממלאים את הטופס שלמטה כדי ליצור את ההנחיה הבאה למאגר הנתונים: השם שלך הוא Donate, ואתה chatbot מועיל ואדיב ב-Save a life, a fictitious organization. המשימה שלך היא לעזור ל-humans with eligibility information.

ממלאים את הטופס כדי ליצור את ההנחיה

הפעלת מענה גנרטיבי כגיבוי לאירוע 'ללא התאמה' בתהליך ההתחלה שמוגדר כברירת מחדל

  1. עוברים לכרטיסייה Build ופותחים את Start Page.
  2. לוחצים על גורם מטפל באירועים sys.no-match-default. אם התיבה לא מסומנת, צריך לסמן אותה כדי להפעיל את התכונה של מענה גנרטיבי כגיבוי.

הפעלת מענה גנרטיבי כגיבוי במקרה של אי התאמה בתהליך

בדיקה של מאגר הנתונים של הנציג

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

עריכת מאגרי נתונים

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

משייכים את מאגר הנתונים שיצרתם

גוללים למטה אל Agent Responses (תשובות של סוכן) בקטע Fulfillment (השלמת בקשה). מילוי בקשה הוא התשובה של הסוכן למשתמש הקצה. ב-Dialogflow, השדה Agent says מאוכלס מראש בפרמטר $request.knowledge.answers[0], שבזמן הריצה מכיל את התשובה הכי טובה לשאלה של המשתמש.

התשובה של הנציג מכילה את התשובה הכי טובה לשאלה של המשתמש

5. בדיקת הנציג

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

לוחצים על Test Agent (סוכן בדיקה) כדי לפתוח שוב את הסימולטור.

בדיקה חוזרת של הסוכן

לשאול שאלות שאתם מצפים למצוא בדף השאלות הנפוצות של האתר:

  • What age do I need to be to donate?
  • Can pregnant women donate?
  • I've just come back from a trip to Africa. Can I donate?
  • How can I schedule an appointment?

איך בודקים שהתשובות מגיעות ממאגר הידע

שימו לב שהתשובות נלקחות מהאתר של Australian Red Cross Lifeblood. כמו שכתוב בדף הזה, יש גיל מינימלי ומקסימלי לתרומת דם. הגיל המינימלי הוא 18 והגיל המקסימלי הוא 75 לתורמים בפעם הראשונה. הוכחה נוספת לכך שאנחנו שולפים מידע ממאגר הנתונים היא סמל הכוכב הקטן שמופיע בתשובת הסוכן ובתשובת ה-JSON המקורית.

בדיקת תגובת ה-JSON המקורית

לבסוף, ננסה לאתגר את הסוכן עם שאלה שלא קשורה בכלל לתרומת דם.

משתמש: "What's the weather like in Melbourne?‎" (מה מזג האוויר במלבורן?)

נציג: "סליחה, אין לי אפשרות לעזור לך בעניין הזה. איך אוכל לעזור לך בנוגע למידע על זכאות?"

התשובה הזו כוללת תוכן שנוצר על ידי AI, והיא מבוססת על הנחיית הטקסט שנוצרה על ידי Dialogflow החל מהגדרת מחבר הידע שסופקה קודם: "שמך הוא Donate, ואתה צ'אטבוט מועיל ואדיב ב-Save a Life. המשימה שלך היא לעזור לאנשים לקבל מידע על זכאות". ההנחיה הטקסטואלית הזו מכילה את שם החברה, את שם הנציג והכי חשוב את מה שנכלל בהיקף שלו, ו-Dialogflow משתמש בה כדי ליצור את התשובה של הנציג.

כל הכבוד! עד עכשיו השתמשת במאגר הנתונים כדי לעזור לאנשים עם שאלות נפוצות שקשורות לתרומת דם. בחלק הבא של ה-codelab נראה איך לקשר הנחיה ליצירת טקסט גנרטיבי לאותו תוכן כדי לקבל החלטות מושכלות.

6. הגדרת הסוכן לחידון לבדיקת זכאות

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

הגדרת מסלולים ופרמטרים חדשים

  1. פותחים את דף הפתיחה ולוחצים על עריכת מאגרי נתונים.
  2. לשנות את התשובה הקיימת של הנציג ל-$request.knowledge.answers[0] Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives?.

הוספת פרטים לתשובה של הנציג לשאלות הנפוצות של המשתמש

  1. לוחצים על הלחצן שמירה.
  2. עכשיו צריך לתכנן את הסוכן כך שיטפל בתשובות 'כן' ו'לא'. קודם כל, יוצרים כוונת confirmation.yes וכוונה confirmation.no. חשוב לפעול לפי ההנחיות האלה לגבי שימוש חוזר בכוונה.
  3. לאחר מכן, בדף Start Page (דף הפתיחה), יוצרים נתיב למטרה confirmation.yes (אישור חיובי) שמוביל לדף חדש Eligibility Quiz (חידון בנושא זכאות).

יצירת מסלול לכוונה confirmation.yes

כשמופעלת ההגדרה confirmation.yes, המערכת עוברת לדף חדש של חידון לבדיקת עמידה בדרישות.

  1. כמו שציינו קודם, נפשט את החידון ונשתמש רק בגיל ובמשקל של המשתמש כדי לקבוע אם הוא עומד בדרישות לתרומת דם. פותחים את הדף Eligibility Quiz (בוחן הזכאות) ומוסיפים פרמטר חדש לטופס age-weight (משקל לפי גיל), בוחרים באפשרות @sys.any כסוג הישות. תספק את "What is your age and weight?" כפרומפט הראשוני. אנחנו רוצים לאסוף את הגיל והמשקל בבת אחת. שומרים את כל השינויים.

יצירת פרמטר

יצירה והגדרה של מחולל הזכאות

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

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

  1. במסוף Dialogflow CX, עוברים לכרטיסייה ניהול, בוחרים באפשרות גנרטורים ולוחצים על יצירת גנרטור חדש.

יצירת גנרטור חדש

  1. בשלב הבא, מזינים שם תצוגה תיאורי וכותבים את הנחיית הטקסט. משאירים את הגדרות ברירת המחדל של בקרת איכות המודל. אחר כך לוחצים על שמירה כדי ליצור את הגנרטור.
    • השם המוצג: Blood Donation Eligibility
    • הנחיה טקסטואלית: Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)

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

  • $conversation השיחה בין הנציג לבין המשתמש, לא כולל האמירה האחרונה של המשתמש.
  • $last-user-utterance האמירה האחרונה של המשתמש.

ההנחיה הטקסטואלית שהגדרתם מצפה מהמשתמש לספק את הגיל והמשקל שלו בתור אחד של שיחה (‎$last-user-utterance``).

משתמשים בגנרטור ב-fulfillment ומגדירים את כל הפרמטרים הנדרשים

  1. בדף חידון הזכאות, מוסיפים נתיב חדש שיופעל כשכל הפרמטרים ימולאו. מזינים את דרישת התנאי $page.params.status = "FINAL" ולוחצים על שמירה.

הוספת מסלול חדש שיופעל כשכל הפרמטרים ימולאו

  1. עוברים לקטע Generators בחלונית Fulfillment ומרחיבים אותו. לאחר מכן, לוחצים על הוספת גנרטור ובוחרים בגנרטור Blood Donation Eligibility (התאמה לתרומת דם). אחרי שבוחרים את הגנרטור, צריך להגדיר את פרמטר הפלט שיכיל את התוצאה של הגנרטור אחרי ההפעלה.

בוחרים את הגנרטור 'התאמה לתרומת דם', משייכים את משתני המיקום של ההנחיה לפרמטרים של הסשן ומגדירים את פרמטר הפלט

  1. משתמשים בפרמטר הפלט בתשובת הסוכן ושומרים את המסלול. עכשיו אפשר לבדוק את הכול.

שימוש בפרמטר הפלט בתגובת הסוכן

7. בדיקה מחדש של הנציג

לוחצים על Test Agent (סוכן בדיקה) כדי לפתוח שוב את הסימולטור.

בדיקה חוזרת של הסוכן

בסימולטור, מתחילים שיחה חדשה עם הסוכן. קודם שואלים על דרישות הגיל ואז ממשיכים לחידון לבדיקת עמידה בדרישות. קודם צריך לבדוק את התרחיש של "עומד בדרישות", לכן מזינים גיל בין 18 ל-75 ומשקל מעל 50 ק"ג.

נתיב שעומד בדרישות

לאחר מכן, בודקים אם בדיקת הזכאות נכשלת כשלא מתקיימת אחת מהדרישות או שתי הדרישות.

נתיב לא כשיר

מצוין, הגנרטור פועל כמצופה. או שכן? מה קורה אם המשתמש מספק את הגיל אבל לא את המשקל (או להפך)?

ציינתם גיל אבל לא משקל

8. כוונון של הנחיות ליצירת תמונות

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

  1. פותחים את הדף Eligibility Quiz (חידון לבדיקת עמידה בדרישות) ומוסיפים שני פרמטרים נפרדים לטופס: אחד למשקל ואחד לגיל. בוחרים באפשרות @sys.number-integer כסוג היישות ומסמנים את הפרמטרים הנדרשים. תספק את התוצאות של הפרומפט הראשוני, כמו How old are you? ו-What is your correct weight?. שומרים את כל השינויים.

טופס הזכאות

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

הסרת הגנרטור

  1. עוברים לכרטיסייה ניהול, בוחרים באפשרות גנרטורים ומעדכנים את הנחיית הטקסט של הגנרטור Blood Donation Eligibility (התאמה לתרומת דם) עם: Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why.. לוחצים על שמירה.

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

הגדרה מחדש של הנחיית הטקסט

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

עדכון הקישורים של הגנרטור

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

אימייל שמודיע שהמשתמש לא עומד בדרישות

אימייל שבו מצוין שהמשתמש עומד בדרישות

9. מזל טוב

כל הכבוד שסיימתם את ה-Codelab הזה!

כל הכבוד על השלמת ה-Codelab!

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

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת ה-Codelab הזה, אפשר לבצע את פעולות הניקוי הבאות:

  • כדי להימנע מחיובים מיותרים ב-Google Cloud, מומלץ למחוק את הפרויקט באמצעות מסוף Google Cloud אם הוא לא נחוץ לכם יותר.
  • אם השתמשתם בפרויקט קיים ב-Google Cloud, מחקו את המשאבים שיצרתם כדי להימנע מחיובים בחשבון. מידע נוסף מופיע בשלבים למחיקת אפליקציה.
  • אם רוצים להשבית את ממשקי ה-API של שיחות מבוססות-Vertex AI ו-Dialogflow, עוברים אל דף הפרטים של שירות Discovery Engine API, לוחצים על השבתת ה-API ומאשרים. לאחר מכן עוברים אל דף הפרטים של שירות Dialogflow API, לוחצים על השבתת ה-API ומאשרים.

מידע נוסף

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

רישיון

עבודה זו מורשית תחת רישיון Creative Commons שמותנה בייחוס 2.0 כללי.