מהו סוכן ב-LangChain?

Mhw Swkn B Langchain



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

במאמר זה, נדון בסוכנים ב-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:

openai_api_key = getpass ( )
llm = ChatOpenAI ( openai_api_key =openai_api_key, טֶמפֶּרָטוּרָה = 0 )

שלב 3: אתחול כלי
בשלב הבא נגדיר כלי, כתיבת קוד Python פשוט כדי לקבל את אורך המחרוזת.

@ כְּלִי
def get_word_string ( מילה: str ) - > int:
'' 'תן לי אורך של מיתר.' ''
לַחֲזוֹר רק ( מִלָה )

כלים = [ get_word_string ]

שלב 4: צור תבנית בקשה
לאחר הגדרת הכלי, הגדר תבנית הנחיה לשימוש זה 'OpenAIFunctionsAgent.create_prompt()' פונקציית עוזר שתיצור את התבנית באופן אוטומטי.

system_message = SystemMessage ( תוֹכֶן = 'אתה עוזר חזק מאוד, אבל גרוע בחישוב אורכי מיתר.' )
prompt = OpenAIFunctionsAgent.create_prompt ( הודעת מערכת =מערכת_הודעה )

שלב 5: יצירת סוכן
כעת נוכל לסיים את כל החלקים וליצור סוכן באמצעות פונקציה שנקראת 'OpenAIFunctionsAgent()' .

agent = OpenAIFunctionsAgent ( llm =llm, כלים =כלים, מיידי = הנחיה )

שלב 6: הגדרת זמן ריצה
אם יצרת סוכן בהצלחה אז צור זמן ריצה עבור הסוכן, עבור זה 'AgentExecutor' משמש כזמן ריצה עבור הסוכן.

agent_executor = AgentExecutor ( סוֹכֵן =סוכן, כלים =כלים, מִלוּלִי =נכון )

שלב 7: בדיקת סוכן
לאחר יצירת Runtime, עכשיו הגיע הזמן לבדוק את הסוכן.

agent_executor.run ( 'כמה מילים יש למחרוזת הזו?' )

אם הכנסת מפתח API תקין בשלב 2, תקבל תשובה.

סיכום

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