במאמר הזה מוסבר איך לבדוק את QueryData ולעדכן את קובץ קבוצת ההקשר. אתם יכולים לבדוק את היכולת של QueryData ליצור שאילתות ב-MongoDB-compatible Query Language (MQL) משאלות בשפה טבעית. אם שאילתה שנוצרה לא מדויקת, אתם יכולים לעדכן את קובץ ההקשר.
למידע ולמידה על קבוצות הקשר, ראה סקירה כללית על קבוצות הקשר.לפני שמתחילים
מוודאים שקבוצת הקשר כבר נוצרה וקובץ קבוצת הקשר הועלה לסוכן QueryData. מידע נוסף זמין במאמר בנושא ניהול של ערכות הקשר ב-Firestore Studio.
כדי להוריד, לעדכן ולהעלות קבצים של קבוצות הקשר, ודאו שלמשתמש ב-IAM יש את התפקיד "עריכה של Dataplex Catalog" (roles/dataplex.catalogEditor) או "אדמין של Dataplex Catalog" (roles/dataplex.catalogAdmin) בפרויקט. מידע נוסף זמין במאמר הרשאות לקבוצות של הגדרות הקשר.
Test QueryData
כדי לבדוק את QueryData, פועלים לפי השלבים הבאים:
נכנסים לדף Firestore במסוף Google Cloud .
בוחרים מסד נתונים שאליו הוספתם קבוצת הקשרים. יש תמיכה רק ב-Firestore עם תאימות ל-MongoDB.
בתפריט הניווט, לוחצים על Firestore Studio.
בחלונית Explorer, לוחצים על View actions ליד קבוצת ההקשר שבה משתמשים.
לוחצים על הגדרת הקשר של הבדיקה.
בעורך השאילתות, לוחצים על יצירת שאילתה כדי לפתוח את החלונית עזרה בכתיבת קוד.
מזינים שאלה בשפה טבעית בעורך כדי ליצור שאילתת MQL ולוחצים על יצירה.
בודקים ששאילתת ה-MQL מדויקת.
הורדה ועדכון של קבוצת הקשרים
אם אתם לא מרוצים משאילתת ה-MQL שנוצרה לשאלה בשפה טבעית, הורידו את קובץ קבוצת ההקשר הקיים. אחר כך אפשר לבדוק ולעדכן את תבנית השאילתה, ולהעלות מחדש את קובץ ההקשר המעודכן לנציג.
כדי להוריד ולעדכן קבוצת הקשר, מבצעים את השלבים הבאים:
- בחלונית Explorer, לוחצים על View actions.
- לוחצים על הורדת קובץ ההקשר.
- פועלים לפי השלבים במאמר יצירת קבוצות הקשר באמצעות סוכן עם מנוע קבוצת הקשר כדי לעדכן את ההקשר עם עוד צמדי שאילתות.
- בחלונית Explorer, לוחצים על View actions ליד קבוצת ההקשר שבה משתמשים.
- לוחצים על עריכת קבוצת ההקשר.
- בקטע העלאת קובץ של הגדרות הקשר, לוחצים על עיון ובוחרים את הקובץ המעודכן של הגדרות ההקשר.
- לוחצים על שמירה כדי לעדכן את קבוצת ההקשר.
אחרי שאתם מרוצים מהדיוק של התשובות, אתם יכולים להשתמש בנקודת הקצה QueryData כדי לחבר את האפליקציה לקבוצת ההקשר.
איך מוצאים את המזהה של קבוצת ההקשרים
כדי לקשר אפליקציית נתונים לסוכן QueryData, צריך את המזהה של קבוצת ההקשר.
נכנסים לדף Firestore במסוף Google Cloud .
בוחרים מסד נתונים שהוספתם לו קבוצת הקשרים.
בתפריט הניווט, לוחצים על Firestore Studio.
בחלונית Explorer, לוחצים על View actions ליד קבוצת ההקשר שבה משתמשים.
לוחצים על עריכת קבוצת ההקשר.
שימו לב למזהה ההקשר בשדה מזהה קבוצת ההקשר. הפורמט של מזהה קבוצת ההקשר דומה ל-
projects/data-agents-project/locations/us-central1/contextSets/bdf_pg_all_templates.
חיבור QueryData לאפליקציה
מגדירים את מזהה קבוצת ההקשר בהפעלת method QueryData כדי לספק הקשר שנוצר למקורות נתונים של מסדי נתונים, כמו AlloyDB, Spanner, Cloud SQL, Cloud SQL ל-PostgreSQL ו-Firestore. מידע נוסף זמין במאמר הגדרת הקשר של סוכן נתונים למקורות נתונים של מסדי נתונים.
אחרי שבודקים את קבוצת ההקשר, אפשר להפנות למקור נתוני מסד הנתונים בקריאה ל-QueryData.
דוגמה לבקשת QueryData עם הקשר שנוצר
הדוגמה הבאה מראה בקשת QueryData שמשתמשת במקור הנתונים firestore_reference (Firestore עם תאימות ל-MongoDB). השדה agent_context_reference.context_set_id משמש לקישור להקשר שנוצר מראש ומאוחסן במסד הנתונים.
{ "parent": "projects/context-set-project/locations/us-central1", "prompt": "How many accounts in the Prague region are eligible for loans?", "context": { "datasource_references": [ { "firestore_reference": { "database_reference": { "project_id": "context-set-project", "region": "us-central1", "database_id": "financial" }, "agent_context_reference": { "context_set_id": "projects/context-set-project/locations/us-central1/contextSets/bdf_pg_all_templates" } } } ] }, "generation_options": { "generate_query_result": true, "generate_natural_language_answer": true, "generate_disambiguation_question": true, "generate_explanation": true } }
גוף הבקשה מכיל את השדות הבאים:
-
prompt: השאלה בשפה טבעית ממשתמש הקצה. -
context: מכיל מידע על מקורות הנתונים.-
datasource_references: מציין את הסוג של מקור הנתונים.-
firestore_reference: נדרש כששולחים שאילתה למסד הנתונים. השדה הזה משתנה בהתאם למסד הנתונים שאתם שולחים אליו שאילתה.-
database_reference: מציין מידע שקשור למכונה של מסד הנתונים.-
project_id: מזהה הפרויקט של מסד הנתונים. -
region: האזור של מסד הנתונים. -
database_id: מזהה מסד הנתונים.
-
agent_context_reference: קישורים להקשר שנוצר במסד הנתונים.-
context_set_id: המזהה המלא של קבוצת ההקשרים ששמורה במסד הנתונים. לדוגמה,projects/context-set-project/locations/us-central1/contextSets/bdf_gsql_gemini_all_templates.
-
-
-
-
-
generationOptions: מגדיר את סוג הפלט שייווצר.-
generate_query_result: צריך להגדיר את הערך כ-true כדי ליצור ולהחזיר את תוצאות השאילתה. -
generate_natural_language_answer: אופציונלי. אם הערך מוגדר כ-true, נוצרת תשובה בשפה טבעית. -
generate_explanation: אופציונלי. אם הערך הוא true, נוצר הסבר לשאילתת MQL. -
generate_disambiguation_question: אופציונלי. אם המדיניות מוגדרת כ-True, המערכת יוצרת שאלות להסרת דו-משמעות אם השאילתה לא ברורה.
-
דוגמה לתשובה של QueryData
זו דוגמה לתשובה תקינה מקריאה ל-QueryData:
{
"generated_query": "// Count the number of accounts in Prague that are eligible for loans\ndb.loans.aggregate([\n // 1. Filter loans in the Prague region\n { \n $match: { \"district.name\": \"Prague\" } \n },\n // 2. Group by account_id to get distinct values, and count them\n { \n $group: { \n _id: null, \n uniqueAccounts: { $addToSet: \"$account_id\" } \n } \n },\n // 3. Project the size of the unique accounts array\n { \n $project: { \n _id: 0,\n distinct_account_count: { $size: \"$uniqueAccounts\" } \n } \n }\n]);",
"intent_explanation": "The question asks for the number of accounts eligible for loans in the Prague region. I need to filter the documents in the loans collection to only give me those in the Prague region. Then I need to group the loans by account ID to get distinct values and count them. Finally, I need to project the size of the array of unique accounts.",
"query_result": {
"columns": [
{
"name": "distinct_account_count"
}
],
"rows": [
{
"values": [
{
"value": "2"
}
]
}
],
"total_row_count": 1
},
"natural_language_answer": "There are 2 accounts in Prague that are eligible for loans."
}
המאמרים הבאים
- מידע נוסף על קבוצות הקשר
- איך יוצרים קבוצות הקשר באמצעות סוכן עם מנוע תלוי הקשר
- איך מנהלים קבוצות הקשר ב-Firestore Studio