הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
Copilot Studio כולל מקורות ידע מוכללים כגון SharePoint ו- Dataverse. ארגונים רבים משתמשים גם בנקודות קצה של חיפוש משלהם, כגון ממשקי API מותאמים אישית, מערכות חיפוש ארגוניות קיימות או Azure AI Search, תוך שמירה על שליטה מלאה בשאילתה שמתבצעת.
Copilot Studio תומך בתרחיש זה באמצעות הגורם המפעיל של OnKnowledgeRequested. כל נושא שמשתמש במפעיל זה פועל כמקור ידע מותאם אישית ותורם לתוצאות עבור תשובות יצירתיות.
מאמר זה מסביר כיצד לבנות ולשלב מקורות ידע מותאמים אישית ב- Copilot Studio באמצעות OnKnowledgeRequested Trigger. תלמד כיצד Copilot Studio לשכתב שאילתות, כיצד להתחבר ל- API של חיפוש משלך, כיצד לעצב תוצאות עבור תשובות generative ושיטות עבודה מומלצות בעת עבודה עם ידע מותאם אישית.
הגורם המפעיל OnKnowledgeRequested
השתמש במפעיל OnKnowledgeRequested בשני מצבים אלה:
- כאשר orchestrator קובע כי יש צורך באחזור ידע כדי לענות על שאילתת משתמש.
- כאשר צומת תשובות Generative מופעל במפורש בשיחה.
חשוב
באפשרותך להגדיר גורם מפעיל זה בתצוגת קוד רק באמצעות YAML. אין תמיכה במעצב החזותי.
לנושאים המשתמשים OnKnowledgeRequested יש גישה למשתנה מערכת שאינם זמינים בנושאים רגילים:
-
System.SearchQuery: גירסה המותאמת להקשר, הכתובה מחדש של השאילתה של המשתמש, הממוטבת לחיפוש סמנטי. -
System.KeywordSearchQuery: שאילתה כתובה מחדש הממוטבת עבור מנועי חיפוש מבוססי מילות מפתח. -
System.SearchResults: כאשר הנושא מאחסן מקטעי ידע מעוצבים.
Copilot Studio משכתב שאילתות בצורה חכמה על ידי שימוש בהיסטוריית שיחות, מה שמבטיח שמירה על הקשר רב-שלבי.
בניית מקור ידע מותאם אישית
כדי לבנות מקור ידע מותאם אישית, עליך ליצור נושא עם הגורם המפעיל OnKnowledgeRequested שקורא ל-API של החיפוש שלך וממיר את התוצאות לפורמט המצופה על ידי Copilot Studio.
שלב 1: יצירת הגורם המפעיל
צור נושא חדש ב- Copilot Studio, עבור אל קוד תצוגה והגדיר את הגורם המפעיל OnKnowledgeRequested.
kind: AdaptiveDialog
beginDialog:
kind: OnKnowledgeRequested
id: main
intent: {}
actions:
# Actions go here
inputType: {}
outputType: {}
מבנה זה מודיע ל-Copilot Studio כי נושא זה אחראי למילוי בקשות ידע.
שלב 2: הוספת בקשת HTTP
הוסף פעולת HTTP שמפעילה את נקודת הקצה של החיפוש שלך.
דוגמה:
- kind: HttpRequestAction
id: searchRequest
url: = "https://search-api.contoso.com/search?q=" & System.KeywordSearchQuery
response: Topic.searchResults
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
שרשר System.KeywordSearchQuery לכתובת ה- URL הבסיסית שלך מכיוון Copilot Studio מחדש באופן אוטומטי את שאילתת המשתמש בהקשר שיחה לפני ביצוע בקשת החיפוש. שלב זה חשוב לשמור על ההקשר בשיחות מרובות פניות.
עצה
במקום בקשת HTTP גולמית, באפשרותך להשתמש בכל שיטה שמקבלת תוצאות מנקודות קצה של חיפוש, כולל מחברים מותאמים אישית, מחברים מוכללים כגון Azure AI Search, או זרימות סוכן.
דוגמה לשכתוב שאילתה
- שאילתת משתמש 1: "מהי תקופת שמירת הנתונים הרשמית שלנו עבור רשומות של לקוחות?"
- שאילתת מעקב: "האם זה משתנה בנוגע למידע פיננסי?"
- שאלת המשך: "והאם יש יוצאים מן הכלל?"
שאילתה שנכתבה הופכת ל: "חריגות למדיניות שמירת נתונים של לקוחות ונתונים פיננסיים חריגות לשמירה על תקנות פטורים ממדיניות טיפול בחריגים בקווים מנחים לתאימות"
שים לב שהשאילתה הכתובה מחדש:
- פותר את "שם" כמדיניות שמירת נתונים
- מושך קדימה הקשר משני התורות הקודמים: נתוני לקוחות + נתונים פיננסיים
- הוספת שפת מדיניות ארגונית: חריגות, פטורים, תקינה, קווים מנחים
שלב 3: המרת תוצאות
מקור ידע מותאם אישית חייב להפיק תוצאות בפורמט ש-Copilot Studio מצפה לו. תבנית זו משתמשת ב:
- תוכן: מקטע או קטע.
- ContentLocation (אופציונלי): כתובת URL.
- כותרת (אופציונלי): כותרת התוצאה.
כדי להגדיר את המבנה של תגובת HTTP, קבע את תצורת סכימת התגובה בממשק המשתמש של Copilot Studio.
- בחר מתוך נתונים לדוגמה עבור סוג נתוני התגובה.
- בחר קבל סכימה מ- JSON לדוגמה.
- הדבק את מטען ה-JSON לדוגמה כדי ליצור את הסכימה באופן אוטומטי.
תהליך זה יוצר את סכימת התגובה בקובץ YAML שלך.
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
לאחר מכן, שנה את תגובת ה- API כך שיתאים לתבנית זו. הקצה את הנתונים שהשתנו ל- System.SearchResults.
המרה לדוגמה
kind: AdaptiveDialog
beginDialog:
kind: OnKnowledgeRequested
id: main
intent: {}
actions:
- kind: HttpRequestAction
id: searchRequest
url: ="https://search-api.contoso.com/search?q=" & System.KeywordSearchQuery
response: Topic.searchResults
responseSchema:
kind: Record
properties:
query: String
results:
type:
kind: Table
properties:
snippet: String
title: String
url: String
- kind: SetVariable
id: setSearchResults
variable: System.SearchResults
value: |-
=ForAll(Topic.searchResults.results,
{
Content: snippet,
ContentLocation: url,
Title: title
})
inputType: {}
outputType: {}
SetVariable הפעולה מבצעת את שתי הפעולות:
- הפונקציה
ForAllממירה כל תוצאת חיפוש, מיפויsnippetContentל- ,urlלContentLocation- ולtitle-Title. - הטבלה שהשתנו מוקצית ל-
System.SearchResults, שהוא המשתנה Copilot Studio ליצירת תשובות.
שיקולים
זכור שיקולים חשובים אלה בעת בניית מקורות ידע מותאמים אישית.
מגבלות תוצאות
Copilot Studio משתמשת ב- 15 מקטעים לכל System.SearchResults כדי ליצור תגובה. אם ה- API שלך מחזיר תוצאות נוספות, שקול לבצע את הפעולות הבאות:
- מיישם ניקוד רלוונטיות כדי להחזיר תחילה את התוצאות הטובות ביותר.
- הגבלת תגובת ה- API ל- 15 תוצאות.
- מיון תוצאות לפי רלוונטיות לפני ההמרה.
נושאי ידע מותאמים אישית מרובים
באפשרותך ליצור נושאים מרובים באמצעות , וכל נושא OnKnowledgeRequestedיכול לבצע שאילתה במערכות עורפיות שונות. Copilot Studio מפעיל את כולם בו-זמנית כשהוא זקוק לידע. גישה זו מאפשרת לך לבצע שאילתות בנקודות קצה שונות של חיפוש או ליישם אסטרטגיות חזרה.
אזהרה
מגבלת התוצאות חלה על כל נושאי הידע המשולבים. אם נושא א' מחזיר 10 תוצאות ונושא ב' מחזיר 8, נעשה שימוש רק ב- 15 התוצאות המשולבות המובילות.
המלצות
- מיינו או דרגו את התוצאות לפני החזרתן.
- שמור על עקביות סכימות תגובה.
- השתמש בשמות נושא ותיאורים ברורים. תרגול זה שימושי כאשר ערכות תוצאות גדולות דורשות סינון רלוונטיות.