خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

مقدمه ای بر LangChain LLM: راهنمای مبتدی

LangChain LLM بحث داغ شهر است. یک نمای کلی از چیست و چگونه می توانید با آن شروع کنید.

با معرفی مدل های زبان بزرگ (LLM)، پردازش زبان طبیعی بحث اینترنت شده است. برنامه های کاربردی جدید به دلیل LLM هایی مانند ChatGPT و LangChain روزانه در حال توسعه هستند.

LangChain یک چارچوب پایتون منبع باز است که توسعه دهندگان را قادر می سازد تا برنامه های کاربردی با مدل های زبان بزرگ را توسعه دهند. کاربردهای آن چت ربات، خلاصه سازی، پرسش و پاسخ مولد و بسیاری موارد دیگر است.

این مقاله به معرفی LangChain LLM می پردازد. مفاهیم اساسی، نحوه مقایسه آن با سایر مدل های زبان، و نحوه شروع با آن را پوشش می دهد.

آشنایی با LangChain LLM

قبل از توضیح نحوه عملکرد LangChain، ابتدا باید بدانید که مدل های زبان بزرگ چگونه کار می کنند. مدل زبان بزرگ نوعی هوش مصنوعی (AI) است که از یادگیری عمیق برای آموزش مدل‌های یادگیری ماشینی بر روی داده‌های بزرگ متشکل از داده‌های متنی، عددی و کد استفاده می‌کند.

حجم وسیع داده مدل را قادر می سازد تا الگوها و روابط موجود بین کلمات، شکل ها و نمادها را بیاموزد. این ویژگی به مدل اجازه می دهد تا مجموعه ای از وظایف را انجام دهد، مانند:

  • تولید متن، ترجمه زبان، نوشتن محتوای خلاقانه، فنی و دانشگاهی و پاسخگویی دقیق و مرتبط به سوالات.
  • تشخیص اشیا در تصاویر
  • جمع بندی کتب، مقالات و مقالات پژوهشی.

مهم ترین محدودیت LLM این است که مدل ها بسیار کلی هستند. این ویژگی به این معنی است که علیرغم توانایی آنها در انجام مؤثر چندین کار، گاهی اوقات ممکن است به جای پاسخ های خاص، به سؤالات یا درخواست هایی که نیاز به تخصص و دانش عمیق دامنه دارند، پاسخ های کلی ارائه دهند.

چارچوب LangChain که توسط هریسون چیس در اواخر سال 2022 توسعه یافت، رویکردی نوآورانه برای LLM ارائه می دهد. این فرآیند با پیش پردازش متون مجموعه داده با تجزیه آن به قسمت های کوچکتر یا خلاصه شروع می شود. سپس خلاصه ها در یک فضای برداری جاسازی می شوند. مدل یک سوال را دریافت می کند، خلاصه ها را جستجو می کند و پاسخ مناسب را ارائه می دهد.

مطلب مرتبط:   آخرین به روزرسانی نسل تصویر ChatGPT وحشی است - اما برخی از کاربران باید منتظر بمانند

روش پیش پردازش LangChain یک ویژگی حیاتی است که از آنجایی که LLM ها قدرتمندتر و داده فشرده می شوند اجتناب ناپذیر است. این روش عمدتاً در موارد جستجوی کد و معنایی استفاده می شود زیرا جمع آوری و تعامل بی درنگ با LLM ها را فراهم می کند.

LangChain LLM در مقابل سایر مدل های زبان

هدف بررسی مقایسه ای زیر، برجسته کردن ویژگی ها و قابلیت های منحصر به فردی است که LangChain LLM را از سایر مدل های زبان موجود در بازار متمایز می کند:

  • حافظه: چندین LLM حافظه کوتاهی دارند که معمولاً در صورت تجاوز بیشتر از حد حافظه منجر به از دست دادن متن می شود. با این حال، LangChain دستورات و پاسخ‌های چت قبلی را ارائه می‌کند و مشکل محدودیت حافظه را حل می‌کند. تاریخچه پیام کاربر را قادر می‌سازد تا پیام‌های قبلی را برای LLM تکرار کند تا متن قبلی را خلاصه کند.
  • تغییر LLM: در مقایسه با سایر LLM هایی که نرم افزار شما را با API یک مدل قفل می کنند، LangChain انتزاعی را ارائه می دهد که تعویض LLM ها یا ادغام چندین LLM در برنامه شما را ساده می کند. این زمانی مفید است که می‌خواهید قابلیت‌های نرم‌افزار خود را با استفاده از یک مدل فشرده ارتقا دهید، مانند StableLM Stability AI از GPT-3.5 OpenAI.
  • ادغام: ادغام LangChain در برنامه شما در مقایسه با سایر LLMها آسان است. این جریان های کاری خط لوله را از طریق زنجیره ها و عوامل فراهم می کند و به شما این امکان را می دهد که LangChain را به سرعت در برنامه خود بگنجانید. از نظر خطوط لوله خطی، زنجیر اجسامی هستند که اساساً بخش‌های متعددی را به هم متصل می‌کنند. Agent ها پیشرفته تر هستند و به شما امکان می دهند با استفاده از منطق تجاری نحوه تعامل اجزا را انتخاب کنید. به عنوان مثال، ممکن است بخواهید از منطق شرطی برای تعیین مسیر بعدی بر اساس نتایج یک LLM استفاده کنید.
  • ارسال داده: به دلیل ماهیت کلی مبتنی بر متن LLM ها، انتقال داده به مدل معمولا مشکل است. LangChain این مشکل را با استفاده از ایندکس ها حل می کند. ایندکس ها یک برنامه کاربردی را قادر می سازد تا داده ها را در قالب های متغیر وارد کند و آن ها را به گونه ای ذخیره کند که امکان ارائه ردیف به ردیف آن را به یک LLM فراهم کند.
  • پاسخ‌ها: LangChain ابزار تجزیه‌کننده خروجی را برای ارائه پاسخ‌ها در قالبی مناسب بر خلاف سایر LLM‌ها که پاسخ مدل آن شامل متن کلی است، ارائه می‌کند. هنگام استفاده از هوش مصنوعی در یک برنامه، ترجیح داده می شود که پاسخی ساختاریافته داشته باشید که بتوانید در برابر آن برنامه ریزی کنید.
مطلب مرتبط:   دستکاری زمان و تاریخ در برنامه های Go

شروع کار با LangChain LLM

اکنون یاد خواهید گرفت که چگونه LangChain را در یک سناریوی مورد استفاده واقعی پیاده سازی کنید تا نحوه عملکرد آن را درک کنید. قبل از شروع توسعه، باید محیط توسعه را تنظیم کنید.

تنظیم محیط توسعه شما

ابتدا یک محیط مجازی ایجاد کنید و وابستگی های زیر را نصب کنید:

  • OpenAI: برای ادغام GPT-3 API در برنامه شما.
  • LangChain: برای ادغام LangChain در برنامه شما.

با استفاده از pip، دستور زیر را برای نصب وابستگی ها اجرا کنید:

 pipenv install langchain openai

دستور بالا بسته ها را نصب می کند و یک محیط مجازی ایجاد می کند.

وابستگی های نصب شده را وارد کنید

ابتدا کلاس های لازم مانند LLMChain، OpenAI، ConversationChain و PromptTemplate را از بسته langchain وارد کنید.

from langchain import ConversationChain, OpenAI, PromptTemplate, LLMChain

from langchain.memory import ConversationBufferWindowMemory

کلاس های LangChain زنجیره های مدل زبان را ترسیم و اجرا می کنند.

به کلید OpenAI API دسترسی پیدا کنید

بعد، کلید OpenAI API را دریافت کنید. برای دسترسی به کلید API OpenAI، باید یک حساب OpenAI داشته باشید، سپس به پلتفرم OpenAI API بروید.

در داشبورد، روی نماد نمایه کلیک کنید. سپس روی دکمه View API keys کلیک کنید.

داشبورد کلید OpenAI API

سپس روی دکمه Create new secret key کلیک کنید تا یک کلید API جدید دریافت کنید.

صفحه کلید OpenAI API

نام درخواستی کلید API را وارد کنید.

نامگذاری کلید OpenAI API

شما یک اعلان کلید مخفی دریافت خواهید کرد.

کلید OpenAI API ایجاد شد

کلید API را برای استفاده در آینده در مکانی امن کپی و ذخیره کنید.

توسعه یک برنامه با استفاده از LangChain LLM

اکنون به توسعه یک برنامه چت ساده به شرح زیر ادامه خواهید داد:

# Customize the LLM template
template = """Assistant is a large language model trained by OpenAI.

{history}
Human: {human_input}
Assistant:"""

prompt = PromptTemplate(input_variables=["history", "human_input"], template=template)

در مرحله بعد، زنجیره ChatGPT را با استفاده از کلید API که قبلاً ذخیره کرده بودید بارگیری می کنید.

chatgpt_chain = LLMChain(

           llm=OpenAI(openai_api_key="OPENAI_API_KEY",temperature=0),
           prompt=prompt,
           verbose=True,
           memory=ConversationBufferWindowMemory(k=2),

           )
# Predict a sentence using the chatgpt chain
output = chatgpt_chain.predict(
       human_input="What is MakeUseOf?"
       )
# Display the model's response
print(output)

این کد زنجیره LLM را با کلید OpenAI API و الگوی درخواست بارگیری می کند. سپس ورودی کاربر ارائه می شود و خروجی آن نمایش داده می شود.

مطلب مرتبط:   7 ابزار هوش مصنوعی که به شما در نوشتن ایمیل کمک می کند

خروجی توسعه یک اپلیکیشن با استفاده از LangChain

در بالا خروجی مورد انتظار است.

افزایش نفوذ LLM

مصرف LLM ها به سرعت در حال رشد است و نحوه تعامل انسان ها با ماشین های دانش را تغییر می دهد. فریم‌ورک‌هایی مانند LangChain در ارائه یک راه ساده و روان به توسعه‌دهندگان برای ارائه LLM به برنامه‌ها، در خط مقدم قرار دارند. مدل‌های مولد هوش مصنوعی مانند ChatGPT، Bard و Hugging Face نیز در برنامه‌های پیشرفته LLM عقب نمانده‌اند.