تکالیف ممکن است به گونهای تنظیم شوند که با یک یا چند استقرار مدل زبان بزرگ (LLM) از طریق یک ارائهدهنده خدمات پشتیبانی شده مانند OpenAI، Azure یا Hugging Face کار کنند. اینها یک نقطه پایانی میزبانی شده (API) ارائه میدهند که میتوانیم به صورت برنامهنویسی با اعتبارنامههای مناسب (کلید API یا توکن) به آن دسترسی داشته باشیم. در این دوره، این ارائهدهندگان را بررسی میکنیم:
- OpenAI با مدلهای متنوع از جمله سری اصلی GPT.
- Azure OpenAI برای مدلهای OpenAI با تمرکز بر آمادگی سازمانی
- Hugging Face برای مدلهای متنباز و سرور استنتاج
برای این تمرینها باید از حسابهای خودتان استفاده کنید. تکالیف اختیاری هستند، بنابراین میتوانید بر اساس علاقهمندیهای خود یکی، همه یا هیچکدام از ارائهدهندگان را راهاندازی کنید. راهنماییهایی برای ثبتنام:
| ثبتنام | هزینه | کلید API | محیط آزمایشی | توضیحات |
|---|---|---|---|---|
| OpenAI | قیمتگذاری | بر اساس پروژه | بدون کد، وب | مدلهای متعدد در دسترس |
| Azure | قیمتگذاری | شروع سریع SDK | شروع سریع استودیو | باید پیشاپیش درخواست دسترسی دهید |
| Hugging Face | قیمتگذاری | توکنهای دسترسی | Hugging Chat | Hugging Chat مدلهای محدودی دارد |
دستورالعملهای زیر را برای پیکربندی این مخزن برای استفاده با ارائهدهندگان مختلف دنبال کنید. تکالیفی که نیاز به ارائهدهنده خاصی دارند، یکی از این برچسبها را در نام فایل خود خواهند داشت:
aoai- نیاز به نقطه پایانی و کلید Azure OpenAI داردoai- نیاز به نقطه پایانی و کلید OpenAI داردhf- نیاز به توکن Hugging Face دارد
میتوانید یکی، هیچکدام یا همه ارائهدهندگان را پیکربندی کنید. تکالیف مرتبط در صورت نبود اعتبارنامهها خطا خواهند داد.
فرض میکنیم که راهنماییهای بالا را خواندهاید و با ارائهدهنده مربوطه ثبتنام کرده و اعتبارنامههای احراز هویت لازم (API_KEY یا توکن) را دریافت کردهاید. در مورد Azure OpenAI، فرض میکنیم که همچنین یک استقرار معتبر از سرویس Azure OpenAI (نقطه پایانی) با حداقل یک مدل GPT برای تکمیل چت دارید.
گام بعدی پیکربندی متغیرهای محیطی محلی شما به شرح زیر است:
-
در پوشه ریشه به دنبال فایل
.env.copyبگردید که باید محتوایی شبیه به این داشته باشد:# ارائهدهنده OpenAI OPENAI_API_KEY='<add your OpenAI API key here>' ## آزور OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # پیشفرض تنظیم شده است! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## هاجینگ فیس HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
آن فایل را با دستور زیر به
.envکپی کنید. این فایل در gitignore قرار دارد و اسرار را ایمن نگه میدارد.cp .env.copy .env
-
مقادیر را پر کنید (جایگزینهای سمت راست
=) همانطور که در بخش بعدی توضیح داده شده است. -
(اختیاری) اگر از GitHub Codespaces استفاده میکنید، میتوانید متغیرهای محیطی را به عنوان اسرار Codespaces مرتبط با این مخزن ذخیره کنید. در این صورت نیازی به راهاندازی فایل .env محلی نخواهید داشت. با این حال، توجه داشته باشید که این گزینه فقط در صورت استفاده از GitHub Codespaces کار میکند. اگر از Docker Desktop استفاده میکنید، همچنان باید فایل .env را راهاندازی کنید.
بیایید نگاهی سریع به نام متغیرها بیندازیم تا بفهمیم چه چیزی را نشان میدهند:
| متغیر | توضیح |
|---|---|
| HUGGING_FACE_API_KEY | این توکن دسترسی کاربری است که در پروفایل خود تنظیم کردهاید |
| OPENAI_API_KEY | این کلید مجوز برای استفاده از سرویس برای نقاط پایانی غیر Azure OpenAI است |
| AZURE_OPENAI_API_KEY | این کلید مجوز برای استفاده از آن سرویس است |
| AZURE_OPENAI_ENDPOINT | این نقطه پایانی مستقر شده برای منبع Azure OpenAI است |
| AZURE_OPENAI_DEPLOYMENT | این نقطه پایانی استقرار مدل تولید متن است |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | این نقطه پایانی استقرار مدل بردارهای متنی است |
توجه: دو متغیر آخر Azure OpenAI به ترتیب مدل پیشفرض برای تکمیل چت (تولید متن) و جستجوی برداری (بردارها) را نشان میدهند. دستورالعملهای تنظیم آنها در تکالیف مربوطه تعریف خواهد شد.
مقادیر نقطه پایانی و کلید Azure OpenAI را میتوانید در Azure Portal پیدا کنید، پس از آنجا شروع کنیم.
- به Azure Portal بروید
- گزینه Keys and Endpoint را در نوار کناری (منوی سمت چپ) کلیک کنید.
- روی Show Keys کلیک کنید - باید موارد زیر را ببینید: KEY 1، KEY 2 و Endpoint.
- مقدار KEY 1 را برای AZURE_OPENAI_API_KEY استفاده کنید
- مقدار Endpoint را برای AZURE_OPENAI_ENDPOINT استفاده کنید
بعد، به نقاط پایانی مدلهای خاصی که مستقر کردهایم نیاز داریم.
- گزینه Model deployments را در نوار کناری (منوی سمت چپ) برای منبع Azure OpenAI کلیک کنید.
- در صفحه مقصد، روی Manage Deployments کلیک کنید
این شما را به وبسایت Azure OpenAI Studio میبرد، جایی که مقادیر دیگر را طبق توضیحات زیر پیدا خواهیم کرد.
- به Azure OpenAI Studio از منبع خود که در بالا توضیح داده شد، بروید.
- تب Deployments (نوار کناری، سمت چپ) را برای مشاهده مدلهای مستقر شده فعلی کلیک کنید.
- اگر مدل مورد نظر شما مستقر نشده است، از Create new deployment برای استقرار آن استفاده کنید.
- شما به یک مدل تولید متن نیاز دارید - ما توصیه میکنیم: gpt-35-turbo
- شما به یک مدل بردار متنی نیاز دارید - ما توصیه میکنیم text-embedding-ada-002
اکنون متغیرهای محیطی را به گونهای بهروزرسانی کنید که نام استقرار استفاده شده را منعکس کند. این معمولاً همان نام مدل است مگر اینکه صراحتاً آن را تغییر داده باشید. بنابراین، به عنوان مثال، ممکن است داشته باشید:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'فراموش نکنید پس از اتمام فایل .env را ذخیره کنید. اکنون میتوانید از فایل خارج شده و به دستورالعملهای اجرای دفترچه بازگردید.
کلید API OpenAI شما را میتوانید در حساب OpenAI خود پیدا کنید. اگر کلیدی ندارید، میتوانید ثبتنام کنید و یک کلید API ایجاد کنید. پس از دریافت کلید، میتوانید آن را در متغیر OPENAI_API_KEY در فایل .env وارد کنید.
توکن Hugging Face شما را میتوانید در پروفایل خود در بخش Access Tokens پیدا کنید. اینها را به صورت عمومی منتشر یا به اشتراک نگذارید. در عوض، یک توکن جدید برای استفاده در این پروژه ایجاد کرده و آن را در فایل .env در متغیر HUGGING_FACE_API_KEY کپی کنید. توجه: این از نظر فنی کلید API نیست اما برای احراز هویت استفاده میشود، بنابراین برای حفظ سازگاری از این نامگذاری استفاده میکنیم.
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است حاوی خطاها یا نادرستیهایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم.