متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل

ماخذ نوڈ: 2571007

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل
تصویر کی طرف سے فریموفلمز on Freepik
 

یہ ایک ایسا دور ہے جہاں روزانہ AI پیش رفت ہو رہی ہے۔ ہمارے پاس چند سال پہلے عوام میں بہت سے AI سے تیار کردہ نہیں تھے، لیکن اب ٹیکنالوجی ہر کسی کے لیے قابل رسائی ہے۔ یہ بہت سے انفرادی تخلیق کاروں یا کمپنیوں کے لیے بہترین ہے جو کسی پیچیدہ چیز کو تیار کرنے کے لیے ٹیکنالوجی سے نمایاں طور پر فائدہ اٹھانا چاہتے ہیں، جس میں کافی وقت لگ سکتا ہے۔

سب سے زیادہ ناقابل یقین کامیابیوں میں سے ایک جو ہمارے کام کرنے کے طریقے کو تبدیل کرتی ہے وہ ہے۔ OpenAI کے ذریعے GPT-3.5 ماڈل. GPT-3.5 ماڈل کیا ہے؟ اگر میں ماڈل کو خود بات کرنے دیتا ہوں۔ اس صورت میں، جواب ہے "قدرتی لینگویج پروسیسنگ کے شعبے میں ایک اعلیٰ درجے کا AI ماڈل، جس میں سیاق و سباق کے لحاظ سے درست اور متعلقہ متن پیدا کرنے میں وسیع تر بہتریt ".

OpenAI GPT-3.5 ماڈل کے لیے ایک API فراہم کرتا ہے جسے ہم ایک سادہ ایپ تیار کرنے کے لیے استعمال کر سکتے ہیں، جیسے کہ ٹیکسٹ سمریزر۔ ایسا کرنے کے لیے، ہم ماڈل API کو اپنی مطلوبہ ایپلیکیشن میں بغیر کسی رکاوٹ کے ضم کرنے کے لیے Python کا استعمال کر سکتے ہیں۔ عمل کیسا لگتا ہے؟ آئیے اس میں داخل ہوں۔

اس ٹیوٹوریل پر عمل کرنے سے پہلے چند شرائط ہیں، بشمول:

- ازگر کا علم، بشمول بیرونی لائبریریوں اور IDE کے استعمال کا علم

- APIs کو سمجھنا اور Python کے ساتھ اختتامی نقطہ کو ہینڈل کرنا

- OpenAI APIs تک رسائی حاصل کرنا

OpenAI APIs تک رسائی حاصل کرنے کے لیے، ہمیں رجسٹر کرنا ہوگا۔ اوپن اے آئی ڈویلپر پلیٹ فارم اور اپنے پروفائل میں View API کیز دیکھیں۔ ویب پر، API رسائی حاصل کرنے کے لیے "نئی خفیہ کلید بنائیں" بٹن پر کلک کریں (نیچے تصویر دیکھیں)۔ چابیاں محفوظ کرنا یاد رکھیں، کیونکہ اس کے بعد انہیں چابیاں نہیں دکھائی جائیں گی۔
 

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل
مصنف کی طرف سے تصویر
 

تمام تیاری کے ساتھ، آئیے OpenAI APIs ماڈل کے بنیادی کو سمجھنے کی کوشش کرتے ہیں۔

۔ GPT-3.5 فیملی ماڈل زبان کے بہت سے کاموں کے لیے مخصوص کیا گیا تھا، اور خاندان میں ہر ماڈل کچھ کاموں میں سبقت لے جاتا ہے۔ اس سبق آموز مثال کے لیے، ہم استعمال کریں گے۔ gpt-3.5-turbo جیسا کہ یہ تجویز کردہ موجودہ ماڈل تھا جب یہ مضمون اس کی صلاحیت اور لاگت کی کارکردگی کے لیے لکھا گیا تھا۔

ہم اکثر استعمال کرتے ہیں۔ text-davinci-003 OpenAI ٹیوٹوریل میں، لیکن ہم اس ٹیوٹوریل کے لیے موجودہ ماڈل استعمال کریں گے۔ ہم پر بھروسہ کریں گے۔ چیٹ کی تکمیل تکمیل کے بجائے اختتامی نقطہ کیونکہ موجودہ تجویز کردہ ماڈل ایک چیٹ ماڈل ہے۔ یہاں تک کہ اگر نام ایک چیٹ ماڈل تھا، یہ کسی بھی زبان کے کام کے لیے کام کرتا ہے۔

آئیے سمجھنے کی کوشش کرتے ہیں کہ API کیسے کام کرتا ہے۔ سب سے پہلے، ہمیں موجودہ OpenAI پیکجوں کو انسٹال کرنے کی ضرورت ہے۔ 

pip install openai

 

پیکج کو انسٹال کرنے کے بعد، ہم ChatCompletion اینڈ پوائنٹ کے ذریعے منسلک ہو کر API کو استعمال کرنے کی کوشش کریں گے۔ تاہم، ہمیں جاری رکھنے سے پہلے ماحول کو ترتیب دینے کی ضرورت ہے۔

اپنے پسندیدہ IDE میں (میرے لیے، یہ VS کوڈ ہے)، نامی دو فائلیں بنائیں .env اور summarizer_app.py، نیچے کی تصویر کی طرح۔

 

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل
مصنف کی طرف سے تصویر
 

۔ summarizer_app.py وہ جگہ ہے جہاں ہم اپنی سادہ سمریزر ایپلی کیشن بنائیں گے، اور .env فائل وہ جگہ ہے جہاں ہم اپنی API کلید کو اسٹور کریں گے۔ حفاظتی وجوہات کی بناء پر، یہ ہمیشہ مشورہ دیا جاتا ہے کہ ہماری API کلید کو Python فائل میں ہارڈ کوڈ کرنے کے بجائے کسی اور فائل میں الگ کریں۔

میں .env فائل میں درج ذیل نحو لگائیں اور فائل کو محفوظ کریں۔ your_api_key_here کو اپنی اصل API کلید سے تبدیل کریں۔ API کلید کو سٹرنگ آبجیکٹ میں تبدیل نہ کریں۔ انہیں ایسا کرنے دو. 

OPENAI_API_KEY=your_api_key_here

 

GPT-3.5 API کو بہتر طور پر سمجھنے کے لیے؛ ہم لفظ خلاصہ بنانے کے لیے درج ذیل کوڈ کا استعمال کریں گے۔

openai.ChatCompletion.create( model="gpt-3.5-turbo", max_tokens=100, temperature=0.7, top_p=0.5, frequency_penalty=0.5, messages=[ { "role": "system", "content": "You are a helpful assistant for text summarization.", }, { "role": "user", "content": f"Summarize this for a {person_type}: {prompt}", }, ],
)

 

اوپر کا کوڈ یہ ہے کہ ہم OpenAI APIs GPT-3.5 ماڈل کے ساتھ کیسے تعامل کرتے ہیں۔ ChatCompletion API کا استعمال کرتے ہوئے، ہم ایک گفتگو بناتے ہیں اور پرامپٹ پاس کرنے کے بعد مطلوبہ نتیجہ حاصل کریں گے۔

آئیے ان کو بہتر طور پر سمجھنے کے لیے ہر ایک حصے کو توڑ دیں۔ پہلی لائن میں، ہم استعمال کرتے ہیں openai.ChatCompletion.create پرامپٹ سے جواب تخلیق کرنے کے لیے کوڈ جسے ہم API میں بھیجیں گے۔

اگلی سطر میں، ہمارے پاس اپنے ہائپرپیرامیٹر ہیں جو ہم اپنے ٹیکسٹ ٹاسک کو بہتر بنانے کے لیے استعمال کرتے ہیں۔ یہاں ہر ہائپرپیرامیٹر فنکشن کا خلاصہ ہے:

  • model: وہ ماڈل فیملی جسے ہم استعمال کرنا چاہتے ہیں۔ اس ٹیوٹوریل میں، ہم موجودہ تجویز کردہ ماڈل (gpt-3.5-turbo).
  • max_tokens: ماڈل کے ذریعہ تیار کردہ الفاظ کی بالائی حد۔ یہ تیار کردہ متن کی لمبائی کو محدود کرنے میں مدد کرتا ہے۔
  • temperature: اعلی درجہ حرارت کے ساتھ ماڈل آؤٹ پٹ کی بے ترتیب پن کا مطلب ہے زیادہ متنوع اور تخلیقی نتیجہ۔ قدر کی حد 0 سے لامحدود کے درمیان ہے، حالانکہ 2 سے زیادہ قدریں عام نہیں ہیں۔ 
  • top_p: ٹاپ پی یا ٹاپ-کے سیمپلنگ یا نیوکلئس سیمپلنگ آؤٹ پٹ ڈسٹری بیوشن سے سیمپلنگ پول کو کنٹرول کرنے کا ایک پیرامیٹر ہے۔ مثال کے طور پر، قدر 0.1 کا مطلب ہے کہ ماڈل صرف تقسیم کے اوپری 10% سے آؤٹ پٹ کا نمونہ کرتا ہے۔ قدر کی حد 0 اور 1 کے درمیان تھی؛ اعلی اقدار کا مطلب زیادہ متنوع نتیجہ ہے۔
  • frequency_penalty: آؤٹ پٹ سے تکرار ٹوکن کا جرمانہ۔ -2 سے 2 کے درمیان قدر کی حد، جہاں مثبت اقدار ماڈل کو ٹوکن کو دہرانے سے روکیں گی جبکہ منفی قدریں ماڈل کو مزید دہرائے جانے والے الفاظ استعمال کرنے کی ترغیب دیتی ہیں۔ 0 کا مطلب ہے کوئی جرمانہ نہیں۔
  • messages: وہ پیرامیٹر جہاں ہم اپنے ٹیکسٹ پرامپٹ کو ماڈل کے ساتھ پروسیس کرنے کے لیے پاس کرتے ہیں۔ ہم لغات کی ایک فہرست پاس کرتے ہیں جہاں کلید رول آبجیکٹ ہے (یا تو "سسٹم"، "صارف"، یا "اسسٹنٹ") جو ماڈل کو سیاق و سباق اور ساخت کو سمجھنے میں مدد کرتی ہے جبکہ اقدار سیاق و سباق ہیں۔
    •  رول "سسٹم" ماڈل "اسسٹنٹ" رویے کے لیے مقرر کردہ رہنما خطوط ہے،
    •  رول "صارف" ماڈل کے ساتھ بات چیت کرنے والے شخص کے اشارے کی نمائندگی کرتا ہے،
    •  "اسسٹنٹ" کا کردار "صارف" پرامپٹ کا جواب ہے۔

مندرجہ بالا پیرامیٹر کی وضاحت کرنے کے بعد، ہم دیکھ سکتے ہیں کہ messages مندرجہ بالا پیرامیٹر میں دو لغت آبجیکٹ ہیں۔ پہلی لغت یہ ہے کہ ہم ماڈل کو ٹیکسٹ سمریزر کے طور پر کیسے ترتیب دیتے ہیں۔ دوسرا وہ جگہ ہے جہاں ہم اپنا متن پاس کریں گے اور خلاصہ آؤٹ پٹ حاصل کریں گے۔ 

دوسری لغت میں، آپ کو متغیر بھی نظر آئے گا۔ person_type اور prompt. person_type ایک متغیر ہے جو میں نے خلاصہ انداز کو کنٹرول کرنے کے لیے استعمال کیا تھا، جسے میں ٹیوٹوریل میں دکھاؤں گا۔ جبکہ prompt وہ جگہ ہے جہاں ہم اپنے متن کو خلاصہ کرنے کے لیے پاس کریں گے۔

ٹیوٹوریل کو جاری رکھتے ہوئے، نیچے کوڈ کو میں رکھیں summarizer_app.py file اور ہم اس کو چلانے کی کوشش کریں گے کہ ذیل کا فنکشن کیسے کام کرتا ہے۔

import openai
import os
from dotenv import load_dotenv load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY") def generate_summarizer( max_tokens, temperature, top_p, frequency_penalty, prompt, person_type,
): res = openai.ChatCompletion.create( model="gpt-3.5-turbo", max_tokens=100, temperature=0.7, top_p=0.5, frequency_penalty=0.5, messages= [ { "role": "system", "content": "You are a helpful assistant for text summarization.", }, { "role": "user", "content": f"Summarize this for a {person_type}: {prompt}", }, ], ) return res["choices"][0]["message"]["content"]

 

اوپر کا کوڈ وہ ہے جہاں ہم ایک Python فنکشن بناتے ہیں جو مختلف پیرامیٹرز کو قبول کرے گا جن پر ہم نے پہلے بات کی ہے اور ٹیکسٹ سمری آؤٹ پٹ کو واپس کر دے گا۔ 

اپنے پیرامیٹر کے ساتھ اوپر والے فنکشن کو آزمائیں اور آؤٹ پٹ دیکھیں۔ پھر آئیے سٹریملیٹ پیکج کے ساتھ ایک سادہ ایپلیکیشن بنانے کے لیے ٹیوٹوریل کو جاری رکھیں۔

اسٹریم لائٹ ایک اوپن سورس Python پیکیج ہے جو مشین لرننگ اور ڈیٹا سائنس ویب ایپس بنانے کے لیے ڈیزائن کیا گیا ہے۔ یہ استعمال میں آسان اور بدیہی ہے، اس لیے بہت سے ابتدائیوں کے لیے اس کی سفارش کی جاتی ہے۔ 

آئیے ٹیوٹوریل کو جاری رکھنے سے پہلے اسٹریملٹ پیکج کو انسٹال کریں۔

pip install streamlit

 

انسٹالیشن مکمل ہونے کے بعد، درج ذیل کوڈ میں ڈالیں۔ summarizer_app.py.

import streamlit as st #Set the application title
st.title("GPT-3.5 Text Summarizer") #Provide the input area for text to be summarized
input_text = st.text_area("Enter the text you want to summarize:", height=200) #Initiate three columns for section to be side-by-side
col1, col2, col3 = st.columns(3) #Slider to control the model hyperparameter
with col1: token = st.slider("Token", min_value=0.0, max_value=200.0, value=50.0, step=1.0) temp = st.slider("Temperature", min_value=0.0, max_value=1.0, value=0.0, step=0.01) top_p = st.slider("Nucleus Sampling", min_value=0.0, max_value=1.0, value=0.5, step=0.01) f_pen = st.slider("Frequency Penalty", min_value=-1.0, max_value=1.0, value=0.0, step=0.01) #Selection box to select the summarization style
with col2: option = st.selectbox( "How do you like to be explained?", ( "Second-Grader", "Professional Data Scientist", "Housewives", "Retired", "University Student", ), ) #Showing the current parameter used for the model with col3: with st.expander("Current Parameter"): st.write("Current Token :", token) st.write("Current Temperature :", temp) st.write("Current Nucleus Sampling :", top_p) st.write("Current Frequency Penalty :", f_pen) #Creating button for execute the text summarization
if st.button("Summarize"): st.write(generate_summarizer(token, temp, top_p, f_pen, input_text, option))

 

درخواست شروع کرنے کے لیے اپنے کمانڈ پرامپٹ میں درج ذیل کوڈ کو چلانے کی کوشش کریں۔

streamlit run summarizer_app.py

 

اگر سب کچھ ٹھیک کام کرتا ہے، تو آپ کو اپنے ڈیفالٹ براؤزر میں درج ذیل ایپلیکیشن نظر آئے گی۔

 

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل
مصنف کی طرف سے تصویر
 

تو، اوپر کوڈ میں کیا ہوا؟ میں ہر ایک فنکشن کو مختصر طور پر بیان کرتا ہوں جو ہم استعمال کرتے ہیں:

  • .st.title: ویب ایپلیکیشن کا ٹائٹل ٹیکسٹ فراہم کریں۔
  • .st.write: درخواست میں دلیل لکھتا ہے؛ یہ بنیادی طور پر سٹرنگ ٹیکسٹ کے علاوہ کچھ بھی ہو سکتا ہے۔
  • .st.text_area: ٹیکسٹ ان پٹ کے لیے ایک ایسا علاقہ فراہم کریں جسے متغیر میں محفوظ کیا جا سکے اور ہمارے ٹیکسٹ سمریزر کے پرامپٹ کے لیے استعمال کیا جا سکے۔
  • .st.columns: پہلو بہ پہلو تعامل فراہم کرنے کے لیے آبجیکٹ کنٹینرز۔
  • .st.slider: سیٹ اقدار کے ساتھ ایک سلائیڈر ویجیٹ فراہم کریں جس کے ساتھ صارف تعامل کر سکے۔ قیمت ماڈل پیرامیٹر کے طور پر استعمال ہونے والے متغیر پر محفوظ کی جاتی ہے۔
  • .st.selectbox: صارفین کے لیے ایک سلیکشن ویجیٹ فراہم کریں تاکہ وہ اپنی پسند کا خلاصہ انداز منتخب کر سکیں۔ اوپر کی مثال میں، ہم پانچ مختلف انداز استعمال کرتے ہیں۔
  • .st.expander: ایک کنٹینر فراہم کریں جس میں صارف ایک سے زیادہ اشیاء کو بڑھا اور پکڑ سکے۔
  • .st.button: ایک بٹن فراہم کریں جو مطلوبہ فنکشن کو چلاتا ہے جب صارف اسے دباتا ہے۔

چونکہ سٹریم لائٹ خود بخود UI کو اوپر سے نیچے تک دیئے گئے کوڈ کے بعد ڈیزائن کرے گا، ہم تعامل پر زیادہ توجہ مرکوز کر سکتے ہیں۔  

تمام ٹکڑوں کی جگہ کے ساتھ، آئیے ایک متن کی مثال کے ساتھ اپنی خلاصہ کاری کی درخواست کو آزماتے ہیں۔ ہماری مثال کے طور پر، میں استعمال کروں گا تھیوری آف ریلیٹیویٹی ویکیپیڈیا صفحہ متن کا خلاصہ کیا جائے۔ پہلے سے طے شدہ پیرامیٹر اور دوسرے درجے کے انداز کے ساتھ، ہم درج ذیل نتیجہ حاصل کرتے ہیں۔

Albert Einstein was a very smart scientist who came up with two important ideas about how the world works. The first one, called special relativity, talks about how things move when there is no gravity. The second one, called general relativity, explains how gravity works and how it affects things in space like stars and planets. These ideas helped us understand many things in science, like how particles interact with each other and even helped us discover black holes! 

 

آپ کو اوپر والے سے مختلف نتیجہ مل سکتا ہے۔ آئیے گھریلو خواتین کے انداز کو آزمائیں اور پیرامیٹر کو تھوڑا سا موافقت کریں (ٹوکن 100، ٹمپریچر 0.5، نیوکلئس سیمپلنگ 0.5، فریکوئینسی پینلٹی 0.3)۔

The theory of relativity is a set of physics theories proposed by Albert Einstein in 1905 and 1915. It includes special relativity, which applies to physical phenomena without gravity, and general relativity, which explains the law of gravitation and its relation to the forces of nature. The theory transformed theoretical physics and astronomy in the 20th century, introducing concepts like 4-dimensional spacetime and predicting astronomical phenomena like black holes and gravitational waves.

 

جیسا کہ ہم دیکھ سکتے ہیں، ہمارے فراہم کردہ متن کے انداز میں فرق ہے۔ تبدیلی کے پرامپٹ اور پیرامیٹر کے ساتھ، ہماری درخواست زیادہ فعال ہو سکتی ہے۔ 

ہماری ٹیکسٹ سمریزر ایپلیکیشن کی مجموعی شکل نیچے دی گئی تصویر میں دیکھی جا سکتی ہے۔

 

متن کا خلاصہ ترقی: GPT-3.5 کے ساتھ ایک ازگر ٹیوٹوریل
مصنف کی طرف سے تصویر
 

یہ GPT-3.5 کے ساتھ ٹیکسٹ سمریزر ایپلیکیشن ڈویلپمنٹ بنانے کا ٹیوٹوریل ہے۔ آپ ایپلیکیشن کو مزید موافقت دے سکتے ہیں اور ایپلیکیشن کو تعینات کر سکتے ہیں۔

جنریٹو AI بڑھ رہا ہے، اور ہمیں ایک لاجواب ایپلی کیشن بنا کر اس موقع کو استعمال کرنا چاہیے۔ اس ٹیوٹوریل میں، ہم سیکھیں گے کہ GPT-3.5 OpenAI APIs کیسے کام کرتے ہیں اور Python اور سٹریم لائٹ پیکج کی مدد سے ٹیکسٹ سمریزر ایپلیکیشن بنانے کے لیے ان کا استعمال کیسے کریں۔
 
 
کارنیلیس یودھا وجایا ڈیٹا سائنس اسسٹنٹ مینیجر اور ڈیٹا رائٹر ہے۔ Allianz Indonesia میں کل وقتی کام کرتے ہوئے، وہ سوشل میڈیا اور تحریری میڈیا کے ذریعے Python اور Data ٹپس کا اشتراک کرنا پسند کرتا ہے۔
 

ٹائم اسٹیمپ:

سے زیادہ KDnuggets