מנתח ברירת המחדל של Gemini Enterprise הוא Layout. בדרך כלל זו האפשרות הכי טובה, כי היא מזהה ומבינה את ההיררכיה של המסמך, מה שמוביל לחלוקה טובה יותר של הנתונים, ובסופו של דבר ליצירה ולאחזור טובים יותר של התשובות. עם זאת, יכול להיות שתרצו לשנות את מנתח ברירת המחדל במצבים מסוימים, למשל כשיש לכם הרבה נתונים סרוקים שאתם רוצים להעלות למאגר הנתונים. בדף הזה מוסבר איך לשנות את המנתח.
אתם יכולים לציין איך לנתח תוכן לא מובנה כשאתם מעלים אותו ל-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, פועלים לפי השלב הבא:
מבצעים קריאה ל-
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:
מפעילים את חלוקת המסמכים לחלקים כשיוצרים את מאגר הנתונים. לחלופין, אם כבר חילקתם את המסמכים לחלקים, אתם יכולים להעלות את החלקים שלכם (גרסת טרום-השקה (Preview)).
אפשר לאחזר קטעים ולצפות בהם בדרכים הבאות:
מגבלות
המגבלות הבאות חלות על חלוקה לחלקים:
- אי אפשר להפעיל או להשבית את חלוקת המסמכים לחלקים אחרי שיוצרים את מאגר הנתונים.
- אתם יכולים לשלוח בקשות חיפוש למסמכים במקום לחלקים ממאגר נתונים שמופעלת בו חלוקת מסמכים לחלקים. עם זאת, מאגרי נתונים שמופעלת בהם חלוקת מסמכים לחלקים לא מותאמים להחזרת מסמכים. המסמכים מוחזרים על ידי צבירת קטעים למסמכים.
אפשרויות לחלוקת מסמכים לחלקים
בקטע הזה מתוארות האפשרויות שצריך לציין כדי להפעיל חלוקה של מסמכים לחלקים.
כשיוצרים את מאגר הנתונים, מפעילים את האפשרויות הבאות כדי ש-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, אפשר להפעיל את השיטה 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: המזהה של המסמך שממנו רוצים לקבל קטעים.
-
קבלת קטעים ספציפיים
כדי לקבל קטע ספציפי, צריך להפעיל את השיטה 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": {} }