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

בדף הזה מוסבר איך ליצור אפליקציות מבוססות-LLM באמצעות LangChain. הסקירות הכלליות בדף הזה מקשרות למדריכים לפרוצדורות ב-GitHub.

מה זה LangChain?

‫LangChain הוא framework לניהול LLM שעוזר למפתחים ליצור אפליקציות של AI גנרטיבי או תהליכי עבודה של RAG (שליפה משופרת גנרטיבית). הוא מספק את המבנה, הכלים והרכיבים לייעול תהליכי עבודה מורכבים של LLM.

מידע נוסף על LangChain זמין בדף Google LangChain. מידע נוסף על מסגרת LangChain זמין במסמכי העזרה של המוצר LangChain.

רכיבי LangChain ל-Bigtable

‫Bigtable מציע את הממשקים הבאים של LangChain:

מדריך למתחילים לשימוש ב-LangChain עם Bigtable במדריך הזה ליצירת אפליקציה מהירה, יוצרים אפליקציה שמקבלת גישה למערך נתונים של סרטים ב-Netflix, כדי שהמשתמשים יוכלו לקיים אינטראקציה עם נתוני הסרטים.

מאגר וקטורים ל-Bigtable

אתם יכולים להשתמש במאגר הווקטורים כדי לשמור מסמכי טקסט יחד עם הטמעות הווקטורים שלהם ומטא-נתונים אחרים בטבלת Bigtable. בצורה כזאת, אתם יכולים:

  • חיפוש במסמכים באמצעות טכניקות כמו חיפוש דמיון וקטורי או חיפוש רלוונטיות שולית מקסימלית (MMR).
  • ביצוע סינון נוסף של תוצאות החיפוש הווקטורי באמצעות המטא-נתונים של המסמכים.

מידע נוסף זמין במאמר בנושא מאגרי וקטורים של LangChain.

מדריך להליך של חנות וקטורים

במדריך Bigtable למאגרי וקטורים מוסבר איך לבצע את הפעולות הבאות:

  • התקנת חבילת השילוב ו-LangChain
  • הגדרת שירות ההטמעה
  • יצירה והגדרה של מאגר Bigtable
  • התאמה אישית של החיבור והאימות
  • שליחת שאילתה לחנות באמצעות אלגוריתם kNN וסינון התוצאות לפי מטא-נתונים של המסמך

מאגר של זוגות מפתח/ערך ל-Bigtable

‫Bigtable מספקת מאגר של צמדי מפתח/ערך ל-LangChain בצורה של מחלקת ByteStore שמאפשרת לעבוד עם מסמכים או עם הטמעות שמאוחסנים כאובייקטים של בייטים. הגישה הזו יכולה לעזור לכם לצמצם באופן משמעותי את העלויות ואת זמן האחזור כשמבצעים משימות כמו שמירת נתונים במטמון והוספה לאינדקס של הטמעות לשאילתות חוזרות.

מידע נוסף זמין במאמר בנושא מאגרי מפתח-ערך של LangChain.

מדריך להליך של חנות מפתח/ערך

במדריך Bigtable למאגרי נתונים של זוגות מפתח/ערך מוסבר איך לבצע את הפעולות הבאות:

  • התקנת חבילת השילוב ו-LangChain
  • אתחול המנוע והטבלאות הנדרשים
  • התאמה אישית של החיבור והאימות
  • איך משתמשים ב-BigtableByteStore כשכבת מטמון להטמעת וקטורים

רכיב טעינת מסמכים ל-Bigtable

טוען המסמכים שומר, טוען ומוחק אובייקטים של LangChain Document. לדוגמה, אפשר לטעון נתונים לעיבוד בהטמעות ולאחסן אותם במאגר וקטורים או להשתמש בהם ככלי כדי לספק הקשר ספציפי לשרשרות.

כדי לטעון מסמכים מטוען מסמכים ב-Bigtable, משתמשים במחלקה BigtableLoader. השיטות BigtableLoader מחזירות מסמך אחד או יותר מטבלה. אפשר להשתמש במחלקה BigtableSaver כדי לשמור ולמחוק מסמכים.

מידע נוסף זמין במאמר בנושא LangChain Document loaders.

מדריך להעלאת מסמכים

במדריך Bigtable לרכיב טעינה של מסמכים מוסבר איך:

  • התקנת חבילת השילוב ו-LangChain
  • טעינת מסמכים מטבלה
  • הוספת מסנן לרכיב טעינה
  • התאמה אישית של החיבור והאימות
  • התאמה אישית של מבנה המסמך על ידי ציון תוכן ומטא-נתונים של הלקוח
  • איך משתמשים ב-BigtableSaver ומתאימים אותו אישית כדי לאחסן ולמחוק מסמכים

היסטוריית הודעות צ'אט ב-Bigtable

אפליקציות של שאלות ותשובות צריכות היסטוריה של הדברים שנאמרו בשיחה כדי לספק לאפליקציה הקשר למענה על שאלות נוספות מהמשתמש. המחלקות של LangChain ChatMessageHistory מאפשרות לאפליקציה לשמור הודעות ולאחזר אותן כשצריך כדי לגבש תשובות נוספות. הודעה יכולה להיות שאלה, תשובה, הצהרה, ברכה או כל טקסט אחר שהמשתמש או האפליקציה מספקים במהלך השיחה. ‫ChatMessageHistory שומר את כל ההודעות ומקשר אותן לשרשור של כל שיחה.

‫Bigtable מרחיב את המחלקה הזו באמצעות BigtableChatMessageHistory.

מדריך להפעלת היסטוריית ההודעות בצ'אט

במדריך Bigtable להיסטוריית הודעות בצ'אט מוסבר איך:

  • התקנה של LangChain ואימות ל- Google Cloud
  • הפעלת סכימת Bigtable
  • הפעלת האתחול של המחלקה BigtableChatMessageHistory כדי להוסיף ולמחוק הודעות
  • שימוש בלקוח כדי להתאים אישית את החיבור והאימות