בדף הזה מוסבר איך להשתמש בחיפוש מבוסס סוכנים כדי לנתח את המסמכים ולחלק אותם לחלקים.
אתם יכולים להגדיר את ההגדרות של הניתוח או החלוקה לחלקים כדי:
מציינים איך חיפוש מבוסס סוכנים מנתח את התוכן. אתם יכולים לציין איך לנתח תוכן לא מובנה כשאתם מעלים אותו לחיפוש מבוסס סוכנים. התכונה 'חיפוש באמצעות סוכן' מספקת מנתח דיגיטלי, מנתח OCR לקובצי PDF ומנתח פריסות. אפשר גם להעלות מסמכים מפוענחים משלכם. מומלץ להשתמש בכלי לניתוח פריסה כשרוצים לחלץ מסמכים לחיפוש וליצירת תשובות תוכן עשיר ורכיבים מבניים כמו קטעים, פסקאות, טבלאות, תמונות ורשימות.
מידע נוסף מופיע במאמר שיפור זיהוי התוכן באמצעות ניתוח תחבירי.
שימוש בחיפוש סוכנים ליצירה משולבת-אחזור (RAG). כדי לשפר את הפלט של מודלים של LLM, אפשר להשתמש בנתונים רלוונטיים שהעליתם לאפליקציית חיפוש מבוסס סוכנים. לשם כך, מפעילים את האפשרות'חלוקת מסמכים לחלקים', שמבצעת אינדוקס של הנתונים כחלקים כדי לשפר את הרלוונטיות ולצמצם את עומס החישוב של מודלים של LLM. בנוסף, תפעילו את מנתח הפריסה, שמזהה רכיבים במסמך כמו כותרות ורשימות, כדי לשפר את חלוקת המסמכים לחלקים.
מידע על חלוקה לקטעים לצורך RAG ועל החזרת קטעים בבקשות חיפוש זמין במאמר חלוקת מסמכים לקטעים לצורך RAG.
ניתוח מסמכים
אפשר לשלוט בניתוח התוכן בדרכים הבאות:
מציינים את סוג כלי הניתוח. אפשר לציין את סוג הניתוח שיחול בהתאם לסוג הקובץ:
מנתח דיגיטלי. מנתח התוכן הדיגיטלי מופעל כברירת מחדל לכל סוגי הקבצים, אלא אם מצוין סוג אחר של מנתח. המנתח הדיגיטלי מעבד מסמכים שהועלו אם לא צוין מנתח ברירת מחדל אחר למאגר הנתונים, או אם המנתח שצוין לא תומך בסוג הקובץ של המסמך שהועלה.
ניתוח OCR לקובצי PDF. אפשר להשתמש בכלי הזה כחלופה זולה יותר לכלי לניתוח פריסות, אם אתם מעלים קובצי PDF סרוקים או קובצי PDF עם טקסט בתוך תמונות. מידע נוסף זמין בקטע מנתח OCR לקובצי PDF במסמך הזה.
כלי לניתוח פריסה. אם אתם מתכננים להשתמש בחיפוש מבוסס סוכנים בשביל RAG, תפעילו את מנתח הפריסה לקובצי HTML, PDF, DOCX, PPTX ו-XLSX. מידע על מנתח התוכן הזה ועל הפעלתו זמין במאמר חלוקת מסמכים לחלקים לצורך RAG. מנתח הפריסה יכול לבצע זיהוי אופטי של תווים בתמונות ובמסמכים סרוקים.
העלאת מסמך מנותח משלכם. (תצוגה מקדימה עם רשימת היתרים) אם כבר ניתחתם מסמכים לא מובנים, אתם יכולים לייבא את התוכן שכבר ניתחתם לחיפוש מבוסס סוכנים. איך מעלים מסמך מנותח משלכם
השוואה בין הזמינות של מנתחי נתונים
בטבלה הבאה מפורטת הזמינות של כל מנתח לפי סוגי קבצים של מסמכים, ומוצגים הרכיבים שכל מנתח יכול לזהות ולנתח.
| סוג קובץ | מנתח דיגיטלי | כלי לניתוח OCR של קובצי PDF | מנתח פריסות |
|---|---|---|---|
| HTML | זיהוי של רכיבי פסקה | לא רלוונטי | מזהה רכיבים של פסקה, טבלה, תמונה, רשימה, כותרת וכותרת משנה |
| זיהוי של רכיבי פסקה (טקסט דיגיטלי) | זיהוי של רכיבי פסקה | מזהה רכיבים של פסקאות, טבלאות, תמונות, כותרות וכותרות עליונות | |
| DOCX | זיהוי של רכיבי פסקה | לא רלוונטי | מזהה אלמנטים של פסקה, טבלה, תמונה, רשימה, כותרת ושם |
| PPTX | זיהוי של רכיבי פסקה | לא רלוונטי | מזהה אלמנטים של פסקה, טבלה, תמונה, רשימה, כותרת ושם |
| TXT | זיהוי של רכיבי פסקה | לא רלוונטי | לא רלוונטי |
| XLSX | זיהוי של רכיבי פסקה | לא רלוונטי | זיהוי של רכיבי פסקה, טבלה, שם וכותרת |
| XLSM | זיהוי של רכיבי פסקה | לא רלוונטי | זיהוי של רכיבי פסקה, טבלה, שם וכותרת |
הגודל המקסימלי של קובץ לא מובנה שאפשר לייבא זהה לכל שלושת מנתחי הנתונים. הכנת נתונים להעלאה
מנתח דיגיטלי
הכלי הדיגיטלי לניתוח תחבירי מחלץ טקסט שקריא למחשב ממסמכים. הוא מזהה בלוקים של טקסט, אבל לא רכיבים של מסמכים כמו טבלאות, רשימות וכותרות.
המנתח הדיגיטלי משמש כברירת מחדל אם לא מציינים מנתח אחר כברירת מחדל במהלך יצירת מאגר הנתונים. בנוסף, נעשה שימוש במנתח הדיגיטלי אם המנתח שצוין לא תומך בסוג הקובץ שמועלה – לדוגמה, אם צוין מנתח הפריסה, נעשה שימוש במנתח הדיגיטלי כדי לנתח קובצי TXT כי מנתח הפריסה לא תומך בקובצי טקסט.
כלי לניתוח OCR של קובצי PDF
במקרה של קובצי PDF סרוקים וקובצי PDF שבהם הטקסט הוא חלק מתמונה, כמו מסמכים סרוקים ותמונות כמו צילומי מסך שמכילים טקסט, כדאי להשתמש במנתח ה-OCR לקובצי PDF. אם יש לכם קובצי PDF עם טקסט שלא ניתן לחיפוש (כמו טקסט סרוק או אינפוגרפיקות) וגם טקסט שניתן לקריאה על ידי מכונה, אתם יכולים להגדיר את השדה useNativeText כ-true כשמציינים את מנתח ה-OCR. במקרה הזה, טקסט שניתן לקריאה על ידי מכונה משולב עם תוצרי ניתוח OCR כדי לשפר את איכות חילוץ הטקסט.
אם קובצי ה-PDF שלכם כוללים היררכיה מורכבת או רכיבים חזותיים או טבלאיים, יכול להיות שכלי הניתוח של הפריסה יניב תוצאות טובות יותר.
אם יש לכם קובצי PDF שאפשר לחפש בהם או פורמטים דיגיטליים אחרים שמורכבים בעיקר מטקסט שניתן לקריאה על ידי מכונה, בדרך כלל לא צריך להשתמש במנתח ה-OCR לקובצי PDF.
תכונות עיבוד OCR זמינות לאפליקציות חיפוש בהתאמה אישית עם מאגרי נתונים לא מובנים. מכיוון שמנתח ה-OCR חל רק על קובצי PDF, רק קובצי PDF שמוזנים למערכת מעובדים על ידי מנתח ה-OCR. סוגי קבצים אחרים מעובדים על ידי המנתח הדיגיטלי.
מעבד ה-OCR יכול לנתח את 500 הדפים הראשונים של קובץ PDF. דפים מעבר למגבלה של 500 לא מעובדים.
מנתח פריסות
ניתוח פריסות מאפשר ל-חיפוש מבוסס סוכנים לזהות פריסות של קובצי PDF, HTML, DOCX, PPTX, XLSX ו-XLSM. לאחר מכן, 'חיפוש מבוסס סוכנים' יכול לזהות רכיבי תוכן כמו בלוקים של טקסט, טבלאות, רשימות ורכיבים מבניים כמו כותרות וכותרות משנה, ולהשתמש בהם כדי להגדיר את הארגון וההיררכיה של מסמך.
אפשר להפעיל את ניתוח הפריסה לכל סוגי הקבצים או לציין לאילו סוגי קבצים להפעיל אותו. כלי הניתוח של הפריסה מזהה רכיבי תוכן כמו פסקאות, טבלאות ורשימות, ורכיבים מבניים כמו כותרות, כותרות משנה, כותרות עליונות והערות שוליים.
אם יש לכם קובצי PDF מורכבים שלא ניתן לבצע בהם חיפוש, כמו קובצי PDF סרוקים עם היררכיה או טבלאות מורכבות, או קובצי PDF עם טקסט בתוך תמונות, כמו אינפוגרפיקות, Google ממליצה להשתמש במנתח פריסות במקום במנתח OCR.
מנתח הפריסה זמין רק כשמשתמשים בחלוקת מסמכים ל-chunks עבור RAG. כשהאפשרות לחלוקת מסמכים לחלקים מופעלת, Agent Search מחלק את המסמכים לחלקים בזמן ההטמעה ויכול להחזיר מסמכים כחלקים. זיהוי הפריסה של המסמך מאפשר חלוקה לקטעים בהתאם לתוכן, ומשפר את החיפוש ואת יצירת התשובות שקשורות לרכיבי המסמך. מידע נוסף על חלוקת מסמכים לחלקים לצורך RAG זמין במאמר חלוקת מסמכים לחלקים לצורך RAG.
כשיוצרים את מאגר הנתונים, אפשר לבחור אחד או יותר מתוספי מנתח הפריסות הבאים:
הערה לתמונה
אם ההערה לתמונה מופעלת, כשמזוהה תמונה במסמך מקור, מוקצה לחלק תיאור (הערה) של התמונה והתמונה עצמה. ההערה קובעת אם צריך להחזיר את החלק בתוצאת חיפוש. אם נוצרת תשובה, ההערה יכולה להיות מקור לתשובה.
מנתח הפריסה יכול לזהות את סוגי התמונות הבאים: BMP, GIF, JPEG, PNG ו-TIFF.
כדי להפעיל את התכונה 'הערות לתמונות' בניתוח פריסות, צריך לבצע את הפעולות הבאות כשיוצרים את מאגר הנתונים:
- בוחרים באפשרות אפשרויות לעיבוד מסמכים > הגדרות של כלי לניתוח פריסות > הפעלת הערות לתמונות.
הערות בטבלה
אם הפעלתם את ההערות בטבלה, כשמזוהה טבלה במסמך מקור, מוקצה לחלק תיאור (הערה) של הטבלה והטבלה עצמה. ההערה קובעת אם צריך להחזיר את החלק בתוצאת חיפוש. אם נוצרת תשובה, ההערה יכולה להיות מקור לתשובה.
כדי להפעיל את ההערה של טבלה בניתוח פריסה, מבצעים את הפעולות הבאות כשיוצרים את מאגר הנתונים:
- בוחרים באפשרות אפשרויות לעיבוד מסמכים > הגדרות של מנתח פריסות > הפעלת הערות בטבלה.
ניתוח פריסה של Gemini (גרסת טרום-השקה ציבורית)
אם ניתוח הפריסה של Gemini מופעל, Gemini משמש לניתוח פריסה ולחילוץ תוכן בקובצי PDF. התכונה הזו מספקת זיהוי איכותי של טבלאות, סדר קריאה משופר וזיהוי טקסט מדויק יותר. הוא זמין למאגרי נתונים שמכילים מסמכים לא מובְנים. אתם יכולים להשתמש בתוסף Gemini parser יחד עם התוסף table annotation.
כדי להפעיל את ניתוח הפריסה של Gemini, מבצעים את הפעולות הבאות כשיוצרים את מאגר הנתונים:
- בוחרים באפשרות אפשרויות לעיבוד מסמכים > הגדרות של מנתח פריסות > הפעלת שיפור של Gemini.
החרגת תוכן HTML
כשמשתמשים בכלי לניתוח פריסות במסמכי HTML, אפשר להחריג חלקים ספציפיים מתוכן ה-HTML כך שלא יעברו עיבוד. כדי לשפר את איכות הנתונים באפליקציות לחיפוש ובאפליקציות RAG, אפשר להחריג טקסטים סטנדרטיים או קטעים כמו תפריטי ניווט, כותרות, כותרות תחתונות או סרגלי צד.
האובייקט layoutParsingConfig מספק את השדות הבאים למטרה הזו:
-
excludeHtmlElements: רשימה של תגי HTML שיוחרגו. התוכן שמופיע בין התגים האלה מוחרג. -
excludeHtmlClasses: רשימה של מאפייני מחלקה ב-HTML שצריך להחריג. רכיבי HTML שמכילים את מאפייני המחלקה האלה, יחד עם התוכן שלהם, מוחרגים. -
excludeHtmlIds: רשימה של מאפייני מזהה של רכיבי HTML שצריך להחריג. רכיבי HTML עם מאפייני המזהה האלה, יחד עם התוכן שלהם, לא נכללים.
ציון מנתח ברירת מחדל
כשיוצרים מאגר נתונים, אפשר לכלול את אובייקט documentProcessingConfig כדי לציין מנתח ברירת מחדל למאגר הנתונים. אם לא כוללים את documentProcessingConfig.defaultParsingConfig, נעשה שימוש במנתח הדיגיטלי. המנתח הדיגיטלי משמש גם אם המנתח שצוין לא זמין לסוג קובץ מסוים.
REST
כדי לציין מנתח ברירת מחדל:
כשיוצרים מאגר נתוני חיפוש באמצעות ה-API, צריך לכלול את
documentProcessingConfig.defaultParsingConfigבבקשה ליצירת מאגר הנתונים. אפשר לציין את מנתח ה-OCR, את מנתח הפריסה או את המנתח הדיגיטלי:כדי לציין את מנתח ה-OCR:
"documentProcessingConfig": { "defaultParsingConfig": { "ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" } } }- הערך
NATIVE_TEXT_BOOLEANהוא אופציונלי. ההגדרה הזו רלוונטית רק אם אתם מעלים קובצי PDF. אם ההגדרה היאtrue, מופעל עיבוד טקסט שניתן לקריאה על ידי מכונה עבור מנתח ה-OCR. ערך ברירת המחדל הואfalse.
- הערך
כדי לציין את מנתח הפריסה:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": {} } }כדי לציין את מנתח הנתונים הדיגיטלי:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
המסוף
כשיוצרים מאגר נתוני חיפוש דרך המסוף, אפשר לציין את מנתח ברירת המחדל.
דוגמה
בדוגמה הבאה, מנתח ה-OCR מוגדר כמנתח ברירת המחדל במהלך יצירת מאגר הנתונים.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"defaultParsingConfig": {
"ocrParsingConfig": {
"useNativeText": "false"
}
}
}
}'
הגדרת שינויים מברירת המחדל של מנתח לכל סוגי הקבצים
אתם יכולים לציין שסוג קובץ מסוים (PDF, HTML, DOCX, PPTX, XLSX ו-XLSM) צריך לעבור ניתוח על ידי מנתח שונה ממנתח ברירת המחדל. כדי לעשות את זה, צריך לכלול את השדה documentProcessingConfig בבקשה ליצירת מאגר נתונים ולציין את מנתח העל. אם לא מציינים מנתח ברירת מחדל, מנתח הנתונים הדיגיטלי הוא ברירת המחדל.
REST
כדי לציין החלפה של מנתח נתונים שספציפית לסוג קובץ:
כשיוצרים מאגר נתוני חיפוש באמצעות ה-API, צריך לכלול את
documentProcessingConfig.defaultParsingConfigבבקשה ליצירת מאגר הנתונים.אפשר לציין מנתח לסוג קובץ מסוים:
"documentProcessingConfig": { "parsingConfigOverrides": { "FILE_TYPE": { PARSING_CONFIG }, } }מחליפים את מה שכתוב בשדות הבאים:
-
FILE_TYPE: הערכים הקבילים הםpdf,html,docx,pptx,xlsmו-xlsx. PARSING_CONFIG: מציינים את ההגדרות של כלי הניתוח שרוצים להחיל על סוג הקובץ. אפשר לציין את מנתח ה-OCR, את מנתח הפריסה או את המנתח הדיגיטלי:כדי לציין את מנתח ה-OCR:
"ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" }-
NATIVE_TEXT_BOOLEAN: אופציונלי. ההגדרה הזו רלוונטית רק אם אתם מעלים קובצי PDF. אם ההגדרה היאtrue, מופעל עיבוד טקסט שניתן לקריאה על ידי מכונה עבור מנתח ה-OCR. ערך ברירת המחדל הואfalse.
-
כדי לציין את מנתח הפריסה:
"layoutParsingConfig": {}כדי לציין את מנתח הנתונים הדיגיטלי:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
-
המסוף
כשיוצרים מאגר נתוני חיפוש דרך המסוף, אפשר לציין החלפות של מנתח עבור סוגי קבצים ספציפיים.
דוגמה
בדוגמה הבאה מצוין שקבצי PDF צריכים לעבור עיבוד על ידי מנתח ה-OCR, וקבצי HTML צריכים לעבור עיבוד על ידי מנתח הפריסה, במהלך יצירת מאגר הנתונים. במקרה כזה, כל הקבצים מלבד קובצי PDF ו-HTML יעברו עיבוד על ידי מנתח דיגיטלי.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"parsingConfigOverrides": {
"pdf": {
"ocrParsingConfig": {
"useNativeText": "false"
},
},
"html": {
"layoutParsingConfig": {}
}
}
}
}'
עריכת ניתוח מסמכים במאגרי נתונים קיימים
אם כבר יש לכם מאגר נתונים, אתם יכולים לשנות את מנתח ברירת המחדל ולהוסיף חריגים לפורמט הקובץ. עם זאת, הגדרות הניתוח המעודכנות חלות רק על מסמכים חדשים שיובאו למאגר הנתונים. מסמכים שכבר נמצאים במאגר הנתונים לא ינותחו מחדש עם ההגדרות החדשות.
כדי לשנות את ההגדרות של ניתוח מסמכים במאגר נתונים:
נכנסים לדף AI Applications במסוף Google Cloud .
בתפריט הניווט, לוחצים על מאגרי נתונים.
בעמודה שם, לוחצים על מאגר הנתונים שרוצים לערוך.
בכרטיסייה Processing config, עורכים את ההגדרות של Document parsing.
אי אפשר לשנות את ההגדרות של חלוקת המסמך לחלקים. אם לא מופעלת חלוקה לקטעים במאגר הנתונים, אי אפשר לבחור את מנתח הפריסה.
לוחצים על שליחה.
הגדרת כלי לניתוח פריסה להחרגת תוכן HTML
אפשר להגדיר את כלי הניתוח של הפריסה כך שיחריג תוכן HTML על ידי ציון excludeHtmlElements, excludeHtmlClasses או excludeHtmlIds ב-documentProcessingConfig.defaultParsingConfig.layoutParsingConfig.
REST
כדי להחריג תוכן HTML מסוים מהעיבוד על ידי כלי לניתוח פריסות, פועלים לפי השלבים הבאים:
כשיוצרים מאגר נתוני חיפוש באמצעות ה-API, צריך לכלול את
documentProcessingConfig.defaultParsingConfig.layoutParsingConfigבבקשה ליצירת מאגר נתונים.כדי להחריג סוגים ספציפיים של תגי HTML, משתמשים ב:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlElements": ["HTML_TAG_1","HTML_TAG_2","HTML_TAG_N"] } } }מחליפים את המשתנים HTML_TAG בשמות של תגים, לדוגמה:
navו-footer.כדי להחריג מאפייני מחלקה ספציפיים של רכיבי HTML, משתמשים ב:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlClasses": ["HTML_CLASS_1","HTML_CLASS_2","HTML_CLASS_N"] } } }מחליפים את המשתנים HTML_CLASS במאפייני המחלקה, לדוגמה,
overlayו-screenreader.כדי להחריג מאפייני מזהה של רכיבי HTML ספציפיים, משתמשים ב:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlIds": ["HTML_ID_1","HTML_ID_2","HTML_ID_N"] } } }מחליפים את המשתנים HTML_ID במאפייני מזהה, לדוגמה,
cookie-banner.
דוגמה
בדוגמה הזו מצוין שכאשר קובצי HTML עוברים עיבוד על ידי מנתח הפריסה, המנתח מדלג על הפריטים הבאים:
תגי רכיבי HTML,
header,footer,navו-asideמאפייני class של רכיבי HTML מהסוגים
overlaysו-screenreaderכל הרכיבים עם מזהה המאפיין
cookie-banner
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123&createAdvancedSiteSearch=true" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"contentConfig": "PUBLIC_WEBSITE",
"documentProcessingConfig": {
"chunkingConfig": {
"layoutBasedChunkingConfig": {}
},
"defaultParsingConfig": {
"layoutParsingConfig": {
"excludeHtmlElements": ["header", "footer", "nav", "aside"],
"excludeHtmlClasses": ["overlays", "screenreader"],
"excludeHtmlIds": ["cookie-banner"]
}
}
}
}'
קבלת מסמכים מנותחים ב-JSON
כדי לקבל מסמך מנותח בפורמט JSON, קוראים לשיטה getProcessedDocument ומציינים את PARSED_DOCUMENT כסוג המסמך המעובד. קבלת מסמכים מנותחים בפורמט JSON יכולה להיות שימושית אם אתם צריכים להעלות את המסמך המנותח למקום אחר, או אם אתם מחליטים לייבא מחדש מסמכים מנותחים לחיפוש סוכנים באמצעות התכונה העלאת מסמך מנותח משלכם.
REST
כדי לקבל מסמכים מנותחים בפורמט JSON, פועלים לפי השלב הזה:
מבצעים קריאה ל-
getProcessedDocument:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. -
DOCUMENT_ID: המזהה של המסמך שרוצים לקבל.
-
שימוש במסמך מנותח משלכם
אפשר לייבא מסמכים לא מובנים שכבר עברו ניתוח לתוך מאגרי נתונים של חיפוש מבוסס סוכנים. לדוגמה, במקום לייבא מסמך PDF גולמי, אפשר לנתח את ה-PDF בעצמכם ולייבא את תוצאת הניתוח. כך תוכלו לייבא את המסמכים בצורה מובנית, ולוודא שהחיפוש ויצירת התשובות יתבססו על מידע לגבי הפריסה והרכיבים של המסמך.
מסמך לא מובנה שעבר ניתוח מיוצג על ידי JSON שמתאר את המסמך הלא מובנה באמצעות רצף של בלוקים של טקסט, טבלה ורשימה. אתם מייבאים קובצי JSON עם נתונים מנותחים של מסמכים לא מובנים באותה דרך שבה אתם מייבאים סוגים אחרים של מסמכים לא מובנים, כמו קובצי PDF. כשהתכונה הזו מופעלת, בכל פעם שמעלים קובץ JSON ומזהים אותו לפי סוג MIME application/json או לפי הסיומת .JSON, המערכת מתייחסת אליו כמסמך מנותח.
כדי להפעיל את התכונה הזו ולקבל מידע על השימוש בה, אפשר לפנות לצוות התמיכה בחשבון Google.
Chunk documents for RAG
כברירת מחדל, התכונה 'חיפוש באמצעות סוכן' מותאמת לאחזור מסמכים, כך שאפליקציית החיפוש מחזירה מסמך כמו PDF או דף אינטרנט עם כל תוצאת חיפוש.
תכונות של חלוקת מסמכים לחלקים זמינות לאפליקציות חיפוש בהתאמה אישית עם מאגרי נתונים לא מובנים.
במקום זאת, אפשר לבצע אופטימיזציה של חיפוש מבוסס סוכנים ל-RAG, שבו אפליקציית החיפוש משמשת בעיקר להוספת נתונים מותאמים אישית לפלט של LLM. כשהתכונה 'חלוקת מסמכים' מופעלת, חיפוש מבוסס סוכנים מחלק את המסמכים לחלקים. בתוצאות החיפוש, אפליקציית החיפוש יכולה להחזיר נתחים רלוונטיים של נתונים במקום מסמכים מלאים. שימוש בנתונים מחולקים ל-RAG מגדיל את הרלוונטיות של תשובות LLM ומפחית את עומס החישוב של LLM.
כדי להשתמש בחיפוש מבוסס סוכנים ב-RAG:
כשיוצרים את מאגר הנתונים, מפעילים את האפשרות 'חלוקת המסמך לחלקים'.
לחלופין, אפשר להעלות נתחים משלכם (תצוגה מקדימה עם רשימת היתרים) אם כבר חילקתם את המסמכים שלכם לנתחים.
אפשר לאחזר ולראות את החלקים בדרכים הבאות:
מגבלות
ההגבלות הבאות חלות על חלוקה לחלקים:
- אי אפשר להפעיל או להשבית את חלוקת המסמכים לחלקים אחרי שיוצרים את מאגר הנתונים.
- אתם יכולים לשלוח בקשות חיפוש למסמכים במקום לחלקים ממאגר נתונים, אם הפעלתם את האפשרות 'חלוקת מסמכים לחלקים'. עם זאת, מאגרי נתונים שמופעלת בהם חלוקת מסמכים לחלקים לא מותאמים להחזרת מסמכים. המסמכים מוחזרים על ידי צבירת נתחים למסמכים.
אפשרויות לחלוקת המסמך לחלקים
בקטע הזה מוסבר על האפשרויות שצריך לציין כדי להפעיל את חלוקת המסמך לחלקים.
במהלך יצירת מאגר הנתונים, מפעילים את האפשרויות הבאות כדי ש'חיפוש מבוסס סוכנים' יוכל להוסיף לאינדקס את המסמכים שלכם כחלקים.
חלוקת מסמכים לחלקים בהתאם לפריסה. כדי להפעיל את האפשרות הזו, צריך לכלול את השדה
documentProcessingConfigבבקשה ליצירת מאגר הנתונים ולצייןChunkingConfig.LayoutBasedChunkingConfig.כשהאפשרות 'חלוקת מסמכים לחלקים בהתאם לפריסה' מופעלת, התכונה 'חיפוש מבוסס סוכנים' מזהה את הפריסה של המסמך ומתחשבת בה במהלך החלוקה לחלקים. כך משפרים את הלכידות הסמנטית ומפחיתים את הרעש בתוכן כשמשתמשים בו לאחזור ולגנרציה של LLM. כל הטקסט בחלק יגיע מאותו רכיב פריסה, כמו כותרות, כותרות משנה ורשימות.
ניתוח פריסה. כדי להפעיל את האפשרות הזו, צריך לציין את
ParsingConfig.LayoutParsingConfigבמהלך יצירת מאגר הנתונים.מנתח הפריסות מזהה פריסות בקבצים כמו PDF, HTML ו-DOCX. הוא מזהה אלמנטים כמו בלוקים של טקסט, טבלאות, רשימות, כותרות וכותרות משנה, ומשתמש בהם כדי להגדיר את הארגון וההיררכיה של מסמך.
מידע נוסף על ניתוח פריסה זמין במאמר ניתוח פריסה.
הפעלת חלוקת המסמך לחלקים
כדי להפעיל את חלוקת המסמך לחלקים, צריך לכלול את אובייקט documentProcessingConfig בבקשה ליצירת מאגר הנתונים ולהפעיל את חלוקת המסמך לחלקים בהתאם לפריסה ואת ניתוח הפריסה.
REST
כדי להפעיל את חלוקת המסמך לחלקים:
כשיוצרים מאגר נתוני חיפוש באמצעות ה-API, צריך לכלול את האובייקט
documentProcessingConfig.chunkingConfigבבקשה ליצירת מאגר הנתונים."documentProcessingConfig": { "chunkingConfig": { "layoutBasedChunkingConfig": { "chunkSize": CHUNK_SIZE_LIMIT, "includeAncestorHeadings": HEADINGS_BOOLEAN, } }, "defaultParsingConfig": { "layoutParsingConfig": {} } }מחליפים את מה שכתוב בשדות הבאים:
-
CHUNK_SIZE_LIMIT: אופציונלי. מגבלת גודל הטוקן לכל מקטע. ערך ברירת המחדל הוא 500. הערכים הנתמכים הם 100 עד 500 (כולל). -
HEADINGS_BOOLEAN: אופציונלי. קובעת אם הכותרות כלולות בכל מקטע. ערך ברירת המחדל הואfalse. הוספת כותרת וכותרות משנה בכל הרמות לחלקים מתוך המסמך יכולה לעזור למנוע אובדן הקשר באחזור ובדירוג של החלקים.
-
המסוף
כשיוצרים מאגר נתוני חיפוש דרך המסוף, אפשר להפעיל את האפשרות 'חלוקת מסמכים לחלקים'.
שימוש בחלקים משלכם (גרסת טרום-השקה עם רשימת היתרים)
אם כבר חילקתם את המסמכים שלכם לחלקים, אתם יכולים להעלות אותם לחיפוש באמצעות סוכן במקום להפעיל את האפשרויות של חלוקת המסמכים לחלקים.
התכונה 'הוספת נתונים משלכם' היא גרסת טרום-השקה (Preview) עם רשימת היתרים. כדי להשתמש בתכונה הזו, צריך לפנות לצוות שאחראי על חשבון Google.
הצגת רשימה של חלקי מסמך
כדי להציג רשימה של כל החלקים של מסמך ספציפי, קוראים לשיטה Chunks.list.
REST
כדי להציג רשימה של חלקי מסמך, מבצעים את השלב הבא:
מבצעים קריאה ל-
Chunks.list:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. -
DOCUMENT_ID: המזהה של המסמך שממנו רוצים להציג את החלקים.
-
קבלת נתחים בפורמט JSON ממסמך שעבר עיבוד
אפשר לקבל את כל החלקים ממסמך ספציפי בפורמט JSON באמצעות קריאה ל-method getProcessedDocument. קבלת נתחים ב-JSON יכולה להיות שימושית אם אתם צריכים להעלות נתחים למקום אחר או אם אתם מחליטים לייבא מחדש נתחים לחיפוש מבוסס סוכנים באמצעות התכונה bring your own chunks.
REST
כדי לקבל נתחי JSON של מסמך, פועלים לפי השלב הבא:
מבצעים קריאה ל-
getProcessedDocument:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. -
DOCUMENT_ID: המזהה של המסמך שממנו רוצים לקבל נתחים.
-
קבלת נתחים ספציפיים
כדי לקבל נתח ספציפי, מבצעים קריאה ל-method Chunks.get.
REST
כדי לקבל נתח ספציפי, מבצעים את השלב הבא:
מבצעים קריאה ל-
Chunks.get:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. -
DOCUMENT_ID: המזהה של המסמך שממנו נלקח החלק. -
CHUNK_ID: המזהה של הנתח שרוצים להחזיר.
-
החזרת מקטעים בבקשות חיפוש
אחרי שמוודאים שהנתונים חולקו לחלקים בצורה נכונה, סוכן החיפוש יכול להחזיר נתונים מחולקים בתוצאות החיפוש.
התשובה מחזירה נתח שרלוונטי לשאילתת החיפוש. בנוסף, אתם יכולים לבחור להחזיר נתחים סמוכים שמופיעים לפני ואחרי הנתח הרלוונטי במסמך המקור. חלקים סמוכים יכולים להוסיף הקשר ולשפר את הדיוק.
REST
כדי לקבל נתונים בחלקים:
כשמבצעים בקשת חיפוש, מציינים את
ContentSearchSpec.SearchResultModeבתורchunks.contentSearchSpec": { "searchResultMode": "RESULT_MODE", "chunkSpec": { "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS, "numNextChunks": NUMBER_OF_NEXT_CHUNKS } }-
RESULT_MODE: קובע אם תוצאות החיפוש יוחזרו כמסמכים מלאים או בחלקים. כדי לקבל נתחים, צריך להפעיל את האפשרות 'חלוקת מסמכים לנתחים' במאגר הנתונים. הערכים הקבילים הםdocumentsו-chunks. אם האפשרות 'חלוקת מסמכים' מופעלת במאגר הנתונים, ערך ברירת המחדל הואchunks. NUMBER_OF_PREVIOUS_CHUNKS: מספר החלקים שיוחזרו ושקדמו לחלק הרלוונטי. הערך המקסימלי המותר הוא 5.NUMBER_OF_NEXT_CHUNKS: מספר החלקים שיוחזרו מיד אחרי החלק הרלוונטי. הערך המקסימלי המותר הוא 5.
-
דוגמה
בדוגמה הבאה של בקשת שאילתת חיפוש, הערך של SearchResultMode מוגדר ל-chunks, נשלחת בקשה לקטע אחד קודם ולקטע אחד הבא, ומספר התוצאות מוגבל לקטע רלוונטי אחד באמצעות pageSize.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
"query": "animal",
"pageSize": 1,
"contentSearchSpec": {
"searchResultMode": "CHUNKS",
"chunkSpec": {
"numPreviousChunks": 1,
"numNextChunks": 1
}
}
}'
בדוגמה הבאה מוצגת התגובה שמוחזרת לשאילתה לדוגמה. התשובה מכילה את החלקים הרלוונטיים, את החלקים הקודמים והבאים, את המטא-נתונים של המסמך המקורי ואת טווח הדפים במסמך שממנו נגזר כל חלק.
תשובה
{ "results": [ { "chunk": { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17", "id": "c17", "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) by using data, triggers or indicators. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 14, "pageEnd": 15 }, "chunkMetadata": { "previousChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16", "id": "c16", "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 13, "pageEnd": 14 } } ], "nextChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18", "id": "c18", "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. See also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 15, "pageEnd": 16 } } ] } } } ], "totalSize": 61, "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt", "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC", "guidedSearchResult": {}, "summary": {} }