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