با استفاده از API OpenAI و این راهنما، از قدرت ChatGPT از درون برنامه های خود استفاده کنید.
OpenAI از طریق انتشار API خود، قابلیتهای ChatGPT را برای همه باز کرده است. اکنون می توانید به طور یکپارچه قدرت ChatGPT را در برنامه خود ادغام کنید.
برای شروع این مراحل اولیه را دنبال کنید، خواه به دنبال ادغام ChatGPT در برنامه فعلی خود باشید یا برنامه های جدید با آن توسعه دهید.
دسترسی به کلیدهای OpenAI API
برای شروع استفاده از ChatGPT API، ابتدا باید کلیدهای OpenAI API را دریافت کنید. ثبت نام کنید یا به پلتفرم رسمی OpenAI وارد شوید.
پس از ورود به سیستم، روی تب Personal در قسمت بالا سمت راست کلیک کنید. از منوی بازشو گزینه View API Keys را انتخاب کنید و در صفحه کلیدهای API فرود خواهید آمد. برای ایجاد کلید API روی دکمه Create new secret key کلیک کنید.
دیگر نمیتوانید کلید را مشاهده کنید، بنابراین آن را در مکانی امن ذخیره کنید.
کد مورد استفاده در این پروژه در یک مخزن GitHub موجود است و برای استفاده شما تحت مجوز MIT رایگان است.
نحوه استفاده از ChatGPT API
مدلهای OpenAI API gpt-3.5-turbo و gpt-4 همان مدلهایی هستند که ChatGPT و ChatGPT به ترتیب از آنها استفاده میکنند. این مدل های قدرتمند قادر به درک و تولید متن زبان طبیعی هستند.
لطفاً توجه داشته باشید که ChatGPT API یک اصطلاح کلی است که به APIهای OpenAI اشاره دارد که از مدلهای مبتنی بر GPT برای توسعه رباتهای گفتگو، از جمله مدلهای gpt-3.5-turbo و gpt-4 استفاده میکنند.
ChatGPT API در اصل برای چت بهینه شده است، اما برای کارهای تکمیل متن نیز به خوبی کار می کند. مدل های gpt-3.5-turbo و gpt-4 نسبت به مدل های قبلی GPT-3 قدرتمندتر و ارزان تر هستند. با این حال، در حال نوشتن، نمیتوانید مدلهای GPT-3.5 را تنظیم دقیق کنید. شما فقط می توانید مدل های پایه GPT-3 مانند داوینچی، کوری، آدا و کلم را تنظیم کنید.
در زمان نگارش، API GPT-4 در لیست انتظار قرار دارد. اما مدلهای GPT-3.5 برای همه قابل دسترسی هستند، بنابراین در این مقاله از آن استفاده خواهیم کرد. اگرچه، میتوانید در حال حاضر با ارتقا به ChatGPT+ از GPT-4 استفاده کنید.
استفاده از ChatGPT API برای تکمیل چت
باید مدل چت را پیکربندی کنید تا برای تماس API آماده شود. این را می توان با کمک یک مثال بهتر درک کرد:
import openai
openai.api_key = "YOUR_API_KEY"
completion = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
temperature = 0.8,
max_tokens = 2000,
messages = [
{"role": "system", "content": "You are a funny comedian who tells dad jokes."},
{"role": "user", "content": "Write a dad joke related to numbers."},
{"role": "assistant", "content": "Q: How do you make 7 even? A: Take away the s."},
{"role": "user", "content": "Write one related to programmers."}
]
)
print(completion.choices[0].message)
با اجرای این کد خروجی زیر تولید می شود:
کد بالا یک فراخوانی ChatGPT API را با استفاده از پایتون نشان می دهد. توجه داشته باشید که مدل قادر به درک زمینه (“شوخی پدر”) و نوع پاسخ (فرم پرسش و پاسخ) بود که ما انتظار داشتیم، حتی اگر به صراحت آن را در آخرین درخواست کاربر ذکر نکردیم.
بنابراین، هنگام ساخت برنامه های کاربردی، می توانید زمینه را از قبل فراهم کنید و مدل مطابق با نیازهای شما سازگار خواهد شد.
در اینجا، مهمترین بخش پارامتر پیام است که آرایه ای از اشیاء پیام را می پذیرد. هر شیء پیام حاوی نقش و محتوایی است. شما می توانید سه نوع نقش برای اشیاء پیام ارائه دهید:
- سیستم: زمینه و رفتار دستیار را تنظیم می کند.
- کاربر: برای دادن دستورالعمل به دستیار استفاده می شود. معمولاً توسط کاربر نهایی تولید می شود. اما شما بهعنوان یک توسعهدهنده نیز میتوانید برخی از درخواستهای کاربر بالقوه را از قبل ارائه دهید.
- دستیار: ما اطلاعاتی را از قبل در اختیار دستیار قرار می دهیم تا پاسخی را که از API انتظار داریم به ما بدهد.
شما می توانید پارامترهای دما و max_tokens مدل را بیشتر سفارشی کنید تا خروجی را مطابق با نیاز خود دریافت کنید.
هر چه دما بالاتر باشد، تصادفی بودن خروجی بیشتر است و بالعکس. اگر میخواهید پاسخهای شما متمرکزتر و قطعیتر باشند، به سراغ مقدار دمای پایینتر بروید. و اگر می خواهید خلاقیت بیشتری داشته باشد، به سراغ ارزش بالاتر بروید. مقدار دما بین 0 تا 2 است.
مانند ChatGPT، API آن نیز دارای محدودیت کلمه است. از پارامتر max_tokens برای محدود کردن طول پاسخ ها استفاده کنید. با این حال، تنظیم مقدار max_tokens کمتر میتواند باعث مشکلات احتمالی شود زیرا ممکن است خروجی را در اواسط راه قطع کند. در حال حاضر، مدل gpt-3.5-turbo دارای محدودیت رمز 4096 است، در حالی که مدل gpt-4 دارای محدودیت 8192 توکن است.
می توانید مدل را با استفاده از سایر پارامترهای ارائه شده توسط OpenAI پیکربندی کنید.
استفاده از ChatGPT API برای تکمیل متن
جدا از وظایف تکمیل چت، مدل gpt-3.5-turbo نیز در تکمیل متن کار خوبی انجام می دهد. این مدل از text-davinci-003 قبلی بهتر عمل می کند و تنها یک دهم قیمت آن قیمت دارد.
مثال زیر نشان می دهد که چگونه می توانید ChatGPT API را برای تکمیل متن پیکربندی کنید:
import openai
openai.api_key = "YOUR_API_KEY"
completion = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
temperature = 0.8,
max_tokens = 2000,
messages = [
{"role": "system", "content": "You are a poet who creates poems that evoke emotions."},
{"role": "user", "content": "Write a short poem for programmers."}
]
)
print(completion.choices[0].message.content)
شما حتی نیازی به ارائه نقش سیستم و محتوای آن ندارید. ارائه فقط درخواست کاربر کار را برای شما انجام می دهد.
messages = [
{"role": "user", "content": "Write a short poem for programmers."}
]
اجرای کد بالا یک شعر برای برنامه نویسان ایجاد می کند:
فرمت پاسخ ChatGPT API
ChatGPT API پاسخ را در قالب زیر ارسال می کند:
همچنین باید پاسخ دستیار را که در محتوا ذخیره شده است استخراج کنید.
ساخت برنامه های کاربردی با استفاده از ChatGPT API
میتوانید مستقیماً از نقطه پایانی API یا کتابخانه openai Python/Node.js برای شروع ساخت برنامههای مبتنی بر API ChatGPT استفاده کنید. به غیر از کتابخانه رسمی openai، شما همچنین می توانید برنامه هایی را با استفاده از کتابخانه های نگهداری شده توسط جامعه که توسط OpenAI توصیه می شود توسعه دهید.
با این حال، OpenAI امنیت این کتابخانههای نگهداری شده توسط جامعه را تأیید نمیکند، بنابراین بهتر است یا مستقیماً از نقطه پایانی API استفاده کنید یا از کتابخانه رسمی openai Python/Node.js استفاده کنید.
روش 1: استفاده از نقطه پایانی API
برای استفاده از مدلهای gpt-3.5-turbo و gpt-4 باید از نقطه پایانی /v1/chat/completions استفاده کنید.
import requests
openai.api_key = "YOUR_API_KEY"
URL = "https://api.openai.com/v1/chat/completions"
payload = {
"model": "gpt-3.5-turbo",
"temperature" : 1.0,
"messages" : [
{"role": "system", "content": f"You are an assistant who tells any random and very short fun fact about this world."},
{"role": "user", "content": f"Write a fun fact about programmers."},
{"role": "assistant", "content": f"Programmers drink a lot of coffee!"},
{"role": "user", "content": f"Write one related to the Python programming language."}
]
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {openai.api_key}"
}
response = requests.post(URL, headers=headers, json=payload)
response = response.json()
print(response['choices'][0]['message']['content'])
کد نمونه بالا نشان می دهد که چگونه می توانید مستقیماً از نقطه پایانی برای برقراری تماس API با استفاده از کتابخانه درخواست ها استفاده کنید.
ابتدا کلید API را به یک متغیر اختصاص دهید. در مرحله بعد، باید نام مدل را به پارامتر مدل شی payload ارائه دهید. پس از آن، تاریخچه مکالمه را به پارامتر پیام ها ارائه کردیم.
در اینجا، ما یک مقدار دمای بالاتر را نگه داشته ایم تا پاسخ ما تصادفی تر و در نتیجه خلاقانه تر باشد.
در اینجا خروجی پاسخ است:
توجه داشته باشید که مشکلاتی در ChatGPT OpenAI وجود دارد، بنابراین ممکن است پاسخهای توهین آمیز یا مغرضانه از API آن نیز دریافت کنید.
روش 2: استفاده از کتابخانه رسمی openai
کتابخانه openai Python را با استفاده از pip نصب کنید:
pip install openai
اکنون، شما آماده تولید متن یا تکمیل چت هستید.
import openai
openai.api_key = "YOUR_API_KEY"
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
temperature = 0.2,
max_tokens = 1000,
messages = [
{"role": "user", "content": "Who won the 2018 FIFA world cup?"}
]
)
print(response['choices'][0]['message']['content'])
در این کد ما فقط یک اعلان تک کاربر ارائه کردیم. ما مقدار دما را پایین نگه داشته ایم تا پاسخ را قطعی تر و نه خلاقانه نگه داریم.
پس از اجرای کد پاسخ زیر را دریافت خواهید کرد:
پاسخهای ChatGPT ممکن است جادویی به نظر برسند و ممکن است هر کسی را متعجب کند که ChatGPT چگونه کار میکند. اما در پشت صحنه، مدل زبان ترانسفورماتور از پیش آموزش دیده (GPT) که تمام کارهای سنگین را انجام می دهد، پشتیبانی می شود.
با استفاده از ChatGPT API برنامه های نسل بعدی بسازید
شما یاد گرفتید که چگونه ChatGPT API را پیکربندی کنید. ChatGPT API دروازههایی را به روی شما و توسعهدهندگان در سراسر جهان گشوده است تا محصولات نوآورانهای را با استفاده از قدرت هوش مصنوعی بسازید.
شما می توانید از این ابزار برای توسعه برنامه هایی مانند داستان نویسان، مترجمان کد، نویسندگان ایمیل، تولیدکنندگان کپی بازاریابی، خلاصه کننده متن و غیره استفاده کنید. تخیل شما محدودیتی برای ساخت برنامه های کاربردی با استفاده از این فناوری است.
به غیر از ChatGPT API، میتوانید از سایر مدلهای OpenAI نیز برای توسعه برنامههای کاربردی جالب استفاده کنید.