במאמר הזה מוסבר איך לבדוק סוכן ולעדכן את קובץ ההקשר שלו. אתם יכולים לבדוק סוכן כדי לראות אם הוא מסוגל ליצור שאילתות SQL משאלות בשפה טבעית. אם שאילתה שנוצרה לא מדויקת, אפשר לעדכן את ההקשר של הסוכן.
מידע נוסף על סוכני נתונים זמין במאמר סקירה כללית על סוכני נתונים.לפני שמתחילים
מוודאים שסוכן נתונים כבר נוצר והקשר של הסוכן הועלה לסוכן הנתונים. מידע נוסף זמין במאמר בנושא ניהול סוכני נתונים ב-Spanner Studio.
בדיקת סוכן נתונים
כדי לבדוק סוכן נתונים, פועלים לפי השלבים הבאים:
נכנסים לדף Spanner במסוף Google Cloud .
בוחרים מופע מהרשימה ואז בוחרים מסד נתונים.
בתפריט הניווט, לוחצים על Spanner Studio.
בחלונית Explorer, לוחצים על הצגת פעולות לצד סוכן הנתונים שבו אתם משתמשים.
לוחצים על בדיקת הנציג.
בעורך השאילתות, לוחצים על יצירת SQL כדי לפתוח את החלונית עזרה בכתיבת קוד.
מזינים שאלה בשפה טבעית בעורך כדי ליצור שאילתת SQL ולוחצים על יצירה.
בודקים שהשאילתה מדויקת.
הורדה ועדכון של ההקשר של סוכן נתונים
אם אתם לא מרוצים משאילתת ה-SQL שנוצרה לשאלה בשפה טבעית, אתם יכולים להוריד את קובץ ההקשר הקיים של הסוכן. אחר כך תוכלו לבדוק ולעדכן את תבנית השאילתה, ולהעלות מחדש את קובץ ההקשר המעודכן לסוכן.
כדי להוריד ולעדכן את ההקשר של סוכן נתונים, פועלים לפי השלבים הבאים:
- בחלונית Explorer, לוחצים על הצגת פעולות.
- לוחצים על הורדת קובץ ההקשר של הסוכן.
- פועלים לפי השלבים במאמר יצירת הקשרים באמצעות Gemini CLI כדי לעדכן את ההקשר עם עוד צמדי שאילתות.
- בחלונית Explorer, לוחצים על הצגת פעולות לצד סוכן הנתונים שבו אתם משתמשים.
- לוחצים על עריכת סוכן.
- בקטע העלאת קובץ הקשר של הסוכן, לוחצים על עיון ובוחרים את קובץ ההקשר המעודכן של הסוכן.
- לוחצים על שמירה כדי לעדכן את ההקשר של הסוכן.
אחרי שמוודאים שהתשובות מדויקות, אפשר להשתמש בנקודת הקצה QueryData כדי לחבר את האפליקציה לסוכן הנתונים.
איך מוצאים את מזהה ההקשר של הסוכן
כדי לקשר אפליקציית נתונים לסוכן הנתונים, צריך את מזהה ההקשר של הסוכן.
נכנסים לדף Spanner במסוף Google Cloud .
בוחרים מופע מהרשימה ואז בוחרים מסד נתונים.
בתפריט הניווט, לוחצים על Spanner Studio.
בחלונית Explorer, לוחצים על הצגת פעולות לצד סוכן הנתונים שבו אתם משתמשים.
לוחצים על עריכת סוכן.
שימו לב למזהה ההקשר במזהה ההקשר של הסוכן. הפורמט של מזהה ההקשר של הנציג דומה לפורמט
projects/data-agents-project/locations/us-east1/contextSets/bdf_pg_all_templates.
קישור סוכן הנתונים לאפליקציה
מגדירים את מזהה ההקשר של הסוכן בקריאה לשיטה QueryData כדי לספק הקשר שנוצר למקורות נתונים של מסדי נתונים, כמו AlloyDB, Spanner, Cloud SQL ו-Cloud SQL ל-PostgreSQL. מידע נוסף זמין במאמר בנושא הגדרת הקשר של סוכן הנתונים למקורות נתונים של מסדי נתונים
אחרי שבודקים את סוכן הנתונים, אפשר להפנות למקור הנתונים של מסד הנתונים בQueryData.
דוגמה לבקשת QueryData עם הקשר שנוצר על ידי המשתמש
בדוגמה הבאה מוצגת בקשת QueryData באמצעות מקור נתונים של מסד נתונים spanner_reference. השדה agent_context_reference.context_set_id משמש לקישור להקשר שנכתב מראש ומאוחסן במסד הנתונים.
{ "parent": "projects/data-agents-project/locations/us-central1", "prompt": "How many accounts in the Prague region are eligible for loans? A3 contains the data of region.", "context": { "datasource_references": [ { "spanner_reference" { "database_reference" { "engine": "GOOGLE_SQL" "project_id": "data-agents-project" "region": "us-central1" "instance_id": "evalbench" "database_id": "financial" }, "agent_context_reference": { "context_set_id": "projects/data-agents-project/locations/us-east1/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: מציין את הסוג של מקור הנתונים.-
spanner_reference: חובה כשמבצעים שאילתה במסד הנתונים. השדה הזה משתנה בהתאם למסד הנתונים שאתם שולחים אליו שאילתה.-
database_reference: מציין מידע שקשור למופע של מסד הנתונים.-
engine: הדיאלקט של SQL של מסד הנתונים. מגדירים את הערךGOOGLE_SQLלמסדי נתונים של Spanner. -
project_id: מזהה הפרויקט של מופע מסד הנתונים. -
region: האזור של מכונת Spanner. -
instance_id: מזהה המכונה של מכונת Spanner. -
database_id: מזהה מסד הנתונים.
-
agent_context_reference: קישורים להקשר שנוצר במסד הנתונים.context_set_id: מזהה ההקשר המלא של הסוכן, שמאוחסן במסד הנתונים. לדוגמה,projects/data-agents-project/locations/us-east1/contextSets/bdf_gsql_gemini_all_templates.
-
-
-
-
generationOptions: הגדרת סוג הפלט שיופק.-
generate_query_result: מגדירים את הערך כ-true כדי ליצור ולהחזיר את תוצאות השאילתה. -
generate_natural_language_answer: אופציונלי. אם המדיניות מוגדרת כ-True, נוצרת תשובה בשפה טבעית. -
generate_explanation: אופציונלי. אם המדיניות מוגדרת כ-true, נוצר הסבר לשאילתת ה-SQL. -
generate_disambiguation_question: אופציונלי. אם הערך הוא true, המערכת יוצרת שאלות להסרת דו-משמעות אם השאילתה לא ברורה.
-
דוגמה לתגובה של QueryData
דוגמה לתשובה מוצלחת מקריאה ל-QueryData:
{
"generated_query": "-- Count the number of accounts in Prague that are eligible for loans\nSELECT\n COUNT(DISTINCT \"loans\".\"account_id\")\nFROM \"loans\"\nJOIN \"district\" -- Join based on district ID\n ON \"loans\".\"district_id\" = \"district\".\"district_id\"\nWHERE\n \"district\".\"A3\" = 'Prague'; -- Filter for the Prague region",
"intent_explanation": "The question asks for the number of accounts eligible for loans in the Prague region. I need to join the `district` table with the `loans` table to filter by region and count the distinct accounts. The `A3` column in the `district` table contains the region information, and I'll filter for 'Prague'. The `loans` table contains information about loans, including the `account_id` and `district_id`. I will join these two tables on their respective district IDs.",
"query_result": {
"columns": [
{
"name": "count"
}
],
"rows": [
{
"values": [
{
"value": "2"
}
]
}
],
"total_row_count": 1
},
"natural_language_answer": "There are 2 accounts in Prague that are eligible for loans."
}
המאמרים הבאים
- מידע נוסף על סוכני נתונים
- איך בונים הקשרים באמצעות Gemini CLI
- איך מנהלים סוכני נתונים ב-Spanner Studio