בדף הזה מתוארים כמה תרחישים לדוגמה לפיתוח אפליקציות שמבוססות על מודלים גדולים של שפה (LLM) באמצעות LlamaIndex שמשולב עם AlloyDB Omni. קישורים ל-notebooks ב-GitHub מסופקים כדי לעזור לכם לבחון גישות או לפתח את האפליקציה שלכם.
LlamaIndex הוא מסגרת תזמור של AI גנרטיבי שמאפשרת לחבר ולשלב מקורות נתונים עם מודלים גדולים של שפה (LLM). אתם יכולים להשתמש ב-LlamaIndex כדי ליצור אפליקציות שניגשות למידע מנתונים פרטיים או ספציפיים לדומיין, ומריצות עליהם שאילתות בשפה טבעית.
LlamaIndex משמש כגשר בין נתונים בהתאמה אישית לבין מודלים גדולים של שפה (LLM), ומאפשר לפתח אפליקציות של עוזרים דיגיטליים מבוססי-ידע עם יכולות של יצירת נתונים באמצעות אחזור (RAG).
LlamaIndex מתאים מאוד לאפליקציות שמתמקדות במסמכים, כי הוא מדגיש ניהול מסמכים מובנה, מה שמפשט את תהליך ההוספה לאינדקס והשליפה. המסגרת הזו כוללת מנגנוני שאילתות שעברו אופטימיזציה, שמשפרים את המהירות והרלוונטיות של הגישה למידע, וגם טיפול יעיל במטא-נתונים לסינון מדויק.
מידע נוסף על מסגרת LlamaIndex זמין במסמכי התיעוד של מוצר LlamaIndex.
רכיבי LlamaIndex
ב-AlloyDB Omni יש את הממשקים הבאים של LlamaIndex:
- מאגר וקטורים
- Document Store
- חנויות אינדקס
- חנות צ'אט
- כלי לקריאת מסמכים
המדריך למתחילים של AlloyDB Omni מסביר איך משתמשים ב-LlamaIndex.
מאגר וקטורים
השילוב הזה של LlamaIndex מאפשר לכם להשתמש באופי היציב והסקלאבילי של AlloyDB Omni כדי לאחסן ולנהל את הנתונים של LlamaIndex. כשמשלבים את יכולות הוספת האינדקס והשאילתות של LlamaIndex עם הביצועים הגבוהים והאמינות של AlloyDB Omni, אפשר ליצור אפליקציות יעילות וסקלאביליות יותר שמבוססות על LLM.
LlamaIndex מפרק מסמך (מסמך, טקסט וקובצי PDF) לרכיבי מסמך שנקראים צמתים. ה-VectorStore יכול להכיל רק את וקטורי ההטמעה של תוכן הצמתים שהוטמעו ואת הטקסט של הצמתים. צומת מכיל תוכן טקסט, הטמעות וקטורים ומטא-נתונים. אתם יכולים להחיל מסננים על שדות המטא-נתונים האלה כדי להגביל את אחזור הצמתים לאלה שתואמים לקריטריונים שצוינו במטא-נתונים.
כדי לעבוד עם מאגרי וקטורים ב-AlloyDB Omni, משתמשים במחלקה AlloyDBVectorStore. מידע נוסף זמין במאמר LlamaIndex Vector Stores.
אחסון הטמעות וקטורים באמצעות המחלקה AlloyDBVectorStore
ב-AlloyDB Omni notebook למאגר וקטורים מוסבר איך:
- יוצרים
AlloyDBEngineכדי להתחבר למכונה של AlloyDB Omni באמצעותAlloyDBEngine.from_connection_string(). - מאתחלים טבלה לאחסון הטמעות וקטורים.
- יוצרים מופע של מחלקת הטמעה באמצעות כל מודל הטמעות של LlamaIndex.
- מאתחלים מאגר וקטורים של
AlloyDBVectorStoreשמוגדר כברירת מחדל. - יוצרים אינדקס ממאגר הווקטורים ושולחים אליו שאילתות באמצעות VectorStoreIndex.
- ליצור מאגר וקטורים מותאם אישית כדי לאחסן ולסנן מטא-נתונים.
- כדי לשפר את זמן האחזור של החיפוש, כדאי להוסיף אינדקס ANN.
מאגרי מסמכים ואינדקסים
השילוב של LlamaIndex Document Stores מנהל את האחסון והאחזור של מסמכים מובְנים, ומבצע אופטימיזציה ליכולות של LlamaIndex שמתמקדות במסמכים. Document Store מאחסן את התוכן שקשור לווקטורים במאגר הווקטורים.
מידע נוסף זמין במסמכי התיעוד של המוצר LlamaIndex Document Stores.
מאגרי אינדקסים מאפשרים לנהל אינדקסים כדי להריץ שאילתות במהירות ולאחזר נתונים, למשל סיכום, מילות מפתח ואינדקס עץ. Index ב-LlamaIndex הוא אחסון קל משקל רק למטא-נתונים של הצומת. עדכונים במטא-נתונים של צומת לא דורשים הוספה מחדש לאינדקס (קריאת יצירת הטמעה) של הצומת המלא או של כל הצמתים במסמך.
מידע נוסף זמין במאמר LlamaIndex Index Stores.
אחסון מסמכים ואינדקסים
בNotebook של AlloyDB Omni למאגרי מסמכים מוסבר איך משתמשים ב-AlloyDB Omni כדי לאחסן מסמכים ואינדקסים באמצעות המחלקות AlloyDBDocumentStore ו-AlloyDBIndexStore. אתם תלמדו איך:
- יוצרים
AlloyDBEngineכדי להתחבר למכונה של AlloyDB Omni באמצעותAlloyDBEngine.from_connection_string(). - יוצרים טבלאות ל-DocumentStore ול-IndexStore.
- מאתחלים את
AlloyDBDocumentStoreכברירת מחדל. - מגדירים
AlloyDBIndexStore. - מוסיפים מסמכים אל
Docstore. - שימוש במאגרי מסמכים עם כמה אינדקסים.
- טוענים את האינדקסים הקיימים.
חנות צ'אט
מאגרי נתונים לצ'אטים שומרים את היסטוריית השיחות וההקשר של אפליקציות מבוססות-צ'אט, ומאפשרים אינטראקציות בהתאמה אישית. מאגרי צ'אטים הם מאגר מרכזי ששומר ומאחזר הודעות צ'אט בתוך שיחה, וכך מאפשר ל-LLM לשמור על ההקשר ולספק תשובות רלוונטיות יותר על סמך הדיאלוג המתמשך.
מודלי שפה גדולים הם חסרי מצב (stateless) כברירת מחדל, כלומר הם לא שומרים קלטים קודמים, אלא אם הקלטים האלה מסופקים באופן מפורש בכל פעם. שימוש במאגר שיחות מאפשר לשמור את ההקשר של השיחה, וכך המודל יכול ליצור תשובות רלוונטיות ועקביות יותר לאורך זמן.
מודול הזיכרון ב-LlamaIndex מאפשר לאחסן ולשלוף ביעילות את ההקשר של השיחה, וכך ליצור אינטראקציות מותאמות אישית יותר ורגישות להקשר באפליקציות צ'אט. אתם יכולים לשלב את מודול הזיכרון ב-LlamaIndex עם ChatStore ו-ChatMemoryBuffer. מידע נוסף זמין במאמר LlamaIndex Chat Stores.
שמירת היסטוריית השיחות
בNotebook של AlloyDB Omni לחנויות צ'אט מוסבר איך להשתמש ב-AlloyDB Omni כדי לאחסן את היסטוריית הצ'אט באמצעות המחלקה AlloyDBChatStore. אתם תלמדו איך:
- יוצרים
AlloyDBEngineכדי להתחבר למכונה של AlloyDB Omni באמצעותAlloyDBEngine.from_connection_string(). - מאתחלים את
AlloyDBChatStoreכברירת מחדל. - יוצרים
ChatMemoryBuffer. - יוצרים מופע של מחלקת LLM.
- משתמשים ב-
AlloyDBChatStoreבלי הקשר של אחסון. - משתמשים ב-
AlloyDBChatStoreעם הקשר של אחסון. - ליצור את מנוע הצ'אט ולהשתמש בו.
כלי לקריאת מסמכים
הכלי לקריאת מסמכים מאחזר ביעילות נתונים מ-AlloyDB Omni וממיר אותם לפורמטים שתואמים ל-LlamaIndex לצורך הוספה לאינדקס. הממשק של Document Reader מספק שיטות לטעינת נתונים ממקור בתור Documents.
Document הוא מחלקה שמאחסנת קטע טקסט ומטא-נתונים משויכים. אתם יכולים להשתמש בכלים לקריאת מסמכים כדי לטעון מסמכים שאתם רוצים לשמור במאגרי מסמכים או להשתמש בהם כדי ליצור אינדקסים.
אחזור נתונים כמסמכים
בAlloyDB Omni notebook לכלי לקריאת מסמכים מוסבר איך להשתמש ב-AlloyDB Omni כדי לאחזר נתונים כמסמכים באמצעות המחלקה AlloyDBReader. כאן תלמדו איך:
- יוצרים
AlloyDBEngineכדי להתחבר למכונה של AlloyDB Omni באמצעותAlloyDBEngine.from_connection_string(). - יוצרים
AlloyDBReader. - טוענים מסמכים באמצעות הארגומנט
table_name. - טעינת מסמכים באמצעות שאילתת SQL.
- הגדרת הפורמט של תוכן הדף.
- טוענים את המסמכים.