מנתח ברירת המחדל של Gemini Enterprise הוא מנתח הפריסה. בדרך כלל זו הבחירה הכי טובה כי היא מזהה את ההיררכיה של המסמך ומבינה אותה, מה שמוביל לחלוקה טובה יותר לחלקים ובסופו של דבר ליצירה ולאחזור טובים יותר של תשובות. עם זאת, יכול להיות שתרצו לשנות את מנתח ברירת המחדל במצבים מסוימים, למשל כשיש לכם הרבה נתונים סרוקים שאתם רוצים להעלות למאגר הנתונים. בדף הזה מוסבר איך לשנות את המנתח.
אתם יכולים לציין איך לנתח תוכן לא מובנה כשאתם מעלים אותו ל-Gemini Enterprise. Gemini Enterprise מספק מנתח פריסה (ברירת המחדל, מומלץ), מנתח דיגיטלי ומנתח OCR לקובצי PDF. אתם יכולים גם להביא מסמכים מנותחים משלכם.
שיפור זיהוי התוכן באמצעות ניתוח
ניתוח מסמכים
אתם יכולים לשלוט בניתוח התוכן בדרכים הבאות:
מציינים את סוג המנתח. אפשר לציין את סוג הניתוח שרוצים להחיל בהתאם לסוג הקובץ:
מנתח פריסה. מנתח הפריסה הוא מנתח ברירת המחדל. מידע נוסף על המנתח הזה זמין במאמר חלוקת מסמכים לחלקים בשביל RAG.
ניתוח OCR לקובצי PDF. אם אתם מתכננים להעלות קובצי PDF סרוקים או קובצי PDF עם טקסט בתוך תמונות, אתם יכולים להפעיל את מנתח ה-OCR כדי לשפר את ההוספה של קובצי PDF לאינדקס. מידע נוסף זמין בקטע מנתח OCR לקובצי PDF במאמר הזה.
מנתח דיגיטלי. מנתח הנתונים הדיגיטלי הוא מנתח נתונים בסיסי שמחלץ טקסט בפורמט קריא למכונה ממסמכים. מידע נוסף זמין במאמר בנושא ניתוח דיגיטלי.
העלאת מסמך מנותח משלכם. (גרסת טרום-השקה) אם כבר ניתחתם את המסמכים הלא מובְנים, אתם יכולים לייבא את התוכן המנותח ל-Gemini Enterprise. שימוש במסמך מנותח משלכם
השוואה בין הזמינות של מנתחי נתונים
בטבלה הבאה מפורטת הזמינות של כל מנתח לפי סוגי קבצים של מסמכים, ומוצגים הרכיבים שכל מנתח יכול לזהות ולנתח.
| סוג קובץ | מנתח דיגיטלי | מנתח OCR | מנתח פריסה |
|---|---|---|---|
| HTML | זיהוי רכיבי פסקה | לא רלוונטי | זיהוי רכיבים של פסקאות, טבלאות, תמונות, רשימות, שמות וכותרות |
| זיהוי רכיבים של פסקאות (טקסט דיגיטלי) | זיהוי רכיבי פסקה | זיהוי רכיבים של פסקאות, טבלאות, כותרות, תמונות וכותרות עליונות | |
| DOCX | זיהוי רכיבי פסקה | לא רלוונטי | זיהוי רכיבים של פסקה, טבלה, תמונה, רשימה, כותרת, כותרת עליונה |
| PPTX | זיהוי רכיבי פסקה | לא רלוונטי | זיהוי רכיבים של פסקה, טבלה, תמונה, רשימה, כותרת, כותרת עליונה |
| TXT | זיהוי של רכיבי פסקה | לא רלוונטי | לא רלוונטי |
| XLSX | זיהוי של רכיבי פסקה | לא רלוונטי | זיהוי רכיבים של פסקאות, טבלאות, כותרות ושמות |
| XLSM | זיהוי רכיבי פסקה | לא רלוונטי | זיהוי רכיבים של פסקאות, טבלאות, כותרות וכותרות עליונות |
מנתח OCR לקובצי PDF
אם יש לכם קובצי PDF שלא ניתן לחפש בהם (קובצי PDF סרוקים או קובצי PDF עם טקסט בתוך תמונות, כמו אינפוגרפיקה), Google ממליצה להפעיל עיבוד של זיהוי תווים אופטי (OCR) במהלך יצירת מאגר הנתונים. כך Gemini Enterprise יכול לחלץ רכיבים של פסקאות.
אם יש לכם קובצי PDF שניתן לחפש בהם או פורמטים דיגיטליים אחרים שמורכבים בעיקר מטקסט קריא למכונה, בדרך כלל אין צורך להשתמש במנתח OCR. עם זאת, אם יש לכם קובצי PDF שמכילים גם טקסט שלא ניתן לחיפוש (כמו טקסט סרוק או אינפוגרפיקה) וגם טקסט בפורמט קריא למכונה, אתם יכולים להגדיר את השדה useNativeText כ-true כשאתם מציינים את מנתח ה-OCR. במקרה כזה, טקסט בפורמט קריא למכונה משולב עם פלט של ניתוח OCR כדי לשפר את איכות חילוץ הטקסט.
תכונות עיבוד OCR זמינות לאפליקציות חיפוש בהתאמה אישית עם מאגרי נתונים לא מובנים.
מעבד ה-OCR יכול לנתח את 500 הדפים הראשונים של קובץ PDF. דפים מעבר למגבלה של 500 לא מעובדים.
מנתח פריסה
זהו מנתח ברירת המחדל. הוא מאפשר ל-Gemini Enterprise לזהות פריסות של קובצי PDF, HTML, DOCX, PPTX, XLSX ו-XLSM. Gemini Enterprise יכול לזהות רכיבי תוכן כמו בלוקים של טקסט, טבלאות, רשימות ורכיבים מבניים כמו כותרות, ולהשתמש בהם כדי להגדיר את הארגון וההיררכיה של מסמך.
כלי הניתוח של הפריסה מזהה רכיבי תוכן כמו פסקאות, טבלאות, רשימות ורכיבים מבניים כמו כותרות, כותרות משנה, כותרות עליונות והערות שוליים.
Gemini Enterprise מחלק את המסמכים לחלקים בזמן ההטמעה, ויכול להחזיר מסמכים כחלקים. זיהוי הפריסה של המסמך מאפשר חלוקה לקטעים בהתאם לתוכן, ומשפר את החיפוש ואת יצירת התשובות שקשורות לרכיבי המסמך. איך מחלקים מסמכים לחלקים בשביל RAG
כדי לנצל בצורה הטובה ביותר את היכולות המלאות של מנתח הפריסה, כמו ניתוח טבלאות, פריסות של כמה עמודות ותוכן שתלוי ב-OCR, כדאי להשתמש במצב הטמעת נתונים.
גם מחברים במצב חיבור של חיפוש מאוחד (כמו Microsoft SharePoint ו-Microsoft OneDrive) משתמשים במנתח הפריסה, אבל האופי של השאילתות האלה בזמן אמת יכול למנוע מהמנתח לנתח באופן מלא מבני PDF מורכבים. לניתוח מעמיק של קובצי PDF מורכבים, מומלץ להשתמש במחברים במצב של העברת נתונים.
הערות לתמונה
כשמשתמשים בהוספת הערות לתמונות, אם מזוהה תמונה במסמך מקור, התיאור (ההערה) של התמונה והתמונה עצמה מוקצים לקטע. ההערה קובעת אם החלק צריך להיות מוצג בתוצאת חיפוש. אם נוצרת תשובה, ההערה יכולה להיות מקור לתשובה.
מנתח הפריסה יכול לזהות את סוגי התמונות הבאים: BMP, GIF, JPEG, PNG ו-TIFF.
הערה בטבלה
כשמזהים טבלה במסמך מקור, מערכת הוספת ההערות לטבלה מקצה לחלק תיאור (הערה) של הטבלה ואת הטבלה עצמה. ההערה קובעת אם החלק צריך להיות מוצג בתוצאת חיפוש. אם נוצרת תשובה, ההערה יכולה להיות מקור לתשובה.
החרגת תוכן HTML
כשמשתמשים בכלי לניתוח פריסות במסמכי HTML, אפשר להחריג חלקים ספציפיים מתוכן ה-HTML כך שלא יעברו עיבוד. כדי לשפר את איכות הנתונים באפליקציות חיפוש ובאפליקציות RAG, אתם יכולים להחריג קטעים או תבניות כמו תפריטי ניווט, כותרות עליונות, כותרות תחתונות או סרגלי צד.
השדות הבאים ב-layoutParsingConfig משמשים למטרה הזו:
-
excludeHtmlElements: רשימה של תגי HTML שצריך להחריג. התוכן שמופיע בין התגים האלה מוחרג. -
excludeHtmlClasses: רשימה של מאפייני מחלקות HTML שצריך להחריג. רכיבי HTML שמכילים את מאפייני המחלקה האלה, יחד עם התוכן שלהם, מוחרגים. -
excludeHtmlIds: רשימה של מאפייני מזהה של רכיבי HTML שצריך להחריג. רכיבי HTML עם מאפייני המזהה האלה, יחד עם התוכן שלהם, לא נכללים.
מנתח דיגיטלי
מנתח דיגיטלי מחלץ טקסט בפורמט קריא למכונה ממסמכים. הוא מזהה בלוקים של טקסט, אבל לא רכיבים של מסמכים כמו טבלאות, רשימות וכותרות.
המנתח הדיגיטלי משמש אם המנתח שצוין לא תומך בסוג הקובץ שמועלה. לדוגמה, אם מציינים את מנתח הפריסה, מנתח הדיגיטל משמש לניתוח קובצי TXT כי מנתח הפריסה לא תומך בקובצי טקסט.
ציון מנתח ברירת מחדל
כשיוצרים מאגר נתונים, אפשר לכלול את האובייקט documentProcessingConfig כדי לציין מנתח ברירת מחדל לאותו מאגר נתונים. אם לא כוללים את documentProcessingConfig.defaultParsingConfig, המערכת משתמשת במנתח הדיגיטלי. המנתח הדיגיטלי משמש גם אם המנתח שצוין לא זמין לסוג קובץ מסוים.
REST
כדי לציין מנתח ברירת מחדל:
כשיוצרים מאגר נתונים באמצעות ה-API, צריך לכלול את
documentProcessingConfig.defaultParsingConfigבבקשה ליצירת מאגר הנתונים. אפשר לציין את מנתח ה-OCR, את מנתח הפריסה או את המנתח הדיגיטלי:כדי לציין את מנתח ה-OCR לקובצי PDF:
"documentProcessingConfig": { "defaultParsingConfig": { "ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" } } }NATIVE_TEXT_BOOLEANהוא אופציונלי. צריך להגדיר את השדה הזה רק אם מטמיעים קובצי PDF. אם מגדירים את הערךtrue, מופעל עיבוד טקסט בפורמט קריא למכונה במנתח ה-OCR. ערך ברירת המחדל הואfalse.
כדי לציין את מנתח הפריסה:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": {} } }כדי לציין את המנתח הדיגיטלי:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
המסוף
כשיוצרים מאגר נתוני חיפוש דרך המסוף, אפשר לציין את מנתח ברירת המחדל.
דוגמה
בדוגמה הבאה מצוין במהלך יצירת מאגר הנתונים שמנתח ה-OCR יהיה מנתח ברירת המחדל. כי מנתח ה-OCR חל רק על קובצי PDF, כל קובצי ה-PDF שמוזנים למערכת יעברו עיבוד על ידי מנתח ה-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"
}
}
}
}'
הגדרת שינויים מברירת המחדל של מנתח לכל סוגי הקבצים
אתם יכולים לציין שסוג קובץ מסוים צריך לעבור ניתוח על ידי מנתח שונה ממנתח ברירת המחדל. כדי לעשות את זה, צריך לכלול את השדה documentProcessingConfig בבקשה ליצירת מאגר הנתונים ולציין את המנתח החלופי. אם לא מציינים מנתח ברירת מחדל, המנתח הדיגיטלי הוא ברירת המחדל.
REST
כדי לציין ניתוח שמבטל את ברירת המחדל לסוג קובץ ספציפי:
כשיוצרים מאגר נתונים באמצעות ה-API, צריך לכלול את
documentProcessingConfig.defaultParsingConfigבבקשה ליצירת מאגר הנתונים.אתם יכולים לציין מנתח לסוג קובץ מסוים:
"documentProcessingConfig": { "parsingConfigOverrides": { "FILE_TYPE": { PARSING_CONFIG }, } }מחליפים את מה שכתוב בשדות הבאים:
FILE_TYPE: הערכים הקבילים הםpdf,html,docx,pptx,xlsmו-xlsx.
PARSING_CONFIG: מציינים את הגדרות המנתח שרוצים להחיל על סוג הקובץ. אפשר לציין את מנתח ה-OCR, את מנתח הפריסה או את המנתח הדיגיטלי:כדי לציין את מנתח ה-OCR לקובצי PDF:
"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": {}
}
}
}
}'
עריכת ניתוח המסמכים במאגרי נתונים קיימים
אם כבר יש לכם מאגר נתונים, אתם יכולים לשנות את מנתח ברירת המחדל ולהוסיף חריגים לפורמט הקובץ. עם זאת, הגדרות הניתוח המעודכנות חלות רק על מסמכים חדשים שיובאו למאגר הנתונים. מסמכים שכבר נמצאים במאגר הנתונים לא מנותחים מחדש עם ההגדרות החדשות.
כדי לשנות את הגדרות ניתוח המסמכים במאגר נתונים:
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
בתפריט הניווט, לוחצים על מאגרי נתונים.
בעמודה Name, לוחצים על מאגר הנתונים שרוצים לערוך.
בכרטיסייה 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 יכולה להיות שימושית אם אתם צריכים להעלות את המסמך המנותח למקום אחר, או אם אתם מחליטים לייבא מחדש מסמכים מנותחים ל-Gemini Enterprise באמצעות התכונה ייבוא מסמך מנותח משלכם.
REST
כדי לקבל מסמכים מנותחים ב-JSON, פועלים לפי השלב הבא:
מפעילים את ה-method
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: המזהה של המסמך שרוצים לקבל.
-
שימוש במסמך מנותח משלכם
אתם יכולים לייבא מסמכים לא מובְנים שעברו ניתוח מראש למאגרי הנתונים של Gemini Enterprise. לדוגמה, במקום לייבא מסמך PDF גולמי, אתם יכולים לנתח את קובץ ה-PDF בעצמכם ולייבא את תוצאת הניתוח. כך תוכלו לייבא את המסמכים בצורה מובנית, ולוודא שחיפוש ויצירת תשובות יתבססו על מידע לגבי הפריסה והרכיבים של המסמך.
מסמך לא מובנה שעבר ניתוח מיוצג על ידי JSON שמתאר את המסמך הלא מובנה באמצעות רצף של בלוקים של טקסט, טבלה ורשימה.
לפני שמתחילים
מכינים את המסמכים המנותחים.
כל מסמך מנותח שרוצים להטמיע במאגר נתונים לא מובְנים צריך להיות מיוצג על ידי קובץ JSON עצמאי, שתואם למבנה הסכימה הבא של JSON:
| שדה | סוג | תיאור |
|---|---|---|
title |
String | השם של קובץ התוכן. |
description |
String | אופציונלי: תיאור של המסמך. |
uri |
String | ה-URI של Cloud Storage של התוכן. |
name |
String | אופציונלי: נתיב השם המלא של המשאב של המסמך. |
blocks |
מערך | רשימה מסודרת של בלוקים של פריסה שמייצגים את מבנה המסמך. |
הוספת נתונים לא מובנים שנותחו
מייבאים קובצי JSON עם נתוני המסמכים הלא מובְנים שנותחו באותו אופן שבו מייבאים סוגים אחרים של מסמכים לא מובְנים, כמו קובצי PDF.
בכל פעם שמעלים קובץ JSON והוא מזוהה באמצעות סוג MIME של application/json או סיומת קובץ JSON בקובץ ה-JSON Lines של המטא-נתונים, הוא מטופל כמסמך מנותח.
כדי להטמיע נתונים לא מובְנים מנותחים:
מכינים את קובץ המטא-נתונים בפורמט JSON Lines.
כל שורה בקובץ המטא-נתונים צריכה להיות בפורמט structData:
{ "id": "DOCUMENT_ID", "structData": { "category": "CATEGORY", "updated": "YYYY-MM-DD" }, "content": { "mimeType": "application/json", "uri": "gs://PARSED_DOC_FILE" } }מחליפים את מה שכתוב בשדות הבאים:
DOCUMENT_ID: המזהה הייחודי של המסמך.
CATEGORY: תווית לבחירתכם לסיווג המסמך. השדה הזה מיועד בדרך כלל למטא-נתונים שאפשר להשתמש בהם לסינון ולפילוח.
YYYY-MM-DD: תאריך השינוי של המסמך.
PARSED_DOC_FILE: הנתיב ב-Cloud Storage לאחד מקובצי ה-JSON העצמאיים שיצרתם בשלב לפני שמתחילים שלמעלה. לדוגמה:my_bucket/my_folder/my_file.json.
מטמיעים את הנתונים במאגר נתונים חדש לא מובְנים (יצירת מאגר נתונים מאינטראקציה ישירה) או במאגר נתונים קיים (רענון נתונים לא מובְנים).
חלוקת מסמכים לחלקים בשביל RAG
כברירת מחדל, Gemini Enterprise מותאם לאחזור מסמכים, כך שאפליקציית החיפוש מחזירה מסמך כמו קובץ PDF או דף אינטרנט עם כל תוצאת חיפוש.
תכונות החלוקה של מסמכים לחלקים זמינות לאפליקציות חיפוש בהתאמה אישית עם מאגרי נתונים לא מובְנים.
במקום זאת, אפשר לבצע אופטימיזציה של Gemini Enterprise ל-RAG, שבו אפליקציית החיפוש משמשת בעיקר להרחבת הפלט של ה-LLM באמצעות נתוני הלקוחות בהתאמה אישית. כשההגדרה "חלוקת מסמכים לחלקים" מופעלת, Gemini Enterprise מחלק את המסמכים לחלקים. בתוצאות החיפוש, אפליקציית החיפוש יכולה להחזיר קטעי נתונים רלוונטיים במקום מסמכים מלאים. שימוש בנתונים מחולקים ל-RAG מגביר את הרלוונטיות של התשובות של ה-LLM ומפחית את העומס החישובי על ה-LLM.
כדי להשתמש ב-Gemini Enterprise ל-RAG:
כשיוצרים את מאגר הנתונים, מפעילים את האפשרות 'חלוקת המסמך לחלקים'. לחלופין, אם כבר חילקתם את המסמכים שלכם לחלקים, אתם יכולים להעלות את החלקים שלכם (גרסת טרום-השקה).
אפשר לאחזר ולראות את החלקים בדרכים הבאות:
מגבלות
המגבלות הבאות חלות על חלוקה לחלקים:
- אי אפשר להפעיל או להשבית את חלוקת המסמכים לחלקים אחרי שיוצרים את מאגר הנתונים.
- אם הפעלתם את האפשרות 'חלוקת מסמכים לחלקים', אתם יכולים לשלוח בקשות חיפוש למסמכים במקום לחלקים ממאגר נתונים. עם זאת, מאגרי נתונים שמופעל בהם פיצול מסמכים לא מותאמים להחזרת מסמכים. המסמכים מוחזרים על ידי צבירת נתחים למסמכים.
אפשרויות לחלוקת מסמכים לחלקים
בקטע הזה מתוארות האפשרויות שצריך לציין כדי להפעיל חלוקה של מסמכים לחלקים.
כשיוצרים את מאגר הנתונים, מפעילים את האפשרויות הבאות כדי ש-Gemini Enterprise יוכל להוסיף את המסמכים לאינדקס כקטעים.
חלוקת מסמכים לפי פריסה. כדי להפעיל את האפשרות הזו, צריך לכלול את השדה
documentProcessingConfigבבקשה ליצירת מאגר הנתונים ולצייןChunkingConfig.LayoutBasedChunkingConfig.כשהתכונה "חלוקת מסמכים לפי פריסה" מופעלת, Gemini Enterprise מזהה את הפריסה של המסמך ומביא אותה בחשבון במהלך החלוקה. כך משפרים את העקביות הסמנטית ומפחיתים את הרעש בתוכן כשמשתמשים בו לאחזור וליצירת LLM. כל הטקסט בחלק מסוים יגיע מאותה ישות פריסה, כמו כותרות, כותרות משנה ורשימות.
ניתוח פריסה. כדי להפעיל את האפשרות הזו, מציינים את הערך
ParsingConfig.LayoutParsingConfigבמהלך יצירת מאגר הנתונים.כלי הניתוח של הפריסה מזהה פריסות בקבצים בפורמטים PDF, HTML, DOCX, PPTX, XLSX ו-XLSM. הוא מזהה אלמנטים כמו בלוקים של טקסט, טבלאות, רשימות, כותרות וכותרות משנה, ומשתמש בהם כדי להגדיר את הארגון וההיררכיה של המסמך.
מידע נוסף על ניתוח פריסה זמין במאמר ניתוח פריסה.
הפעלת חלוקת המסמך לחלקים
כדי להפעיל חלוקה של מסמכים לחלקים, צריך לכלול את האובייקט 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. הוספה של הכותרת והכותרות בכל הרמות לחלקים מתוך המסמך יכולה לעזור למנוע אובדן הקשר באחזור ובדירוג של החלקים.
-
המסוף
כשיוצרים מאגר נתוני חיפוש דרך המסוף, אפשר להפעיל את האפשרות 'חלוקת מסמכים לחלקים'.
שימוש בנתונים משלכם
אם כבר חילקתם את המסמכים שלכם לחלקים, אתם יכולים להעלות אותם ל-Gemini Enterprise במקום להפעיל את אפשרויות החלוקה לחלקים.
כל מסמך שרוצים להוסיף כחלקים מפולחים מראש צריך להיות מיוצג על ידי קובץ JSON עצמאי שמתאים לסכימה הבאה:
{
"documentMetadata": {
"title": "DOCUMENT_TITLE",
"uri": "gs://ORIGINAL_DOC_FILE"
},
"chunks": [
{
"id": "CHUNK_ID",
"content": "CHUNK_CONTENT",
"pageSpan": {
"pageStart": PAGE_START,
"pageEnd": PAGE_END
}
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
DOCUMENT_TITLE: שם המסמך. -
ORIGINAL_DOC_FILE: הנתיב ב-Cloud Storage לקובץ המסמך המקורי, לדוגמה,my-bucket-123/my_folder/document.pdf. -
CHUNK_ID: מזהה ייחודי של המקטע. -
CHUNK_CONTENT: תוכן הטקסט של החלק. -
PAGE_START: מספר הדף שבו מתחיל החלק במסמך המקורי (המספור מתחיל ב-1). -
PAGE_END: מספר הדף שבו מסתיים החלק במסמך המקורי, החל מ-1.
אין מתג מפורש להפעלה של התכונה הזו. כשמעלים קובץ JSON שתואם לסכימה הזו ומזוהה על ידי סוג MIME application/json או סיומת קובץ JSON בקובץ שורות המטא-נתונים, הוא מזוהה באופן אוטומטי ומוזן כמסמך שחולק מראש לחלקים.
הצגת רשימה של קטעי מסמך
כדי להציג את כל החלקים של מסמך מסוים, צריך להפעיל את השיטה 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 יכולה לעזור אם אתם צריכים להעלות מקטעים למקום אחר, או אם אתם מחליטים לייבא מחדש מקטעים ל-Gemini Enterprise באמצעות התכונה ייבוא מקטעים משלכם.
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: המזהה של מקטע הטקסט שרוצים להחזיר.
-
החזרת קטעים בבקשות חיפוש
אחרי שמוודאים שהנתונים חולקו לחלקים בצורה נכונה, Gemini Enterprise יכול להחזיר נתונים מחולקים בתוצאות החיפוש.
התשובה מחזירה קטע שרלוונטי לשאילתת החיפוש. בנוסף, אפשר לבחור להחזיר נתחים סמוכים שמופיעים לפני ואחרי הנתח הרלוונטי במסמך המקור. חלקים סמוכים יכולים להוסיף הקשר ולשפר את הדיוק.
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) b 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": {} }