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

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

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

מה תפַתחו

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

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

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

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

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

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

גנרטורים

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

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

התכונה מענה גנרטיבי כגיבוי משתמשת במודלים העדכניים של Google ל-AI גנרטיבי (LLM) כדי ליצור תשובות של נציג וירטואלי כשקלט של משתמש קצה לא תואם לכוונת המשתמש או לפרמטר למילוי טופס. אפשר להגדיר את התכונה באמצעות פרומפט טקסטואלי שמורה ל-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. כמו שציינו קודם, אנחנו נפשט את החידון וניקח בחשבון רק את הגיל והמשקל של המשתמש כדי לקבוע אם הוא עומד בדרישות לתרומת דם. פותחים את הדף בוחן עמידה בדרישות ומוסיפים פרמטר חדש לטופס age-weight. בוחרים באפשרות @sys.any כסוג הישות. מספקים את "What is your age and weight?" כפרומפט הראשוני. אנחנו רוצים לאסוף את הגיל והמשקל בבת אחת. שומרים את כל השינויים.

יצירת פרמטר

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

התכונה generator היא תכונה של Dialogflow CX שמאפשרת למפתחים להשתמש במודלים הגדולים של השפה (LLM) הגנרטיביים העדכניים של Google במהלך ביצוע הפעולות ב-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).

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

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

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

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

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

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

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

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

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

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

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

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

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

נתיב לא כשיר

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

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

8. כוונון של הנחיות לגנרטורים

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

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

טופס הזכאות

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

הסרת הגנרטור

  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 Conversation ו-Dialogflow, עוברים אל דף הפרטים של שירות Discovery Engine API, לוחצים על השבתת ה-API ומאשרים. לאחר מכן עוברים אל דף הפרטים של שירות Dialogflow API, לוחצים על השבתת ה-API ומאשרים.

מידע נוסף

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

רישיון

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