Skip to content

Latest commit

 

History

History
122 lines (83 loc) · 12.4 KB

File metadata and controls

122 lines (83 loc) · 12.4 KB

انتخاب و پیکربندی یک ارائه‌دهنده LLM 🔑

تکالیف ممکن است به گونه‌ای تنظیم شوند که با یک یا چند استقرار مدل زبان بزرگ (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 دارد

می‌توانید یکی، هیچ‌کدام یا همه ارائه‌دهندگان را پیکربندی کنید. تکالیف مرتبط در صورت نبود اعتبارنامه‌ها خطا خواهند داد.

ایجاد فایل .env

فرض می‌کنیم که راهنمایی‌های بالا را خوانده‌اید و با ارائه‌دهنده مربوطه ثبت‌نام کرده و اعتبارنامه‌های احراز هویت لازم (API_KEY یا توکن) را دریافت کرده‌اید. در مورد Azure OpenAI، فرض می‌کنیم که همچنین یک استقرار معتبر از سرویس Azure OpenAI (نقطه پایانی) با حداقل یک مدل GPT برای تکمیل چت دارید.

گام بعدی پیکربندی متغیرهای محیطی محلی شما به شرح زیر است:

  1. در پوشه ریشه به دنبال فایل .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>'
  2. آن فایل را با دستور زیر به .env کپی کنید. این فایل در gitignore قرار دارد و اسرار را ایمن نگه می‌دارد.

    cp .env.copy .env
  3. مقادیر را پر کنید (جایگزین‌های سمت راست =) همانطور که در بخش بعدی توضیح داده شده است.

  4. (اختیاری) اگر از GitHub Codespaces استفاده می‌کنید، می‌توانید متغیرهای محیطی را به عنوان اسرار Codespaces مرتبط با این مخزن ذخیره کنید. در این صورت نیازی به راه‌اندازی فایل .env محلی نخواهید داشت. با این حال، توجه داشته باشید که این گزینه فقط در صورت استفاده از GitHub Codespaces کار می‌کند. اگر از Docker Desktop استفاده می‌کنید، همچنان باید فایل .env را راه‌اندازی کنید.

پر کردن فایل .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: از طریق پرتال

مقادیر نقطه پایانی و کلید Azure OpenAI را می‌توانید در Azure Portal پیدا کنید، پس از آنجا شروع کنیم.

  1. به Azure Portal بروید
  2. گزینه Keys and Endpoint را در نوار کناری (منوی سمت چپ) کلیک کنید.
  3. روی Show Keys کلیک کنید - باید موارد زیر را ببینید: KEY 1، KEY 2 و Endpoint.
  4. مقدار KEY 1 را برای AZURE_OPENAI_API_KEY استفاده کنید
  5. مقدار Endpoint را برای AZURE_OPENAI_ENDPOINT استفاده کنید

بعد، به نقاط پایانی مدل‌های خاصی که مستقر کرده‌ایم نیاز داریم.

  1. گزینه Model deployments را در نوار کناری (منوی سمت چپ) برای منبع Azure OpenAI کلیک کنید.
  2. در صفحه مقصد، روی Manage Deployments کلیک کنید

این شما را به وب‌سایت Azure OpenAI Studio می‌برد، جایی که مقادیر دیگر را طبق توضیحات زیر پیدا خواهیم کرد.

پیکربندی Azure: از طریق استودیو

  1. به Azure OpenAI Studio از منبع خود که در بالا توضیح داده شد، بروید.
  2. تب Deployments (نوار کناری، سمت چپ) را برای مشاهده مدل‌های مستقر شده فعلی کلیک کنید.
  3. اگر مدل مورد نظر شما مستقر نشده است، از Create new deployment برای استقرار آن استفاده کنید.
  4. شما به یک مدل تولید متن نیاز دارید - ما توصیه می‌کنیم: gpt-35-turbo
  5. شما به یک مدل بردار متنی نیاز دارید - ما توصیه می‌کنیم text-embedding-ada-002

اکنون متغیرهای محیطی را به گونه‌ای به‌روزرسانی کنید که نام استقرار استفاده شده را منعکس کند. این معمولاً همان نام مدل است مگر اینکه صراحتاً آن را تغییر داده باشید. بنابراین، به عنوان مثال، ممکن است داشته باشید:

AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'

فراموش نکنید پس از اتمام فایل .env را ذخیره کنید. اکنون می‌توانید از فایل خارج شده و به دستورالعمل‌های اجرای دفترچه بازگردید.

پیکربندی OpenAI: از طریق پروفایل

کلید API OpenAI شما را می‌توانید در حساب OpenAI خود پیدا کنید. اگر کلیدی ندارید، می‌توانید ثبت‌نام کنید و یک کلید API ایجاد کنید. پس از دریافت کلید، می‌توانید آن را در متغیر OPENAI_API_KEY در فایل .env وارد کنید.

پیکربندی Hugging Face: از طریق پروفایل

توکن Hugging Face شما را می‌توانید در پروفایل خود در بخش Access Tokens پیدا کنید. این‌ها را به صورت عمومی منتشر یا به اشتراک نگذارید. در عوض، یک توکن جدید برای استفاده در این پروژه ایجاد کرده و آن را در فایل .env در متغیر HUGGING_FACE_API_KEY کپی کنید. توجه: این از نظر فنی کلید API نیست اما برای احراز هویت استفاده می‌شود، بنابراین برای حفظ سازگاری از این نامگذاری استفاده می‌کنیم.


سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم.