۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

شروع به کار با Google’s Palm API

PaLM API به شما امکان می‌دهد تا مدل زبان بزرگ PalM 2 Google را مستقیماً از برنامه خود ضربه بزنید. بیایید با نوشتن کدی برای ایجاد یک پست وبلاگ، از جمله کد HTML، شروع کنیم.

PaLM API به شما امکان می‌دهد تا مدل زبان بزرگ PalM 2 Google را مستقیماً از برنامه خود ضربه بزنید. بیایید با نوشتن کدی برای ایجاد یک پست وبلاگ، از جمله کد HTML، شروع کنیم.

Pathways Language Model 2 (PaLM 2) یک مدل زبان بزرگ (LLM) است که توسط Google ایجاد شده است. در ماه مه ۲۰۲۳ به عنوان جانشین معرفی شد. مدل PalM، که ابتدا در ژانویه ۲۰۲۲ منتشر شد. مدل PalM 2 بر روی مجموعه داده های عظیمی از متن و کد آموزش دیده است و می تواند طیف گسترده ای از وظایف مانند تکمیل کلمه، تکمیل کد، پاسخ به سؤال، خلاصه سازی و تحلیل احساسات.

PaLM 2 یک مدل پایه است که هسته اصلی پلتفرم Google برای هوش مصنوعی مولد است. PalM 2 به Bard، ربات چت هوش مصنوعی Google که با ChatGPT OpenAI رقابت می‌کند، و Duet AI، چارچوب دستیار هوش مصنوعی Google که در محصولاتی مانند Google Workspace و Google Cloud ادغام می‌شود، قدرت می‌دهد.

Google API PalM را در پلتفرم Vertex AI و به عنوان نقطه پایانی API مستقل در دسترس قرار می‌دهد. توسعه‌دهندگان می‌توانند امروز به Vertex AI PalM API دسترسی داشته باشند، در حالی که نقطه پایانی مستقل فقط از طریق برنامه آزمایش‌کنندگان معتمد در دسترس است.

با Python و Vertex AI در حال اجرا و اجرا

با فرض اینکه شما مشترک Google Cloud هستید، این آموزش شما را در مراحل کاوش در API PalM موجود در پلتفرم Vertex AI راهنمایی می کند. لطفاً توجه داشته باشید که این سرویس در پیش نمایش است و API ممکن است در آینده تغییر کند.

Svelte 4 ردپای کد، خروجی کامپایل شده را کوچک می کند

بیایید با ایجاد یک محیط مجازی پایتون برای آزمایش خود شروع کنیم.

python3 -m venv venv
source venv/bin/activate

سپس ماژول Python را برای دسترسی به پلتفرم Google Vertex AI نصب می‌کنیم.

pip install google-cloud-aiplatform

ما همچنین Jupyter Notebook را نصب خواهیم کرد که از آن به عنوان محیط توسعه خود استفاده خواهیم کرد.

pip install jupyter

کتابخانه vertexai.preview.language_models دارای چندین کلاس از جمله ChatModel، TextEmbedding، و TextGenerationModel است. برای این آموزش، ما بر روی TextGenerationModel تمرکز خواهیم کرد، جایی که PalM 2 به ما کمک می کند تا یک پست وبلاگ را بر اساس اعلان ورودی ایجاد کنیم.

به عنوان اولین قدم، کلاس مناسب را از ماژول وارد کنید.

Import vertexai.preview.language_models import TextGenerationModel

سپس ما شی را بر اساس مدل از پیش آموزش دیده، text-bison@001، که برای تولید متن بهینه شده است، مقداردهی اولیه می کنیم.

model = TextGenerationModel.from_pretrained("text-bison@001")

مرحله بعدی تعریف تابعی است که دستور را به عنوان ورودی می پذیرد و پاسخ تولید شده توسط مدل را به عنوان خروجی برمی گرداند.

def get_completion(prompt_text):
    response = model.predict(
        prompt_text,
        max_output_tokens=1000,
        temperature=0.3
    )
    return response.text

vertex ai palm api 01

روش، پیش بینی، اعلان، تعداد نشانه ها و دما را به عنوان پارامتر می پذیرد. بیایید این پارامترها را بهتر درک کنیم.

New Relic گزارش می‌دهد که آمازون کورتو، جاوا 17 افزایش می‌یابد

پارامترهای مدل تولید متن

در حالی که درخواست‌هایی را به‌صورت رشته‌های متنی به API PalM ارسال می‌کنیم، API این رشته‌ها را به تکه‌هایی از معنی به نام نشانه‌ها تبدیل می‌کند. یک نشانه تقریباً چهار کاراکتر است. ۱۰۰ نشانه تقریباً با ۶۰ تا ۸۰ کلمه مطابقت دارد. اگر می‌خواهیم خروجی مدل در ۵۰۰ کلمه باشد، می‌توان مقدار max_output_tokens را روی ۱۰۰۰ تنظیم کرد. حداکثر مقدار پشتیبانی شده توسط مدل ۱۰۲۴ است. اگر این پارامتر را لحاظ نمی‌کردیم، مقدار به‌طور پیش‌فرض روی ۶۴ خواهد بود.

پارامتر بعدی، دما، خلاقیت مدل را مشخص می کند. این تنظیم میزان تصادفی بودن انتخاب نشانه را کنترل می کند. دمای پایین‌تر برای درخواست‌هایی که نیاز به پاسخ خاص و خلاقانه‌تر دارند بهتر است، در حالی که دمای بالاتر می‌تواند پاسخ‌های متنوع‌تر و خلاقانه‌تری را به همراه داشته باشد. مقدار دما می تواند بین ۰ و ۱ باشد. از آنجایی که ما کمی خلاقیت می خواهیم، ​​آن را روی ۰.۳ تنظیم می کنیم.

دما نیز یک پارامتر اختیاری است که مقدار پیش‌فرض آن بسته به مدل متفاوت است. دو پارامتر اختیاری دیگر، top_k و top_p، به شما این امکان را می‌دهند که نحوه انتخاب مدل نشانه‌ها را برای خروجی تغییر دهید، اما در اینجا از آنها صرفنظر می‌کنیم.

Deno 1.19 پشتیبانی از جریان های وب را گسترش می دهد

با روش موجود، بیایید درخواست را بسازیم.

prompt = f"""
Write a blog post on renewable energy. Limit the number of words to 500.
"""

روش را با ارسال فرمان فراخوانی کنید.

response=get_completion(prompt)
print(response)

vertex ai palm api 02

شما باید یک پست وبلاگ به خوبی نوشته شده توسط PALM را ببینید.

بیایید با درخواست از PalM برای ایجاد محتوای قالب‌بندی‌شده در HTML، این را واقع‌بینانه کنیم. برای آن، ما باید درخواست را اصلاح کنیم.

prompt = f"""
Write a blog post on renewable energy. Limit the number of words to 500.
Format the output in HTML.
"""

برای چاپ خروجی در قالب HTML، می‌توانیم از ویجت‌های داخلی Jupyter Notebook استفاده کنیم.

from IPython.display import display, HTML
display(HTML(response))

اکنون می توانید پست وبلاگ را با فرمت HTML مشاهده کنید.

vertex ai palm api 03

در زیر کد کامل مرجع شما آمده است.

from vertexai.preview.language_models import TextGenerationModel
model = TextGenerationModel.from_pretrained("text-bison@001")
def get_completion(prompt_text):
    response = model.predict(
        prompt_text,
        max_output_tokens=1000,
        temperature=0.3
    )
    return response.text
prompt = f"""
Write a blog post on renewable energy. Limit the number of words to 500.
Format the output in HTML.
"""
response=get_completion(prompt)
print(response)
from IPython.display import display, HTML
display(HTML(response))

فقط در چند خط کد، ما از PalM 2 LLM برای ایجاد یک پست وبلاگ استفاده کرده ایم. در آموزش های آینده، سایر قابلیت های مدل از جمله تکمیل کد، چت و جاسازی کلمه را بررسی خواهیم کرد. با ما همراه باشید.