کتاب آشپزی OpenAI – راهنمای نهایی شما برای استفاده از کلید OpenAI API
کتاب آشپزی OpenAI یک راهنمای جامع برای استفاده از OpenAI API است. این شامل کدهای نمونه و راهنماهایی برای انواع کارها، مانند تولید متن، ترجمه زبان، نوشتن انواع مختلف محتوای خلاقانه و پاسخ دادن به سوالات شما به روشی آموزنده است. OpenAI Cookbook یک منبع ارزشمند برای یادگیری نحوه استفاده از OpenAI API است.
کتاب آشپزی OpenAI چیست؟
کتاب آشپزی OpenAI مجموعه ای از کد نمونه و راهنما برای استفاده از OpenAI API است. OpenAI Cookbook یک منبع عالی برای یادگیری نحوه استفاده از OpenAI API است. شامل مثالهایی برای انواع کارها میشود و کد به خوبی مستند شده است.
مصرف API
وقتی به طور منظم به OpenAI API دسترسی پیدا میکنید، ممکن است پیامهای خطایی مانند 429: "درخواستهای خیلی زیاد"
یا RateLimitError
دریافت کنید. این پیامهای خطا ناشی از فراتر رفتن از محدودیتهای نرخ API هستند.
برای رسیدگی به محدودیت های نرخ هنگام استفاده از OpenAI API:
- در پاسخهای API مراقب سرصفحههای محدودیت نرخ باشید.
- قبل از درخواست، محدودیت نرخ باقیمانده را دوباره بررسی کنید.
- برای خطاهای محدودیت نرخ، از تلاش های مجدد با عقب نشینی نمایی استفاده کنید.
- درخواستهای API باید اولویتبندی و بهینه شوند.
- برای کاهش تماسهای اضافی، پاسخها را به صورت محلی ذخیره کنید.
- برای ماندن در محدودیتها، استفاده را کنترل و تنظیم کنید.
چگونه توکن ها را با tiktoken بشماریم؟
tiktoken
یک توکنساز سریع منبع باز توسط OpenAI است.
- برای نصب کتابخانه
tiktoken
دستور “pip install tiktoken” را در ترمینال یا خط فرمان خود اجرا کنید. - برای وارد کردن ماژول tiktoken، خط “import tiktoken” را در اسکریپت پایتون خود وارد کنید.
- مدل توکنایزر را با فراخوانی کلاس “tiktoken.Tokenizer” و قرار دادن آن در متغیری به نام “tokenizer” بارگیری کنید.
- رشته یا فایلی را که میخواهید برای آن نشانهها را بشمارید، تعریف کنید.
- متن را با ارسال آن به عنوان پارامتر به روش “tokenizer.count_tokens” توکن کنید. نتیجه را در متغیری به نام “token_count.”
- برای دیدن تعداد کل نشانهها در متن، متغیر “token_count” را چاپ کنید یا از آن استفاده کنید.
- در صورت تمایل، مراحل 4-6 را برای هر متن یا فایل اضافی تکرار کنید.
- به خاطر داشته باشید که هر گونه خطا یا استثنایی را که ممکن است در طول فرآیند توکن سازی رخ دهد رسیدگی کنید.
ذخیره کنید
استفاده از OpenAI API برای GPT
کتاب آشپزی عمیقاً به GPT (ترانسفورماتور از پیش آموزشدیده مولد) OpenAI، یک مدل زبان قوی، میرود. این مبانی GPT، معماری آن را پوشش میدهد و نمونههای واقعی تولید متن با استفاده از GPT را نشان میدهد. یاد خواهید گرفت که چگونه از قابلیتهای تولید زبان GPT برای ساخت رباتهای گفتگو، تولید کد، نوشتن مقاله و انجام کارهای مختلف دیگر استفاده کنید.
چگونه ورودیهای مدلهای ChatGPT را قالببندی کنیم؟
ChatGPT توسط پیشرفتهترین مدلهای OpenAI، gpt-3.5-turbo
و gpt-4
پشتیبانی میشود. با استفاده از OpenAI API، میتوانید برنامههای کاربردی خود را با gpt-3.5-turbo
یا gpt-4
ایجاد کنید. مدلهای چت یک سری پیام را به عنوان ورودی دریافت میکنند و یک پیام نوشته شده با هوش مصنوعی را خروجی میدهند.
نکاتی برای آموزش gpt-3.5-turbo-0301
- دستورالعمل های خود را واضح و مشخص کنید.
- پیام های سیستم را می توان برای هدایت رفتار مدل استفاده کرد.
- آگومان
max_tokens
برای محدود کردن طول پاسخ استفاده میشود. - برای تغییر تصادفی بودن واکنش، دما را آزمایش کنید.
- از نشانهها عاقلانه استفاده کنید و محدودیت توکن 4096 را در نظر داشته باشید.
- نتایج خود را با تکرار و اصلاح دستورالعمل های خود بهبود بخشید.
- برای تکمیل چندگانه، از آرگومان n استفاده کنید.
- هنگام ارسال ورودی، پنجره زمینه را در نظر داشته باشید.
- رویکردها و دستورات مختلف را آزمایش کنید.
شمارش نشانهها
پیگیری میزان نشانه های استفاده شده در ورودی متن به عنوان نشانه های شمارش نامیده می شود. این تضمین می کند که شما تحت محدودیت های توکن OpenAI API هستید. ابزارهای شمارش رمزها، مانند کتابخانه tiktoken
OpenAI، می تواند کمک کند.
برای پخش جریانی کامل با OpenAI API:
- یک تماس اولیه API با روش
openai.ChatCompletion.create()
برای شروع جریان گفتگو برقرار کنید. - برای ارائه تاریخچه مکالمه به عنوان لیستی از اشیاء پیام، از گزینه
messages
استفاده کنید. هر شیء پیام باید یکنقش
(اعم از “سیستم”، “کاربر” یا “دستیار”) و همچنینمحتوا
(متن پیام) داشته باشد. - پیام ایجاد شده را پس از دریافت از پاسخ API استخراج کنید.
- برای ادامه مکالمه، یک شیء پیام جدید با نقش “کاربر” و محتوا به عنوان ورودی بعدی کاربر به لیست پیامهای موجود اضافه کنید.
- مرحله 3 و 4 باید در صورت لزوم تکرار شود تا مکالمه جریان داشته باشد.
- تکمیل جریان را با برقراری تماسهای API بیشتر با همان شناسه مکالمه ادامه دهید.
نوشتن آزمون واحد با استفاده از اعلان چند مرحله ای
- اولین اعلان ورودی مرحله اول و خروجی مورد انتظار را تعریف کنید.
- اعلام را به مدل ارسال کنید و سپس خروجی را دریافت کنید.
- از خروجی تولید شده به عنوان درخواست ورودی مرحله زیر استفاده کنید.
- مراحل 2 و 3 باید برای هر مرحله بعدی تکرار شوند و خروجی ها را به هم زنجیر کنید.
- بررسی کنید که خروجی نهایی با نتیجه مورد انتظار مطابقت داشته باشد.
- برای اطمینان از آزمایش کامل، این فرآیند را برای سناریوهای مختلف و موارد لبه تکرار کنید.
- تستهای واحد باید خودکار باشند تا در طول توسعه یا استقرار سریع و مداوم اجرا شوند.
چگونه با مدل های زبان بزرگ کار کنیم؟
- قابلیتها و محدودیتهای مدل را درک کنید.
- برای اینکه تحت محدودیت نشانه مدل قرار بگیرید، وظایف را به ورودی های کوچکتر و قابل مدیریت تقسیم کنید.
- با استفاده از مدیریت زمینه صحیح، انسجام را در گفتگوهای چند نوبتی حفظ کنید.
- برای تغییر تصادفی بودن واکنش، تنظیمات دمایی مختلف را آزمایش کنید.
- محدودیتهای نرخ را کنترل کنید و استفاده از API را برای تعاملات کارآمدتر و مقرون به صرفهتر بهینه کنید.
- در صورت نیاز به عملکرد تخصصی، مدلها را تنظیم کنید.
- دستورالعمل ها را برای دستیابی به نتایج دلخواه تکرار و تنظیم کنید.
- هنگام تجزیه و تحلیل نتایج مدل، تعصبات و عوامل اخلاقی را در نظر داشته باشید.
- برای حداکثر استفاده از آخرین تحقیقات و بهترین شیوه ها به روز باشید.
- از منابع، اسناد و انجمنهای انجمن برای یادگیری از تجربیات و دیدگاههای دیگران استفاده کنید.
جاسازیها
جاسازیها برای استخراج معنای معنایی از متن ضروری هستند. شما یاد خواهید گرفت که چگونه از مدل های تعبیه شده OpenAI برای رمزگذاری متن در نمایش های عددی در کتاب آشپزی OpenAI استفاده کنید. میتوانید از این جاسازیها برای انجام تحلیل احساسات، طبقهبندی متن و تشابه اسناد با رمزگذاری عبارات، پاراگرافها یا متون کامل استفاده کنید. این به شما امکان می دهد بینش عمیق تری کسب کنید و برنامه های پردازش زبان طبیعی خود را بهبود بخشید.
Embedding ها نمایش عددی متن هستند که برنامه های مختلف NLP را فعال می کنند. در اینجا نکات کلیدی در مورد جاسازی ها آمده است:
- مقایسه متن: جاسازیها به شما امکان میدهند شباهت متن را با استفاده از معیارهای فاصله مانند شباهت کسینوس مقایسه کنید.
- بهدست آوردن جاسازیها: مدلهای از پیش آموزشدیده Word2Vec و BERT میتوانند برای کلمات، عبارات یا اسناد جاسازی کنند.
- پاسخ به سؤال: جاسازیها با تطبیق جایگذاری سؤال با جاسازیهای سند، پاسخ به سؤال را آسانتر میکنند.
- پایگاههای داده برداری: پایگاههای اطلاعاتی برداری، مانند Faiss، جستجوی کارآمدی را براساس نزدیکی جاسازیها ارائه میکنند.
- جستجوی معنایی: جستجوی معنایی توسط جاسازیها ایجاد میشود که اسناد یا جملات مرتبط را بر اساس جاسازیهای آنها بازیابی میکند.
- توصیهها: جاسازیها با مکانیابی موارد مشابه بر اساس جاسازیهایشان، به تولید پیشنهاد کمک میکنند.
- خوشهبندی: جاسازیها اجازه میدهند چیزهای قابل مقایسه با هم با استفاده از تکنیکهای خوشهبندی گروهبندی شوند.
- تجسم: جاسازیها را میتوان با استفاده از روشهایی مانند t-SNE یا PCA به صورت دو بعدی یا سه بعدی مشاهده کرد.
- جاسازی متون طولانی: تکنیک هایی مانند ترکیب یا جاسازی های سلسله مراتبی می توانند کل متن را در یک جاسازی با طول ثابت برای متون طولانی خلاصه کنند.
- Playground for Embeddings: برنامههای Streamlit رابطهای تعاملی را برای کاوش و آزمایش جاسازیها ارائه میکنند.
برنامهها
کتاب آشپزی OpenAI حاوی مثالها و راهنمایی برای توسعه برنامههای مختلف با مدلهای OpenAI است. از جمله موضوعات برجسته شده عبارتند از:
- پرسش و پاسخ فایل: نحوه ایجاد یک سیستم پرسش و پاسخ که میتواند پاسخها را از یک سند یا فایل استخراج کند، کشف کنید. این برنامه برای فعالیت هایی مانند جستجوی اسناد، بازیابی پایگاه دانش، و بازیابی پرسش های متداول بسیار عالی است.
- سؤال و پاسخ خزیدن وب: با نحوه ایجاد یک سیستم پرسش و پاسخ که می تواند داده ها را از وب سایت ها بخزد و بازیابی کند، بیاموزید. این به شما امکان می دهد یک موتور جستجو یا سیستم بازیابی اطلاعات ایجاد کنید که می تواند پاسخ های مبتنی بر وب ارائه دهد.
- استفاده از ChatGPT و دادههای خود برای تقویت محصولاتتان: با نحوه استفاده از مدلهای ChatGPT در برنامههای خود و سفارشی کردن آنها با استفاده از دادههای خود آشنا شوید. این به شما امکان میدهد تجارب مکالمه شخصیسازیشده ایجاد کنید و پاسخهای مدل را به مورد خاص خود تغییر دهید.
این مثالها سازگاری و کاربردی بودن مدلهای OpenAI را در زمینهها و سناریوهای مختلف نشان میدهند. میتوانید از این برنامهها استفاده کنید یا با پیروی از دستورالعملهای کتاب آشپزی، آنها را به نیازهای خود تغییر دهید.
تنظیم دقیق GPT-3
تنظیم دقیق طبقهبندی متن GPT-3 شامل آموزش مدل در یک کار طبقهبندی خاص با استفاده از دادههای برچسبگذاری شده است. در اینجا چند فاکتور مهم برای در نظر گرفتن و بهترین شیوه ها برای تنظیم دقیق GPT-3 برای طبقه بندی آمده است:
- تهیه مجموعه داده برچسبدار: یک مجموعه داده برچسبدار با نمونههای متنی و برچسبهای کلاس همراه آن ایجاد کنید. مطمئن شوید که مجموعه داده به خوبی متعادل، معرف، و همه طبقه بندی های مورد نظر را پوشش می دهد.
- تعریف وظیفه: وظیفه دسته بندی و همچنین کلاس هایی را که می خواهید مدل پیش بینی کند به وضوح بیان کنید. قالب ورودی و سایر الزامات، مانند حداکثر طول دنباله یا رمزگذاری ورودی، باید مشخص شود.
- پیکربندی مدل: بر اساس نیازهای کاری و منابع محاسباتی خود، بهترین نوع GPT-3 را برای استفاده انتخاب کنید. به مواردی مانند اندازه مدل، محدودیت رمز و مبادلات عملکرد فکر کنید.
- Tokenization: مجموعه داده خود را به منظور سازگاری با فرمت ورودی GPT-3 توکن کنید. اطمینان حاصل کنید که نشانه گذاری در طول آموزش و استنتاج سازگار است.
- رویه تنظیم دقیق: برای انجام فرآیند تنظیم دقیق، به کتاب راهنمای تنظیم دقیق و اسناد API OpenAI بروید. این شامل ساخت مدل با وزنه های از پیش آموزش دیده و سپس تنظیم دقیق آن بر روی مجموعه داده برچسب گذاری شده با استفاده از رویکردهای بهینه سازی مناسب است.
- تنظیم فراپارامتر: با متغیرهای فراپارامتر مانند نرخ یادگیری، اندازه دستهای و تعداد مراحل آموزشی آزمایش کنید تا به نتایج طبقهبندی بهینه برسید.
- معیارهای ارزیابی: معیارهای ارزیابی مرتبط با وظیفه طبقهبندی شما، مانند دقت، دقت، یادآوری یا امتیاز F1 را تعریف کنید. برای ارزیابی عملکرد مدل، از یک اعتبارسنجی یا مجموعه تست جداگانه استفاده کنید.
- تکنیک های منظم سازی: برای کاهش بیش از حد تناسب و افزایش تعمیم، از تکنیک های منظم سازی مانند توقف زودهنگام، ترک تحصیل، یا کاهش وزن استفاده کنید.
- مدیریت عدم تعادل کلاس: اگر مجموعه داده شما دارای توزیع کلاس نابرابر است، از استراتژیهایی مانند نمونهبرداری بیش از حد، زیر نمونهگیری یا وزندهی کلاس برای رفع مشکل استفاده کنید.
- آموزش انتقال: یادگیری انتقالی میتواند به تنظیم دقیق GPT-3 کمک کند. برای استفاده از دانش قبلی مدل، میتوانید مدل را با وزنههایی از یک مدل از پیش آموزشدیده اولیه کنید و کار طبقهبندی منحصربهفرد خود را تنظیم کنید.
با پیروی از این بهترین شیوهها و دستورالعملها، میتوانید بهطور مؤثر GPT-3 را برای طبقهبندی متن تنظیم کنید و ظرفیت آن را برای دستهبندی مناسب و کارآمد نمونههای متنی بهبود دهید.
DALL-E
DALLE یک مدل هوش مصنوعی OpenAI است که تصاویری را از توضیحات متنی تولید می کند. این ترکیبی از قدرت کلمات و تولید تصویر برای تولید گرافیک منحصر به فرد و مبتکرانه است. در اینجا مقدمه ای از نحوه ساخت ماسک های پویا با DALL·E و Segment Anything و همچنین نحوه تولید و ویرایش عکس ها با DALL·E آمده است.
ایجاد تصاویر با DALL·E:
- تصویر را توصیف کنید: تصویری را که میخواهید ایجاد کنید، شامل اشیاء، صحنهها یا افکار خاص، به صورت متنی توصیف کنید.
- متن را رمزگذاری کنید: توضیحات متن را به عددی تبدیل کنید که DALLE بتواند آن را درک و پردازش کند.
- بازنمود را رمزگشایی کنید: از DALLE، از متن کدگذاری شده برای تولید خروجی تصویر استفاده کنید.
- تکرار و اصلاح: با ورودیهای متن مختلف آزمایش کنید تا تغییرات تصویر را ایجاد کنید تا به نتیجه دلخواه برسید.
ویرایش تصاویر با DALL·E:
- شروع با یک تصویر موجود: با تصویری که میخواهید ویرایش یا تغییر دهید شروع کنید.
- ایجاد توضیحات متنی: یک توضیح متنی از تغییرات یا تغییرات درخواستی در تصویر ایجاد کنید.
- متن را رمزگذاری کنید: توضیح متن را به شکل عددی تبدیل کنید.
- ترکیب با تصویر اصلی: از متن کدگذاری شده به عنوان ورودی DALLE همراه با تصویر اصلی استفاده کنید.
- دریافت خروجی تصویر تغییر یافته: یک خروجی تصویر ایجاد کنید که شامل تغییرات توضیح داده شده در متن باشد.
ایجاد ماسک های پویا با DALL·E و Segment Anything:
- پارامترهای ماسک را تعریف کنید: ویژگیها یا معیارهای خاصی را برای ماسک انتخاب کنید، مانند رنگ، شکل یا دسته شی.
- ایجاد یک توضیح متنی: شرحی از ویژگیها یا ویژگیهای ماسک مورد نظر بنویسید.
- متن را رمزگذاری کنید: توضیح متن را به شکل عددی تبدیل کنید.
- ماسک را اعمال کنید: به عنوان ورودی DALLE، از متن کدگذاری شده و تصویر اصلی برای ایجاد یک تصویر با استفاده از ماسک پویا استفاده کنید.
با دنبال کردن این مراحل میتوانید از توانایی DALLE برای تولید و ویرایش تصاویر بر اساس توضیحات متنی و همچنین ساخت ماسکهای پویا برای کارهای بخشبندی تصویر استفاده کنید. این به شما امکان می دهد پتانسیل خلاقانه هوش مصنوعی را در حوزه بصری بررسی کنید.
Azure OpenAI (API جایگزین از Microsoft Azure)
خدمات Azure OpenAI یک محصول جدید Azure است که به شما امکان دسترسی به مدلهای قدرتمند زبان OpenAI از جمله GPT-4، GPT-3، Codex، و DALLE را میدهد. پردازش زبان طبیعی (NLP) و راه حل های بینایی کامپیوتری می توانند از این مدل ها برای تفسیر، مکالمه و تولید محتوا استفاده کنند. این سرویس از طریق REST API، SDK و Azure OpenAI Studio قابل دسترسی است. ChatGPT، یک مدل مکالمه مبتنی بر GPT-3، یکی از مدل های قابل دسترسی در سرویس Azure OpenAI است. ChatGPT ممکن است به ورودی های کاربر به شیوه ای طبیعی و جذاب پاسخ دهد.
چگونه از ChatGPT با Azure OpenAI استفاده کنیم؟
برای استفاده از ChatGPT با سرویس Azure OpenAI، باید این مراحل را دنبال کنید:
- برای دسترسی به سرویس Azure OpenAI درخواست دهید و منبعی را به اشتراک Azure خود اضافه کنید.
- از پورتال Azure یا Azure OpenAI Studio برای بدست آوردن کلید API و نقطه پایانی خود استفاده کنید.
- مدل ChatGPT و اندازه موتور را انتخاب کنید که به بهترین وجه نیازهای شما را برآورده می کند. اندازه موتورهای موجود gpt-35-turbo-small، gpt-35-turbo-medium و gpt-35-turbo-large است.
- یک درخواست POST را به نقطه پایانی ارسال کنید و کلید API، نام مدل و ورودی کاربر را به عنوان پارامتر ارسال کنید. برای کنترل تولید، می توانید پارامترهایی مانند دما، top_p، فرکانس_پنالتی، حضور_پنالت، توقف_توالی و غیره را نیز تعریف کنید.
- پاسخ مدل را بهعنوان یک شی JSON با فیلد «انتخابها» حاوی آرایهای از تکمیلهای احتمالی دریافت کنید. Embeddings مدل دیگری است که در سرویس Azure OpenAI ارائه شده است که ممکن است نمایش های برداری با ابعاد بالا از متن یا قطعه کد ایجاد کند. جاسازیها میتوانند به فعالیتهایی مانند جستجوی معنایی، خوشهبندی، و تحلیل شباهت کمک کنند.
چگونه از Azure OpenAI جاسازی دریافت کنیم؟
برای استفاده از Embeddings با سرویس Azure OpenAI، باید این مراحل را دنبال کنید:
- برای دسترسی به سرویس Azure OpenAI درخواست دهید و منبعی را به اشتراک Azure خود اضافه کنید.
- از پورتال Azure یا Azure OpenAI Studio برای بدست آوردن کلید API و نقطه پایانی خود استفاده کنید.
- مدل و اندازه موتور Embeddings را انتخاب کنید که به بهترین وجه با نیازهای شما مطابقت دارد. اندازه موتورهای ارائه شده عبارتند از embeddings-v1-small، embeddings-v1-medium، embeddings-v1-large و embeddings-v1-xlarge.
- به عنوان پارامتر، یک درخواست POST را با کلید API، نام مدل و متن یا قطعه کد به نقطه پایانی ارسال کنید. پارامترهای دیگر، مانند max_length و logprobs، می توانند برای تأثیرگذاری بر تولید استفاده شوند.
- پاسخ مدل را به عنوان یک شی JSON با یک فیلد “Embeddings” دریافت کنید که حاوی آرایه ای از مقادیر ممیز شناور است که نشان دهنده جاسازی برداری است. DALLE، مدلی که می تواند تصاویر را از توضیحات متن با استفاده از رمزگذار خودکار متغیر (VAE) تولید کند، مدل سومی است که در سرویس OpenAI Azure قابل دسترسی است. DALLE می تواند تصاویر منحصر به فرد و متفاوتی را که با متن داده شده مطابقت دارد تولید کند.
چگونه از Azure OpenAI با DALL·E تصاویر تولید کنیم؟
برای استفاده از DALL·E با سرویس Azure OpenAI، باید این مراحل را دنبال کنید:
- برای دسترسی به سرویس Azure OpenAI درخواست دهید و منبعی را به اشتراک Azure خود اضافه کنید.
- از پورتال Azure یا Azure OpenAI Studio برای بدست آوردن کلید API و نقطه پایانی خود استفاده کنید.
- مدل DALLE و اندازه موتور را انتخاب کنید که به بهترین وجه نیازهای شما را برآورده می کند. اندازه موتورهای موجود dalle-v0-small و dalle-v0-large هستند.
همچنین بخوانید: Greelower”>Getoret-api-key-for-n کلید API به صورت رایگان
در پایان، کتاب آشپزی OpenAI یک راهنمای مفید برای افرادی است که میخواهند از مدلها و ابزارهای OpenAI استفاده کنند. این طیف گسترده ای از موضوعات، از جمله نحوه استفاده از API، کار با مدل های مختلف مانند GPT و DALL·E و ساخت برنامه ها را پوشش می دهد. لطفا نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.