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

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

מה זה LangChain?

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

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

רכיבי LangChain ל-Cloud SQL ל-PostgreSQL

‫Cloud SQL ל-PostgreSQL מציע את הממשקים הבאים של LangChain:

מדריך לתחילת העבודה עם LangChain ב-Cloud SQL ל-PostgreSQL

מאגר וקטורים ל-Cloud SQL ל-PostgreSQL

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

כדי לעבוד עם מאגר וקטורים ב-Cloud SQL ל-PostgreSQL, משתמשים במחלקה PostgresVectorStore.

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

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

במדריך Cloud SQL ל-PostgreSQL בנושא מאגרי וקטורים מוסבר איך לבצע את הפעולות הבאות:

  • התקנת חבילת השילוב ו-LangChain
  • יצירת אובייקט PostgresEngine והגדרת מאגר חיבורים למסד נתונים של Cloud SQL ל-PostgreSQL
  • הפעלת טבלה
  • יצירת אובייקט להטמעה באמצעות VertexAIEmbeddings
  • אתחול של PostgresVectorStore כברירת מחדל
  • הוספת טקסטים
  • מחיקת הודעות טקסט
  • חיפוש מסמכים
  • חיפוש מסמכים לפי וקטור
  • הוספת אינדקס כדי להאיץ שאילתות חיפוש וקטוריות
  • יצירת אינדקס מחדש
  • הסרת אינדקס
  • יצירת מאגר וקטורים בהתאמה אישית
  • חיפוש מסמכים באמצעות מסנן מטא-נתונים

טוען מסמכים ל-Cloud SQL ל-PostgreSQL

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

כדי לטעון מסמכים מטוען מסמכים ב-Cloud SQL ל-PostgreSQL, משתמשים במחלקה PostgresLoader. ‫PostgresLoader מחזירה רשימה של מסמכים מטבלה, כשהעמודה הראשונה משמשת לתוכן הדף וכל שאר העמודות משמשות למטא-נתונים. בטבלה שמוגדרת כברירת מחדל, העמודה הראשונה היא תוכן הדף והעמודה השנייה היא מטא-נתונים בפורמט JSON. כל שורה הופכת למסמך. אפשר להשתמש במחלקה PostgresDocumentSaver כדי לשמור ולמחוק מסמכים.

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

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

במדריך Cloud SQL ל-PostgreSQL בנושא טעינת מסמכים מוסבר איך לבצע את הפעולות הבאות:

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

היסטוריית הודעות בצ'אט ב-Cloud SQL ל-PostgreSQL

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

‫Cloud SQL ל-PostgreSQL מרחיב את המחלקה הזו באמצעות PostgresChatMessageHistory.

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

במדריך Cloud SQL ל-PostgreSQL בנושא היסטוריית הודעות בצ'אט מוסבר איך:

  • התקנה של LangChain ואימות ל- Cloud de Confiance by S3NS
  • יצירת אובייקט PostgresEngine והגדרת מאגר חיבורים למסד נתונים של Cloud SQL ל-PostgreSQL
  • הפעלת טבלה
  • הפעלת האתחול של המחלקה PostgresChatMessageHistory כדי להוסיף ולמחוק הודעות
  • יצירת שרשרת של היסטוריית הודעות באמצעות שפת הביטויים של LangChain‏ (LCEL) ומודלים של צ'אט מבוססי-Vertex AI של Google

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