בדף הזה מתוארים כמה תרחישים לדוגמה של פיתוח אפליקציות שמבוססות על מודלים גדולים של שפה (LLM) באמצעות LlamaIndex שמשולב עם Cloud SQL ל-PostgreSQL. קישורים ל-notebooks ב-GitHub מסופקים כדי לעזור לכם לבחון גישות או לפתח את האפליקציה שלכם.
LlamaIndex הוא מסגרת תזמור של AI גנרטיבי שמאפשרת לחבר ולשלב מקורות נתונים עם מודלים גדולים של שפה (LLM). אתם יכולים להשתמש ב-LlamaIndex כדי ליצור אפליקציות שניגשות למידע מנתונים פרטיים או ספציפיים לדומיין, ושולחות שאילתות לגבי המידע הזה באמצעות שאילתות בשפה טבעית.
LlamaIndex משמש כגשר בין נתונים בהתאמה אישית לבין מודלים גדולים של שפה (LLM), ומאפשר לפתח אפליקציות של עוזרים דיגיטליים עם יכולות של יצירה משולבת-אחזור (RAG).
LlamaIndex מתאים מאוד לאפליקציות שמתמקדות במסמכים, כי הוא מדגיש ניהול מסמכים מובנה, מה שמפשט את ההוספה לאינדקס ואת השליפה. המסגרת הזו כוללת מנגנוני שאילתות שעברו אופטימיזציה, שמשפרים את המהירות והרלוונטיות של הגישה למידע, וגם טיפול יעיל במטא-נתונים לסינון מדויק.
מידע נוסף על מסגרת LlamaIndex זמין במסמכי התיעוד של מוצר LlamaIndex.
רכיבי LlamaIndex
ב-Cloud SQL ל-PostgreSQL יש את הממשקים הבאים של LlamaIndex:
- מאגר וקטורים
- Document Store
- חנויות אינדקס
- חנויות צ'אט
- כלי לקריאת מסמכים
המדריך למתחילים: איך משתמשים ב-LlamaIndex עם Cloud SQL ל-PostgreSQL
מאגר וקטורים
השילוב הזה של LlamaIndex מאפשר לכם להשתמש באופי החזק והסקלאבילי של Cloud SQL ל-PostgreSQL כדי לאחסן ולנהל את הנתונים של LlamaIndex. שילוב יכולות ההוספה לאינדקס והשאילתות של LlamaIndex עם הביצועים הגבוהים והאמינות של Cloud SQL ל-PostgreSQL מאפשר לכם ליצור אפליקציות יעילות יותר שמבוססות על LLM וניתנות להתאמה לעומס (scaling).
LlamaIndex מפרק מסמך (doc, טקסט ו-PDF) לרכיבי מסמך שנקראים צמתים. VectorStore יכול להכיל רק את וקטורי ההטמעה של תוכן הצמתים שהוטמעו ואת הטקסט של הצמתים. צומת, שהוא קונספט בסיסי, מכיל תוכן טקסט, הטמעות וקטורים ומטא-נתונים. אתם יכולים להחיל מסננים על שדות המטא-נתונים האלה כדי להגביל את אחזור הצמתים לאלה שתואמים לקריטריונים שצוינו במטא-נתונים.
כדי לעבוד עם מאגרי וקטורים ב-Cloud SQL ל-PostgreSQL, משתמשים בכיתה PostgresVectorStore.
מידע נוסף זמין במאמר LlamaIndex Vector Stores.
אחסון הטמעות וקטורים באמצעות המחלקה PostgresVectorStore
ב-Cloud SQL ל-PostgreSQL למאגר וקטורים מוסבר איך:
- הפעלת טבלה לאחסון הטמעות וקטורים
- יוצרים מופע של מחלקת הטמעה באמצעות כל מודל הטמעות של Llama Index.
- מאתחלים מאגר וקטורים של
PostgresVectorStoreשמוגדר כברירת מחדל. - יוצרים אינדקס ממאגר הווקטורים ושולחים אליו שאילתות באמצעות VectorStoreIndex.
- ליצור מאגר וקטורים מותאם אישית כדי לאחסן ולסנן מטא-נתונים ביעילות.
- כדי לשפר את זמן האחזור של החיפוש, מוסיפים אינדקס ANN.
מאגרי מסמכים ואינדקסים
השילוב של LlamaIndex Document Stores מנהל את האחסון והאחזור של מסמכים מובְנים, ומבצע אופטימיזציה ליכולות של LlamaIndex שמתמקדות במסמכים. Document Store מאחסן את התוכן שקשור לווקטורים ב-Vector Store.
מידע נוסף זמין במסמכי התיעוד של המוצר LlamaIndex Document Stores.
מאגרי אינדקסים מאפשרים לנהל אינדקסים כדי לבצע שאילתות ושליפת נתונים במהירות, למשל סיכום, מילת מפתח ואינדקס עץ. Index ב-LlamaIndex הוא אחסון קל רק למטא-נתונים של הצומת. עדכונים של המטא-נתונים של הצומת לא דורשים הוספה מחדש לאינדקס (קריאת הטמעה) של הצומת המלא או של כל הצמתים במסמך.
מידע נוסף זמין במאמר LlamaIndex Index Stores.
אחסון מסמכים ואינדקסים
בnotebook של Cloud SQL ל-PostgreSQL למאגרי מסמכים מוסבר איך משתמשים ב-Cloud SQL ל-PostgreSQL כדי לאחסן מסמכים ואינדקסים באמצעות המחלקות PostgresDocumentStore ו-PostgresIndexStore. במדריך מוסבר איך:
- יוצרים
PostgresEngineבאמצעותPostgresEngine.from_instance(). - יוצרים טבלאות ל-DocumentStore ול-IndexStore.
- מאתחלים את
PostgresDocumentStoreכברירת מחדל. - מגדירים את Postgres
IndexStore. - מוסיפים מסמכים אל
Docstore. - שימוש במאגרי מסמכים עם כמה אינדקסים.
- טעינת אינדקסים קיימים.
חנויות צ'אט
מאגרי נתונים של צ'אט שומרים את היסטוריית השיחות וההקשר של אפליקציות מבוססות-צ'אט, ומאפשרים אינטראקציות בהתאמה אישית. מאגרי שיחות הם מאגרים מרכזיים ששומרים ומאחזרים הודעות צ'אט בתוך שיחה, ומאפשרים ל-LLM לשמור על ההקשר ולספק תשובות רלוונטיות יותר על סמך הדיאלוג המתמשך.
מודלים גדולים של שפה (LLM) הם חסרי מצב (stateless) כברירת מחדל, כלומר הם לא שומרים קלט קודם, אלא אם הקלט הזה מסופק באופן מפורש בכל פעם. כשמשתמשים במאגר שיחות, אפשר לשמור את ההקשר של השיחה, וכך המודל יכול ליצור תשובות רלוונטיות ועקביות יותר לאורך זמן.
מודול הזיכרון ב-LlamaIndex מאפשר לאחסן ולשלוף ביעילות את ההקשר של השיחה, וכך ליצור אינטראקציות מותאמות אישית יותר ורגישות להקשר באפליקציות צ'אט. אתם יכולים לשלב את מודול הזיכרון ב-LlamaIndex עם ChatStore ו-ChatMemoryBuffer.
מידע נוסף זמין במאמר LlamaIndex Chat Stores.
שמירת היסטוריית השיחות
בNotebook של Cloud SQL ל-PostgreSQL ל-Chat Stores מוסבר איך משתמשים ב-Cloud SQL ל-PostgreSQL כדי לאחסן את היסטוריית הצ'אטים באמצעות המחלקה PostgresChatStore. במדריך מוסבר איך:
- יוצרים
PostgresEngineבאמצעותPostgresEngine.from_instance(). - הפעלה של
PostgresChatStore.כברירת מחדל - יוצרים
ChatMemoryBuffer. - יוצרים מופע של מחלקת LLM.
- משתמשים ב-
PostgresChatStoreבלי הקשר של אחסון. - משתמשים ב-
PostgresChatStoreעם הקשר של אחסון. - ליצור את מנוע הצ'אט ולהשתמש בו.
כלי לקריאת מסמכים
הכלי לקריאת מסמכים מאחזר ביעילות נתונים מ-Cloud SQL ל-PostgreSQL וממיר אותם לפורמטים שתואמים ל-LlamaIndex לצורך הוספה לאינדקס. הממשק של הכלי לקריאת מסמכים מספק שיטות לטעינת נתונים ממקור בתור Documents. Document היא מחלקה שמאחסנת קטע טקסט ומטא-נתונים משויכים. אתם יכולים להשתמש בכלים לקריאת מסמכים כדי לטעון מסמכים שאתם רוצים לאחסן במאגרי מסמכים או להשתמש בהם כדי ליצור אינדקסים.
מידע נוסף זמין במאמר כלי לקריאת מסמכים ב-LlamaIndex.
אחזור נתונים כמסמכים
בNotebook של Cloud SQL ל-PostgreSQL לכלי לקריאת מסמכים מוסבר איך להשתמש ב-Cloud SQL ל-PostgreSQL כדי לאחזר נתונים כמסמכים באמצעות המחלקה PostgresReader. במדריך מוסבר איך:
- יוצרים
PostgresEngineבאמצעותPostgresEngine.from_instance(). - יוצרים
PostgresReader. - טוענים מסמכים באמצעות הארגומנט
table_name. - טעינת מסמכים באמצעות שאילתת SQL.
- הגדרת הפורמט של תוכן הדף.
- טוענים את המסמכים.