פיתוח אפליקציות מבוססות-LLM באמצעות LlamaIndex

בחירת גרסה של מאמר העזרה:

בדף הזה מתוארים כמה תרחישים לדוגמה ליצירת אפליקציות מבוססות-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.
  • הגדרת פורמט תוכן הדף.
  • טוענים את המסמכים.

המאמרים הבאים