متن خبر

چگونه پروژه های ساختمانی را با LLM شروع کنیم

چگونه پروژه های ساختمانی را با LLM شروع کنیم

شناسهٔ خبر: 771896 -




اگر یک حرفه ای مشتاق هوش مصنوعی هستید، تبدیل شدن به یک مهندس LLM یک مسیر شغلی هیجان انگیز و امیدوارکننده را ارائه می دهد.

اما از کجا باید شروع کرد؟ مسیر شما چگونه باید باشد؟ چگونه باید یاد بگیرید؟

در یکی از پست های قبلی خود، نقشه راه کاملی را برای تبدیل شدن به یک مهندس هوش مصنوعی / LLM ارائه کردم. خواندن این مقاله بینش هایی را در مورد انواع مهارت هایی که باید کسب کنید و نحوه شروع یادگیری به شما می دهد.

بهترین راه برای یادگیری ساختن است!

همانطور که آندری کارپاتی می گوید:

پیام کارپاتی در مورد چگونگی متخصص شدن در یک چیز

آندری تاکید می کند که باید پروژه های ملموس بسازید و هر چیزی را که یاد می گیرید با کلمات خود توضیح دهید. (او همچنین به ما دستور می دهد که فقط خودمان را با نسخه جوانتر خود مقایسه کنیم – هرگز با دیگران.)

و من موافقم – ساختن پروژه ها بهترین راه برای نه تنها یادگیری، بلکه رشد واقعی این مفاهیم است. مهارت‌هایی را که یاد می‌گیرید برای فکر کردن در مورد موارد استفاده پیشرفته بیشتر تقویت می‌کند.

اما چالش اصلی با این فلسفه یادگیری این است که پیدا کردن پروژه های خوب دشوار است.

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

در اینجا چیزی است که ما پوشش خواهیم داد:

    اولین پروژه شما چه باید باشد؟

    پروژه شماره 1: خلاصه کننده ویدیوی YouTube

    بیشتر بخوانید

    Safari به جستجوی هوشمند مبتنی بر هوش مصنوعی در iOS 18 و macOS 15 اشاره کرده است.

    راه اندازی و الزامات

    مقدمه ای بر بارگذار اسناد

    در حال پردازش رونوشت‌های YouTube

    استفاده از LangChain برای خلاصه سازی

    استقرار Summarizer در واتس اپ

    ایجاد یک Flask API

    اتصال با Twilio برای ادغام WhatsApp

    پیش نمایش پروژه شماره 2: ربات خدمات مشتری چند منظوره

    پیش نمایش پروژه شماره 3: ربات پشتیبانی RAG-Powered

    نتیجه گیری

اولین پروژه شما چه باید باشد؟

اگر مبتدی هستید که برنامه نویسی مقدماتی تا متوسط ​​را می شناسید، پروژه های اولیه شما باید نشان دهند که می توانید به راحتی برنامه های کاربردی با LLM بسازید.

آنها باید نشان دهند که:

شما می دانید که API ها چیست

شما می دانید چگونه آنها را مصرف کنید

شما می دانید چگونه محصولاتی بسازید که مردم واقعاً می خواهند از آنها استفاده کنند

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

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

اگر بخواهم یک پروژه خوب و مسلماً رایج‌ترین پروژه هوش مصنوعی را انتخاب کنم که هر شرکتی شروع به کار روی آن کرده است، آن چت ربات‌های مبتنی بر RAG خواهند بود.

اما قبل از اینکه به ساخت ربات های مجهز به RAG بپردازید، باید شروع به ساخت چیزی ساده تر اما کاربردی با LLM کنید.

برای شروع کار، بیایید با ساختن یک YouTube Summariser شروع کنیم.

پروژه شماره 1: خلاصه کردن ویدیوهای YouTube

ما قسمت اول این پروژه را در این آموزش خواهیم ساخت: عملکرد اصلی یک ابزار خلاصه‌کننده ویدیوی YouTube.

پروژه Wiplane در ساخت ربات چت واتساپ خلاصه کننده یوتیوب

ربات ما:

آدرس یوتیوب را دریافت کنید.

اگر URL درست است اعتبار سنجی کنید.

متن فیلم را بازیابی کنید

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

خلاصه را به کاربر برگردانید.

راه اندازی و الزامات

برای این پروژه، عملکرد اصلی را در یک نوت بوک Jupyter با استفاده از بسته های پایتون زیر کدنویسی می کنیم:

langchain-together – برای LLM با استفاده از ادغام هوش مصنوعی LangChain <> Together

langchain-community – برای بارگذارهای داده خاص

langchain – برای برنامه نویسی با LLM

pytube – برای واکشی اطلاعات ویدیو

youtube-transcript-api — برای رونوشت ویدیوی یوتیوب

ما از مدل Llama 3.1 استفاده خواهیم کرد که به عنوان یک API توسط Together AI ارائه شده است.

هوش مصنوعی Together یک پلت فرم ابری است که مدل های منبع باز را به عنوان API استنتاج ارائه می دهد. بدون نگرانی در مورد زیرساخت های اساسی.

بیایید با نصب این موارد شروع کنیم:

 !pip install — upgrade — quiet langchain !pip install — quiet langchain-community !pip install — upgrade — quiet langchain-together !pip install youtube_transcript_api !pip install pytube

حالا بیایید LLM خود را راه اندازی کنیم:

 ## setting up the language model from langchain_together import ChatTogether import api_key llm = ChatTogether(api_key=api_key.api,temperature= 0.0 , model= "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo" )

مرحله بعدی پردازش ویدیوهای YouTube به عنوان منبع داده است. برای این ما باید مفهوم بارگذار اسناد را درک کنیم.

مقدمه ای بر بارگذار اسناد

بارگذارهای سند یک رابط یکپارچه برای بارگیری داده ها از منابع مختلف در قالب سند استاندارد ارائه می دهند.

آنها به طور خودکار ابرداده مربوطه را به محتوای بارگذاری شده استخراج و پیوست می کنند.

ابرداده می‌تواند شامل اطلاعات منبع، مهرهای زمانی یا سایر داده‌های زمینه‌ای باشد که می‌تواند برای پردازش پایین دستی ارزشمند باشد.

LangChain لودرهایی را برای CSV، PDF، HTML، JSON و حتی لودرهای تخصصی برای منابعی مانند رونوشت‌های YouTube یا مخازن GitHub، همانطور که در صفحه ادغام آنها فهرست شده است، ارائه می‌کند.

LangChain <a href= از انواع مختلفی از بارگذار اسناد پشتیبانی می کند” width=”2118″ height=”1394″ loading=”lazy”>

دسته های لودر اسناد

لودرهای اسناد در LangChain را می توان به طور کلی به دو نوع طبقه بندی کرد:

    لودرهای مبتنی بر نوع فایل

تجزیه و تحلیل و بارگیری اسناد بر اساس فرمت های فایل خاص

مثال‌ها عبارتند از: CSV، PDF، HTML، Markdown

2. لودرهای مبتنی بر منبع داده

بازیابی داده ها از منابع خارجی مختلف

داده ها را در اشیاء Document بارگذاری کنید

مثال‌ها عبارتند از: YouTube، Wikipedia، GitHub

قابلیت های یکپارچه سازی

لودرهای سند LangChain می توانند تقریباً با هر فرمت فایلی که ممکن است نیاز داشته باشید ادغام شوند.

آنها همچنین از بسیاری از منابع داده شخص ثالث پشتیبانی می کنند.

برای پروژه خود، از YoutubeLoader برای دریافت رونوشت ها در قالب مورد نیاز استفاده می کنیم.

YoutubeLoader از LangChain برای دریافت رونوشت:

 ## import the youtube documnent loader from LangChain from langchain_community.document_loaders import YoutubeLoader video_url = 'https://www.youtube.com/watch?v=gaWxyWwziwE' loader = YoutubeLoader.from_youtube_url(video_url, add_video_info= False ) data = loader.load()

رونوشت یوتیوب را پردازش کنید

نمایش محتوای رونوشت خام

از LLM برای خلاصه کردن و استخراج نکات کلیدی از رونوشت استفاده کنید:

 # show the extracted page content data[ 0 ].page_content

مشخصه page_content شامل رونوشت کامل همانطور که در خروجی زیر نشان داده شده است:

رونوشت ویدیوی یوتیوب <a href= از لودر یوتیوب” width=”2890″ height=”860″ loading=”lazy”>

اکنون که رونوشت را داریم، به سادگی باید این را به همراه دستور خلاصه کردن به LLM که در بالا پیکربندی کردیم ارسال کنیم.

ابتدا بیایید یک روش ساده را درک کنیم:

Langchain متد invoke() را ارائه می دهد که باید پیام سیستم و پیام کاربر یا انسان را به آن منتقل کنید.

پیام سیستم اساساً دستورالعمل LLM در مورد نحوه پردازش درخواست انسانی است.

و پیام انسانی به سادگی همان چیزی است که ما قصد داریم LLM انجام دهد.

 # This code creates a list of messages for the language model: # 1. A system message with instructions on how to summarize the video transcript # 2. A human message containing the actual video transcript # The messages are then passed to the language model (llm) for processing # The model's response is stored in the 'ai_msg' variable and returned messages = [ ( "system" , """Read through the entire transcript carefully. Provide a concise summary of the video's main topic and purpose. Extract and list the five most interesting or important points from the transcript. For each point: State the key idea in a clear and concise manner. - Ensure your summary and key points capture the essence of the video without including unnecessary details. - Use clear, engaging language that is accessible to a general audience. - If the transcript includes any statistical data, expert opinions, or unique insights, prioritize including these in your summary or key points.""" , ), ( "human" , data[ 0 ].page_content), ] ai_msg = llm.invoke(messages) ai_msg

اما زمانی که متغیرهای بیشتری دارید و زمانی که می خواهید راه حل پویاتری داشته باشید، این روش کار نخواهد کرد.

برای این کار، LangChain PromptTemplate را ارائه می دهد:

PromptTemplate در LangChain ابزار قدرتمندی است که به ایجاد اعلان های پویا برای مدل های زبان بزرگ (LLM) کمک می کند. این به شما امکان می دهد یک قالب با متغیرهایی که می توانند با مقادیر واقعی در زمان اجرا پر شوند، با متغیرهایی تعریف کنید.

این به مدیریت و استفاده مجدد از اعلان ها به طور موثر کمک می کند، از ثبات و کاهش احتمال خطا در ایجاد سریع کمک می کند.

یک PromptTemplate شامل موارد زیر است:

رشته الگو : متن درخواستی واقعی با متغیرهایی برای متغیرها.

متغیرهای ورودی : فهرست ی از متغیرهایی که در زمان اجرا در رشته الگو جایگزین می شوند.

 # Set up a prompt template for summarizing a video transcript using LangChain # Import necessary classes from LangChain from langchain.prompts import PromptTemplate from langchain import LLMChain # Define a PromptTemplate for summarizing video transcripts # The template includes instructions for the AI model on how to process the transcript product_description_template = PromptTemplate( input_variables=[ "video_transcript" ], template= """ Read through the entire transcript carefully. Provide a concise summary of the video's main topic and purpose. Extract and list the five most interesting or important points from the transcript. For each point: State the key idea in a clear and concise manner. - Ensure your summary and key points capture the essence of the video without including unnecessary details. - Use clear, engaging language that is accessible to a general audience. - If the transcript includes any statistical data, expert opinions, or unique insights, prioritize including these in your summary or key points. Video transcript: {video_transcript} """ )

نحوه استفاده از LLMChain / LCEL برای خلاصه سازی

یک زنجیره، دنباله ای از مراحل است که از یک مدل زبان، PromptTemplate و یک تجزیه کننده خروجی اختیاری تشکیل شده است.

یک LLMChain با الگوی درخواست سفارشی ایجاد کنید

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

در اینجا، ما از LLMChain استفاده می کنیم، اما می توانید از زبان بیان LangChain نیز برای این کار استفاده کنید:

 ## invoke the chain with the video transcript chain = LLMChain(llm=llm, prompt=product_description_template) # Run the chain with the provided product details summary = chain.invoke({ "video_transcript" : data[ 0 ].page_content })

این به شما شی خلاصه ای را می دهد که دارای ویژگی متن است که حاوی پاسخ در قالب نشانه گذاری است.

 summary[ 'text' ]

پاسخ خام به این صورت خواهد بود:

پاسخ خلاصه <a href= از زنجیره ساده LLM” width=”2340″ height=”470″ loading=”lazy”>

برای مشاهده پاسخ فرمت شده Markdown:

 from IPython.display import Markdown, display display(Markdown(summary[ 'text' ]))

و شما می روید:

نمایش خلاصه ساختار با استفاده <a href= از تابع Markdown” width=”2272″ height=”866″ loading=”lazy”>

پس ، عملکرد اصلی خلاصه‌کننده YouTube ما اکنون کار می‌کند.

اما این در نوت بوک Jupyter شما کار می کند، برای دسترسی بیشتر به آن، باید این قابلیت را در واتس اپ پیاده سازی کنیم.

نحوه ارائه خلاصه کننده YT در واتس اپ

برقراری ارتباط بین یوتیوب و سرور فلاسک با استفاده <a href= از Twilio” class=”image–center mx-auto” width=”1905″ height=”318″ loading=”lazy”>

برای این کار، باید عملکرد خلاصه‌سازی YT خود را به‌عنوان یک نقطه پایانی API ارائه کنیم که برای آن از Flask استفاده می‌کنیم. همچنین می توانید از FastAPI استفاده کنید.

اکنون تمام کدهای موجود در نوت بوک Jupyter را به توابع تبدیل می کنیم. پس ، یک تابع اضافه کنید تا تحلیل کنید آیا یک URL معتبر یوتیوب است یا خیر، سپس تابع summarise تعریف کنید که اساساً تلفیقی از آنچه در نوت بوک Jupyter نوشته ایم است.

شما می توانید نقطه پایانی ما را به روش زیر پیکربندی کنید:

 @app.route('/summary', methods=['POST']) def summary (): url = request.form.get( 'Body' ) # Get the JSON data from the request body print(url) if is_youtube_url(url): response = summarise(url) else : response = "please check if this is a correct youtube video url" print(response) resp = MessagingResponse() msg = resp.message() msg.body(response) return str(resp)

هنگامی که app.py شما با Flask API آماده شد، اسکریپت پایتون را اجرا کنید و باید سرور خود را به صورت محلی روی سیستم خود اجرا کنید.

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

Twilio به ما این امکان را می دهد تا با ارائه یک جعبه شنی واتساپ برای آزمایش ربات شما، این دست دادن را پیاده سازی کنیم. برای ایجاد این اتصال می توانید مراحل این راهنما را در اینجا دنبال کنید.

من ارتباط برقرار کردم:

تنظیمات twilio sandbox <a href= را پیکربندی کنید” class=”image–center mx-auto” width=”1274″ height=”496″ loading=”lazy”>

اکنون، می توانیم آزمایش ربات واتس اپ خود را آغاز کنیم:

اسکرین شات ربات چت خلاصه کننده

شگفت انگیز!

من تمام مراحل را در دوره پروژه‌محور خود درباره ساخت ربات‌های چت واتس‌اپ مبتنی بر LLM به تفصیل توضیح می‌دهم .

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

پروژه شماره 2 – رباتی بسازید که بتواند انواع مختلف پرس و جوهای کاربر را مدیریت کند

این ربات به عنوان نماینده خدمات مشتری برای یک شرکت هواپیمایی عمل می کند. می تواند به سؤالات مربوط به وضعیت پرواز، سؤالات چمدان، رزرو بلیط و موارد دیگر پاسخ دهد. از مدل‌های Router و LLM Langchain برای تولید پویا پاسخ‌ها بر اساس ورودی کاربر استفاده می‌کند.

الگوهای اعلانات مختلفی برای سؤالات مختلف مشتری، مانند وضعیت پرواز، سؤالات چمدان و شکایات تعریف شده است.

بر اساس پرس و جو، روتر الگوی مناسب را انتخاب می کند و یک پاسخ تولید می کند.

سپس Twilio پاسخ را به چت WhatsApp ارسال می کند.

پروژه Wiplane 2 - پشتیبانی <a href= از مشتریان خطوط هوایی برای رسیدگی به انواع مختلف سؤالات” width=”880″ height=”977″ loading=”lazy”>

پروژه شماره 3 – ربات پشتیبانی RAG-Powered

این چت بات به سوالات مربوط به خدمات خطوط هوایی با استفاده از یک سیستم مبتنی بر سند پاسخ می دهد. این سند به تعبیه‌هایی تبدیل می‌شود، که سپس با استفاده از سیستم RAG Langchain برای تولید پاسخ‌ها مورد پرسش قرار می‌گیرند. این روزها شرکت ها توسعه دهندگانی را می خواهند که این مهارت ها را داشته باشند، پس این یک پروژه به خصوص کاربردی است.

سند دستورالعمل/قوانین با استفاده از مدل‌های FAISS و HuggingFace تعبیه شده است.

هنگامی که کاربر سوالی را ارسال می کند، سیستم RAG اطلاعات مربوطه را از سند بازیابی می کند.

سپس سیستم با استفاده از یک LLM از پیش آموزش دیده پاسخی را تولید می کند و آن را از طریق Twilio ارسال می کند.

پروژه Wiplane 3 - ربات پشتیبانی مجهز <a href= به RAG” width=”880″ height=”1090″ loading=”lazy”>

این 3 پروژه شما را شروع می کنند تا بتوانید به آزمایش و یادگیری بیشتر در مورد مهندسی هوش مصنوعی ادامه دهید.

دوره 3 پروژه Wiplane در زمینه ساخت ربات‌های چت واتساپ با قدرت LLM

پشتیبانی مشتری بیشترین بودجه در حوزه هوش مصنوعی است زیرا اگر هوش مصنوعی بتواند ارتباط با کاربران ناراضی را مدیریت کند، هزینه را فوراً کاهش می دهد.

پس ، ما ربات‌هایی می‌سازیم که می‌توانند انواع مختلف پرس‌و‌جوها را مدیریت کنند، ربات‌های هوشمند مجهز به RAG که به اسناد اختصاصی برای ارائه اطلاعات به‌روز به کاربران دسترسی خواهند داشت.

به همین دلیل است که من این دوره مبتنی بر پروژه را ایجاد کردم تا به شما در شروع ساختن با LLM کمک کنم.

پیش نمایش دوره را اینجا ببینید:

و برای تشکر از شما برای خواندن این راهنما، می توانید از کد FREECODECAMP برای دریافت 20 درصد تخفیف در دوره من استفاده کنید.

من می‌خواهم این را با قیمتی مقرون به صرفه برای همه کسانی که در مورد ساخت با هوش مصنوعی صادق هستند، در دسترس قرار دهم، پس قیمت آن را با قیمتی مقرون به صرفه 14.99 دلار تعیین کرده‌ام.

نتیجه گیری

در این آموزش، ما بر ساخت یک ابزار خلاصه‌کننده ویدیوی سرگرم‌کننده یوتیوب تمرکز کردیم که در واتس‌اپ ارائه می‌شود.

عملکرد اصلی ربات شامل موارد زیر است:

دریافت URL YouTube

اعتبار سنجی URL

در حال بازیابی رونوشت ویدیو

استفاده از LLM برای خلاصه کردن محتوا

برگرداندن خلاصه به کاربر

ما از تعدادی بسته پایتون از جمله langchain-together، langchain-community، langchain، pytube و youtube-transcript-api استفاده کردیم.

این پروژه از مدل Llama 3.1 از طریق API Together AI استفاده می کند.

ما عملکرد خلاصه سازی اصلی را با استفاده از آن ساختیم

استفاده از متد invoke() LangChain با پیام های سیستمی و انسانی

استفاده از PromptTemplate و LLMChain برای راه حل های پویاتر

برای دسترسی به ابزار از طریق واتس اپ:

این عملکرد به عنوان یک نقطه پایانی API با استفاده از Flask ارائه می شود

Twilio برای اتصال سرور محلی با WhatsApp استفاده می شود

برای آزمایش ربات از جعبه شنی واتساپ استفاده می شود

برای ادامه ساخت پروژه های بیشتر، دوره را تحلیل کنید.

این یک دوره آموزشی مبتدی است که در آن شما از یادگیری ساختن با LLM شروع می‌کنید، سپس آن مهارت‌ها را برای ساخت 3 نوع مختلف از برنامه‌های LLM به کار می‌گیرید. نه فقط این – شما یاد می گیرید که برنامه های خود را به عنوان چت ربات WA ارائه کنید.

خبرکاو

ارسال نظر

دیدگاه‌ها بسته شده‌اند.


تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است