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

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

מה זה LangChain?

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

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

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

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

במאמר מדריך למתחילים לשימוש ב-LangChain עם Cloud SQL ל-MySQL מוסבר איך להשתמש ב-LangChain.

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

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

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

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

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

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

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

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

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

כדי לטעון מסמכים מטוען מסמכים ב-Cloud SQL ל-MySQL, משתמשים במחלקה MySQLLoader. השיטות MySQLLoader מחזירות מסמך אחד או יותר מטבלה. אפשר להשתמש במחלקה MySQLDocumentSaver כדי לשמור ולמחוק מסמכים.

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

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

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

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

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

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

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

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

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

  • התקנה של LangChain ואימות ל- Google Cloud
  • יצירת אובייקט MySQLEngine והגדרת מאגר חיבורים למסד הנתונים של Cloud SQL ל-MySQL
  • הפעלת טבלה
  • הפעלת האתחול של המחלקה MySQLChatMessageHistory כדי להוסיף ולמחוק הודעות
  • יצירת שרשרת להיסטוריית הודעות באמצעות LangChain Expression Language ‏(LCEL) ומודלים של צ'אט Vertex AI של Google