دستکاری متن با استفاده از OpenAI

موسسه پایاپروژه به عنوان متصدی پروژه های پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی پایتون مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.

 

پروژه های پایتون openAI

 

Open AI یک سازمان پیشرو در زمینه هوش مصنوعی و یادگیری ماشین است، آنها به توسعه دهندگان نوآوری های پیشرفته مانند ChatGPT، WhisperAI، DALL-E و بسیاری دیگر را برای کار بر روی داده های بدون ساختار گسترده در دسترس ارائه کرده اند.

برای دستکاری متن، OpenAI یک مدل Completions گردآوری کرده است که به شما کمک می کند داده های متنی جدید تولید کنید، ماسک ها را در رشته ها پر کنید، مکالمات را حمل کنید، ترجمه کنید و خلاصه کنید.

ماژول تکمیل از قدرت GPT-3 برای انجام این وظایف و ارائه نتایج شگفت انگیز استفاده می کند. در مقاله امروز، این ماژول Completions را مرور خواهیم کرد و خواهیم دید که چگونه می توان از آن در پایتون استفاده کرد.

مراحل انجام دستکاری متن با استفاده از OpenAI در پروژه پایتون

اکنون بیایید بررسی کنیم که چگونه می توان در انجام پروژه پایتون از GPT-3 برای دستکاری داده های متنی استفاده کرد.

1. باز کردن Openai

 کتابخانه Openai را در محیط پایتون خود نصب کنید

!pip install openai

 

2.      وارد کردن کتابخانه openai و کلید API

در پروژه پایتون خود کتابخانه openai را وارد کنید و کلید API را به محیط openai اختصاص دهید

 

 import the library#

import openai

assign the API key to the environment by replacing#

 API_KEY with your generated key#

“openai.api_key = “API_KEY

اگر کلید API ندارید، پس از ایجاد حساب OpenAI خود وارد شوید. پس از ورود به سیستم، از منوی بالا سمت راست گزینه Personal را انتخاب کنید و سپس  View API keysرا انتخاب کنید.

صفحه ای حاوی کلیدهای API نمایش داده می شود و دکمه Create new secret key  قابل مشاهده است. وقتی روی آن کلیک می‌کنید، آن را کپی کرده و در جای دیگری ذخیره می‌کنید، زیرا در این مراحل از پروژه پایتون به آن نیاز خواهید داشت.

3.      تعریف یک تابع دستکاری متن در پروژه پایتون

یک تابع برای انجام دستکاری متن با استفاده از OpenAI API در پایتون تعریف کنید

 function that takes in string argument as parameter#

:def comp(PROMPT, MaxToken=50, outputs=3)

     using OpenAI’s Completion module that helps perform#      

     text manipulations#      

   ( response = openai.Completion.create      

         model name used here is text-davinci-003 #           

        # there are many other models available under the #           

        umbrella of GPT-3 #           

       ,” model=”text-davinci-003           

         passing the user input #           

       , prompt=PROMPT           

        generated output can have “max_tokens” number of tokens #           

       ,max_tokens=MaxToken           

         number of outputs generated in one call#          

        n=outputs          

    (

     creating a list to store all the outputs#

   () output = list

    :for k in response[‘choices’]

        output.append(k[‘text’].strip())    

    return output

 

در اینجا، ما از ماژول Completions از کتابخانه OpenAI استفاده کرده‌ایم و متنی را برای درخواست کاربر ایجاد می‌کنیم. در اینجا پارامترهای مهم مربوط به ماژول Completions در پروژه پایتون آمده است:

Model [لازم]: شناسه مدل مورد استفاده می تواند با استفاده از دستور زیر openai.Model.list().data که در آن مقدارid نشان دهنده نام مدلی است، که پیدا می کند. ما باید یک مدل مناسب را با توجه به استفاده خود انتخاب کنیم.

 :prompt اعلان (های) برای ایجاد تکمیل برای، کدگذاری شده به صورت رشته، آرایه رشته ها، آرایه نشانه ها یا آرایه آرایه های نشانه توجه داشته باشید که <| endoftext |> جداکننده سندی است که مدل در طول آموزش مشاهده می‌کند، بنابراین اگر یک اعلان مشخص نشده باشد، مدل مانند از ابتدای یک سند جدید تولید می‌کند.

 :max_tokens حداکثر تعداد توکن هایی که در تکمیل تولید می شوند. مقدار پیش فرض 16 است.

temperature: محدوده درجه نمونه برداری بین 0 تا 2 است. مقادیر بالاتر مانند 0.8 خروجی را تصادفی تر می کند، در حالی که مقادیر پایین تر مانند 0.2 آن را متمرکزتر و قطعی تر می کند.

 n: تعداد تکمیل‌هایی است که برای هر درخواست ایجاد می‌شود.

مثال برای دستکاری متن

اکنون بیایید برخی از دستورات را با ماژول تکمیل امتحان کنیم و نتایج آنها را ببینیم.

 

درخواست 1: تولید متن

.p = “””Tell me whether the tweet is positive, neutral, or negative

  ! Tweet: I don’t like tomato

“‘”:Sentiment  

comp(p, outputs=1)

خروجی:

[‘Negative’]

درخواست 2: تکمیل متن

“””——–p = “””hey doctor  

comp(p,outputs=5)    

خروجی:

,’?What seems to be the problem’]
 ‘Good morning! How can I help you today’
 ‘What seems to be the trouble’
 ‘Good to see you! How can I help you today’
 [‘?What seems to be the problem’

درخواست 3: تولید متن

“p = “Write a tagline for my shoe company

Output = comp(p,outputs=3)

print(Output[0])

print(Output[1])

print(Output[2])

خروجی:

“!Walk in Comfort, Walk with Us”
“Walking in Style, Step by Step”
“!Walk in style with our designer shoes”

درخواست 4: تکمیل متن

 

:p = “””What is the sentiment of these tweets

  

  1. “GFG has the best DSA course”
  2. “Got late for work and got fired for that”
  3. “!!!Can’t wait for Diwali”
  4. “?What do you have in mind”
  5. “I hate strawberry”

  

“”‘:Tweet sentiment ratings

 

print(comp(p, outputs=1)[0])

خروجی:

1. Positive
2. Negative
3. Positive
4. Neutral
5. Negative

 

 

درخواست 6: ترجمه

“””=p

:Translate this sentence in hindi, german and japanese:

‘.I am learning from GeeksforGeeks’

“””

Output = comp(p,MaxToken=500,outputs=2)

print(Output[0])

print(‘\n’,Output[1])

خروجی:

Hindi: मैं GeeksforGeeks से सीख रहा हूँ।
.German: Ich lerne von GeeksforGeeks
Japanese: 私はGeeksforGeeksから学んでいます
Hindi: मैं GeeksforGeeks से सीख रहा हूँ।
.German: Ich lerne von GeeksforGeeks
Japanese: 私はGeeksforGeeksから学んでいます

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

11 + 16 =

سفارش پروژه