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

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

מה זה LangChain?

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

מידע נוסף על LangChain זמין בדף Google LangChain. למידע נוסף על LangChain, קראו את LangChain.

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

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

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

מאגר וקטורים ל-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.

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

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

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

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

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

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

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

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

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