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

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

מה זה LangChain?

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

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

רכיבי LangChain ל-Spanner

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

במאמר LangChain Quickstart for Spanner מוסבר איך משתמשים ברכיבים האלה באפליקציה.

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

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

כדי לעבוד עם מאגר וקטורים ב-Spanner, משתמשים במחלקה SpannerVectorStore.

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

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

במדריך Spanner ל-vector store מוסבר איך:

  • התקנת חבילת השילוב ו-LangChain
  • אתחול טבלה במאגר הווקטורים
  • הגדרת שירות הטמעה באמצעות VertexAIEmbeddings
  • אתחול SpannerVectorStore
  • הוספה ומחיקה של מסמכים
  • חיפוש מסמכים דומים
  • יצירת מאגר וקטורים בהתאמה אישית כדי להתחבר למסד נתונים קיים ב-Spanner שיש בו טבלה עם הטמעות וקטוריות

כלי לטעינת מסמכים ל-Spanner

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

כדי לטעון מסמכים מ-Spanner, משתמשים במחלקה SpannerLoader. משתמשים במחלקה SpannerDocumentSaver כדי לשמור ולמחוק מסמכים.

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

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

במדריך Spanner לטעינת מסמכים מוסבר איך לבצע את הפעולות הבאות:

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

היסטוריית ההודעות ב-Spanner

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

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

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

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

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

מאגר גרפים ל-Spanner

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

  • הוספת צמתים וקשתות לגרף
  • ביצוע מעברים וניתוח בגרף
  • בדיקת הסכימה של גרף

אפשר גם להשתמש במאגר גרפים עם שרשרת שאלות ותשובות לגבי גרפים כדי ליצור אפליקציה שיכולה לנהל שיחה עם גרף.

כדי להשתמש במאגר גרפים עם Spanner Graph, צריך להשתמש במחלקה SpannerGraphStore כדי לאחסן צמתים וקשתות שחולצו ממסמכים. SpannerGraphStore תומך ב-Graph Query Language‏ (GQL).

מדריך להצגת נתונים של פרוצדורות מאוחסנות בגרף

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

  • התקנת חבילת השילוב ו-LangChain
  • הכנת גרפים ממקורות נתונים שונים
  • הפעלת SpannerGraphStore עם מסד נתונים קיים של Spanner Graph
  • הוספת צמתים וקשתות ל-Spanner Graph
  • ביצוע מעברים באמצעות שאילתת GQL
  • הצגה חזותית של תוצאות שאילתת הגרף
  • ניקוי התרשים

שרשרת QA של גרפים ל-Spanner

שרשרת שאלות ותשובות של גרף ל-Spanner משתמשת בגרף Spanner כדי לענות על שאלות. תהליך העבודה של QA בגרף כדי לענות על שאלה הוא כדלקמן:

  1. ב-Graph QA נעשה שימוש ב-LLM של LangChain כדי לתרגם שאלה בשפה טבעית לשאילתת GQL.
  2. ‫Spanner Graph משתמש בממשק של מאגר הגרפים כדי להריץ את שאילתת ה-GQL.
  3. תוצאות השאילתה ב-GQL נשלחות בחזרה ל-LLM.
  4. מודל ה-LLM יוצר את התשובה לשאלה ומחזיר אותה.

מדריך להליך בקרת איכות של גרפים

המדריך ל-Spanner בנושא QA של גרפים מראה איך להשתמש ב-Spanner וב-QA של גרפים כדי לענות על שאלה. המדריך כולל הסברים על הפעולות הבאות:

  • יצירת גרף מבלובים של טקסט לא מובנה באמצעות LLMGraphTransformer.
  • אחסון הגרף ב-Spanner Graph באמצעות המחלקה SpannerGraphStore.
  • מאתחלים מופע של SpannerGraphQAChain.
  • יצירת תשובה לשאלה בשפה טבעית באמצעות מאגר הגרפים ב-Spanner Graph.