במאמר זה, נדון בסוכנים ב-LangChain מכל ההיבטים האפשריים
מהו סוכן ב-LangChain?
יישומים מסוימים דורשים לא רק שרשראות מוגדרות מראש, אלא הם דורשים שרשרת לא ידועה שתלויה בקלט של המשתמש. למקרה כזה, יש ' סוֹכֵן ' שניגשים לכלי ומחליטים איזה כלי נדרש לפי קלט המשתמש ומה הוא מבקש. ערכת כלים היא בעצם סט של כלים שדרושים לביצוע מטרה ספציפית ויש 3-5 כלים בערכת כלים.
סוגי סוכני LangChain
ישנם שני סוכנים עיקריים:
- סוכני פעולה
- תכנון וביצוע סוכנים
סוכני פעולה: סוכנים אלה מחליטים על פעולות שיש לבצע שלב אחר שלב, מעריכים כל שלב ולאחר מכן מבצעים אותו ועוברים לשלב הבא אם נדון בקוד הפסאודו של הסוכן הכולל כמה שלבים
- קלט מתקבל מהמשתמש.
- הסוכן מחליט על הכלי ואיזה סוג כלי נדרש.
- כלי זה נקרא עם כלי קלט ותצפית מתועדת.
- כלי ההיסטוריה, כלי התצפית וכלי הקלט מועברים בחזרה לסוכן.
- חזור על התהליך עד שהסוכן יחליט לצאת מהכלי הזה.
תכנון וביצוע סוכנים: סוכנים אלה מחליטים תחילה על פעולה שיש לבצע, ולאחר מכן מבצעים את כל הפעולות הללו.
- קלט משתמש מתקבל.
- הסוכן מפרט את כל השלבים לביצוע.
- המוציא לפועל עובר על רשימת השלבים, מבצע אותם.
הגדרת סוכן
לפני הגדרת הסוכן עליך להתקין את הגרסה העדכנית ביותר של פִּיתוֹן בהתאם למערכת ההפעלה שלך.
שלב 1: התקנת חבילות
ראשית, עלינו להקים סביבה בשביל זה. עלינו להתקין את LangChain, google-search-results ו-openai דרך ' צִפצוּף ' פקודה:
! צִפצוּף להתקין langchain
! צִפצוּף להתקין תוצאות חיפוש בגוגל
! צִפצוּף להתקין openai
ייבוא ספריות נדרשות:
מ-langchain.schema ייבוא SystemMessageמאת langchain.agents ייבוא OpenAIFunctionsAgent, AgentExecutor
מכלי הייבוא langchain.agents
מאת langchain.chat_models ייבוא ChatOpenAI
ייבוא מחדש
מ-getpass ייבוא getpass
שלב 2: קבל את ה-API הסודי שלך
לאחר הגדרת סביבה, כעת עליך לקבל מפתחות API סודיים מפלטפורמת OpenAI:
llm = ChatOpenAI ( openai_api_key =openai_api_key, טֶמפֶּרָטוּרָה = 0 )
שלב 3: אתחול כלי
בשלב הבא נגדיר כלי, כתיבת קוד Python פשוט כדי לקבל את אורך המחרוזת.
def get_word_string ( מילה: str ) - > int:
'' 'תן לי אורך של מיתר.' ''
לַחֲזוֹר רק ( מִלָה )
כלים = [ get_word_string ]
שלב 4: צור תבנית בקשה
לאחר הגדרת הכלי, הגדר תבנית הנחיה לשימוש זה 'OpenAIFunctionsAgent.create_prompt()' פונקציית עוזר שתיצור את התבנית באופן אוטומטי.
prompt = OpenAIFunctionsAgent.create_prompt ( הודעת מערכת =מערכת_הודעה )
שלב 5: יצירת סוכן
כעת נוכל לסיים את כל החלקים וליצור סוכן באמצעות פונקציה שנקראת 'OpenAIFunctionsAgent()' .
שלב 6: הגדרת זמן ריצה
אם יצרת סוכן בהצלחה אז צור זמן ריצה עבור הסוכן, עבור זה 'AgentExecutor' משמש כזמן ריצה עבור הסוכן.
שלב 7: בדיקת סוכן
לאחר יצירת Runtime, עכשיו הגיע הזמן לבדוק את הסוכן.
אם הכנסת מפתח API תקין בשלב 2, תקבל תשובה.
סיכום
מאמר זה הומחש מהיבטים רבים, ראשית הוא מדגים מהי LangChain, וכיצד היא פועלת, לאחר מכן הוא עובר לסוכנים ב-LangChain, ודן במטרת הסוכנים ב-LangChain ומכיל מידע על שני סוגי הסוכנים העיקריים 'סוכני פעולה' ו 'תכנן והוציא לפועל סוכנים' בשימוש ב-LangChain ובסוף ביצוע הקוד היה להקים סוכן ב-LangChain