כיצד לבנות LLM ו-LLMChain ב-LangChain?

Kyzd Lbnwt Llm W Llmchain B Langchain



LangChain היא המסגרת עם האפליקציה בתחום Natural Language Processing או NLP לבניית מודלים בשפות דמויות אדם. מודלים אלו יכולים לשמש בני אדם כדי לקבל תשובות מהמודל או לנהל שיחה כמו כל אדם אחר. LangChain משמש לבניית שרשראות על ידי אחסון כל משפט בשיחה ואינטראקציה נוספת תוך שימוש בו כהקשר.

פוסט זה ימחיש את תהליך בניית LLM ו-LLMChain ב-LangChain.







כיצד לבנות LLM ו-LLMChain ב-LangChain?

כדי לבנות LLM ו-LLMChain ב-LangChain, פשוט עברו על השלבים המפורטים:



שלב 1: התקן מודולים

ראשית, התקן את מודול LangChain כדי להשתמש בספריות שלו לבניית LLMs ו-LLMChain:



pip להתקין langchain





מודול נוסף שנדרש לבניית LLMs הוא OpenAI, וניתן להתקין אותו באמצעות הפקודה pip:

pip להתקין openai



שלב 2: הגדר סביבה

הגדר סביבה באמצעות מפתח OpenAI API מהסביבה שלה:

לייבא אותנו
import getpassos.environ['OPENAI_API_KEY'] = getpass.getpass('OpenAI API Key:')

דוגמה 1: בניית LLMs באמצעות LangChain

הדוגמה הראשונה היא לבנות את מודל השפה הגדול באמצעות LangChain על ידי ייבוא ​​ספריות OpenAI ו-ChatOpenAI והפונקציה use llm():

שלב 1: שימוש במודל הצ'אט של LLM

ייבא מודולים של OpenAI ו-ChatOpenAI כדי לבנות LLM פשוט באמצעות סביבת OpenAI מ-LangChain:

מאת langchain.chat_models ייבוא ​​ChatOpenAI

מאת langchain.llms ייבוא ​​OpenAI

llm = OpenAI()
chat_model = ChatOpenAI()
llm.predict('היי!')

הדגם השיב בתשובה 'היי' כפי שמוצגת בצילום המסך הבא למטה:

הפונקציה predict() מה-chat_model משמשת כדי לקבל את התשובה או התשובה מהמודל:

chat_model.predict('היי!')

הפלט מציג שהמודל עומד לרשות המשתמש ששואל שאילתות:

שלב 2: שימוש בשאילתת טקסט

המשתמש יכול גם לקבל תשובות מהמודל על ידי מתן המשפט המלא במשתנה הטקסט:

text = 'מה יהיה שם חברה טוב לחברה שמייצרת גרביים צבעוניות?'

llm.predict(text)

הדגם הציג מספר שילובי צבעים עבור גרביים צבעוניות:

קבל את התשובה המפורטת מהמודל באמצעות הפונקציה predict() עם שילובי הצבעים של הגרביים:

chat_model.predict(text)

שלב 3: שימוש בטקסט עם תוכן

המשתמש יכול לקבל את התשובה עם הסבר קטן על התשובה:

מאת langchain.schema ייבוא ​​HumanMessage

text = 'מה תהיה כותרת טובה לחברה המייצרת בגדים צבעוניים'
הודעות = [HumanMessage(content=text)]

llm.predict_messages(messages)

המודל יצר את הכותרת עבור החברה שהיא 'Creative Clothing Co':

חזה את ההודעה כדי לקבל את התשובה לכותרת החברה עם ההסבר שלה גם:

chat_model.predict_messages(messages)

דוגמה 2: בניית LLMChain באמצעות LangChain

הדוגמה השנייה של המדריך שלנו בונה את LLMChain כדי לקבל את המודל בפורמט של אינטראקציה אנושית כדי לשלב את כל השלבים מהדוגמה הקודמת:

מאת langchain.chat_models ייבוא ​​ChatOpenAI
מאת langchain.prompts.chat ייבוא ​​ChatPromptTemplate
מאת langchain.prompts.chat ייבוא ​​ChatPromptTemplate
מאת langchain.prompts.chat import  SystemMessagePromptTemplate מlangchain.prompts.chat import HumanMessagePromptTemplate
מאת langchain.chains ייבוא ​​LLMChain
מאת langchain.schema ייבוא ​​BaseOutputParserclass CommaSeparatedListOutputParser(BaseOutputParser):

def parse(self, text: str):
החזר text.strip().split(', ')

בנו את התבנית עבור מודל הצ'אט על ידי מתן הסבר מפורט על פעולתו ולאחר מכן בנו את הפונקציה LLMChain() המכילה את הספריות LLM, מנתח הפלט ו-chat_prompt:

template = '''עליך לעזור ביצירת רשימות מופרדות בפסיקים
קבל את הקטגוריה מהמשתמש, וצור רשימה מופרדת בפסיקים עם חמישה אובייקטים
הדבר היחיד צריך להיות האובייקט מהקטגוריה'''
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = '{text}'
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
#הגדר את LLMChain עם מבנה השאילתה
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])
שרשרת = LLMChain(
llm=ChatOpenAI(),
prompt=chat_prompt,
output_parser=CommaSeparatedListOutputParser()
)
chain.run('colors')

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

זה הכל על בניית ה-LLM וה-LLMChain ב-LangChain.

סיכום

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