آموزش استفاده از Gemini API در پروژه های هوش مصنوعی

۱۴۰۵/۴/۱۳ · ۳۵ دقیقه مطالعه

گندم کریمی
گندم کریمی

۵

متخصص هوش مصنوعی و تولید محتوا در Axeto. روی Prompt Engineering، Flux، ComfyUI و workflowهای تصویر/ویدیو AI تمرکز دارد.

نکات کلیدی

  • Gemini یک مدل هوش مصنوعی چندوجهی از گوگل است که قابلیت درک و تولید متن، تصویر، ویدئو و کد را دارد.
  • برای استفاده از Gemini API، به یک حساب Google فعال و فعال‌سازی Google Cloud Console نیاز دارید.
  • کلید API Gemini را باید از Google AI Studio دریافت کرده و آن را همیشه محرمانه نگه دارید.
  • نصب Python (نسخه 3.8 به بالا) و کتابخانه `google-generativeai` برای کار با API ضروری است.
  • با استفاده از Gemini API می‌توانید برنامه‌های کاربردی هوشمند و خلاقانه‌ای در زمینه‌های مختلف توسعه دهید.

همین حالا در Axeto امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

فضای کاری دیجیتال آینده‌نگرانه با نمایش کد، تصاویر و متن تولید شده توسط هوش مصنوعی و لوگوی Gemini، نمادی از خلاقیت و نوآوری در هوش مصنوعی.

مقدمه

در دنیای پرشتاب هوش مصنوعی، مدل‌های زبانی بزرگ (LLM) به ابزارهایی قدرتمند تبدیل شده‌اند که قابلیت‌های بی‌نظیری را برای توسعه‌دهندگان و خالقان محتوا فراهم می‌کنند. Gemini، جدیدترین و پیشرفته‌ترین مدل هوش مصنوعی گوگل، با قابلیت‌های چندوجهی خود، افق‌های جدیدی را در این زمینه گشوده است. این مدل نه تنها می‌تواند متن را درک کند و تولید کند، بلکه قادر به پردازش تصاویر، ویدئوها و حتی کد نیز هست. در این آموزش جامع، قصد داریم گام به گام شما را با نحوه استفاده از API Gemini آشنا کنیم تا بتوانید قدرت آن را در پروژه‌های خود به کار گیرید.

API Gemini به توسعه‌دهندگان امکان می‌دهد تا به قابلیت‌های پیشرفته این مدل دسترسی پیدا کرده و برنامه‌های کاربردی هوشمند و خلاقانه بسازند. از تولید محتوای متنی و کدنویسی خودکار گرفته تا تحلیل تصاویر و پاسخ به سوالات پیچیده، Gemini می‌تواند در طیف وسیعی از کاربردها مورد استفاده قرار گیرد. هدف ما در Axeto این است که به شما کمک کنیم تا با بهره‌گیری از این تکنولوژی‌های نوین، فرآیند تولید محتوا و خلق تصاویر خود را متحول کنید.

در این مقاله، ابتدا به معرفی اجمالی Gemini و قابلیت‌های آن می‌پردازیم. سپس، پیش‌نیازهای لازم برای شروع کار با API Gemini را بررسی خواهیم کرد. در ادامه، گام به گام نحوه دریافت کلید API، نصب کتابخانه‌های مورد نیاز و ارسال اولین درخواست به مدل را آموزش می‌دهیم. همچنین، به بررسی نمونه کدهای عملی، نحوه مدیریت خطاها و بهترین روش‌ها برای استفاده بهینه از Gemini خواهیم پرداخت. در پایان، نگاهی به نحوه ادغام Axeto با Gemini خواهیم داشت و پتانسیل‌های آن را برای کاربران ایرانی Axeto برجسته می‌کنیم.

این آموزش برای همه سطوح، از مبتدیانی که تازه با دنیای هوش مصنوعی آشنا شده‌اند تا توسعه‌دهندگان باتجربه که به دنبال ادغام قابلیت‌های پیشرفته Gemini در پروژه‌های خود هستند، مناسب است. با ما همراه باشید تا دریچه‌ای نو به سوی آینده هوش مصنوعی بگشاییم.

پیش‌نیازها

قبل از اینکه بتوانیم شروع به کار با API Gemini کنیم، لازم است که چند پیش‌نیاز اساسی را فراهم آوریم. این پیش‌نیازها تضمین می‌کنند که شما یک محیط توسعه مناسب دارید و می‌توانید به راحتی با API ارتباط برقرار کنید.

1. حساب Google و فعال‌سازی Google Cloud:

* برای استفاده از API Gemini، شما به یک حساب Google فعال نیاز دارید. اگر حساب Google ندارید، می‌توانید به راحتی یک حساب رایگان ایجاد کنید.

* پس از ایجاد حساب، باید Google Cloud Console را فعال کنید. این کار به شما امکان می‌دهد تا به سرویس‌های مختلف Google Cloud، از جمله APIهای هوش مصنوعی، دسترسی پیدا کنید. فعال‌سازی معمولاً شامل پذیرش شرایط و ضوابط و در برخی موارد، ارائه اطلاعات پرداخت برای فعال‌سازی سرویس‌های پولی است، اگرچه استفاده از Gemini در سطح رایگان (free tier) نیز امکان‌پذیر است.

2. دریافت کلید API:

* کلید API یک رشته منحصر به فرد است که به برنامه‌های شما اجازه می‌دهد تا با API Gemini ارتباط برقرار کنند. این کلید هویت شما را تأیید می‌کند و دسترسی به سرویس‌ها را فراهم می‌آورد.

* برای دریافت کلید API، باید به Google AI Studio مراجعه کنید. پس از ورود با حساب Google خود، می‌توانید یک کلید API جدید ایجاد کنید. نکته مهم: کلید API خود را همیشه محرمانه نگه دارید و هرگز آن را در کدهای منبع عمومی یا مخازن Git قرار ندهید. این کلید مانند رمز عبور شماست و دسترسی غیرمجاز به آن می‌تواند منجر به سوءاستفاده شود.

3. نصب Python و Pip:

* بیشتر نمونه کدهای API Gemini با زبان برنامه‌نویسی Python ارائه شده‌اند. بنابراین، شما نیاز به نصب Python (نسخه 3.8 یا بالاتر) بر روی سیستم خود دارید.

* Pip (Package Installer for Python) ابزاری است که به شما امکان می‌دهد کتابخانه‌های Python را به راحتی نصب و مدیریت کنید. Pip معمولاً به همراه Python نصب می‌شود، اما می‌توانید با اجرای دستور pip --version در خط فرمان، از نصب بودن آن اطمینان حاصل کنید.

4. نصب کتابخانه Google Generative AI برای Python:

* گوگل یک کتابخانه رسمی Python برای تعامل با API Gemini ارائه کرده است که فرآیند ارسال درخواست و دریافت پاسخ را ساده می‌کند.

* برای نصب این کتابخانه، دستور زیر را در خط فرمان (Command Prompt یا Terminal) خود اجرا کنید:

```bash

pip install google-generativeai

```

5. محیط توسعه (IDE) یا ویرایشگر کد:

* یک محیط توسعه یکپارچه (IDE) مانند VS Code، PyCharm یا حتی یک ویرایشگر کد ساده مانند Sublime Text یا Notepad++ برای نوشتن و اجرای کدهای Python شما مفید خواهد بود. این ابزارها به شما کمک می‌کنند تا کد خود را به صورت سازمان‌یافته بنویسید و اشکالات آن را برطرف کنید.

با فراهم آوردن این پیش‌نیازها، شما آماده‌اید تا اولین درخواست خود را به API Gemini ارسال کنید و از قدرت هوش مصنوعی در پروژه‌های خود بهره‌مند شوید. این آماده‌سازی اولیه، گام مهمی در مسیر یادگیری هوش مصنوعی و تولید محتوای هوشمند است.

گام ۱: دریافت کلید API و تنظیم محیط

اولین و مهم‌ترین گام برای شروع کار با API Gemini، دریافت کلید API و تنظیم صحیح محیط توسعه است. این کلید، هویت شما را برای سرویس‌های گوگل تأیید می‌کند و امکان دسترسی به مدل‌های هوش مصنوعی را فراهم می‌آورد.

۱.۱. دریافت کلید API از Google AI Studio

برای دریافت کلید API، مراحل زیر را دنبال کنید:

1. ورود به Google AI Studio: مرورگر وب خود را باز کرده و به آدرس https://aistudio.google.com/app/apikey بروید.

2. ورود به حساب Google: اگر از قبل وارد حساب Google خود نشده‌اید، با حساب کاربری Google خود وارد شوید.

3. ایجاد کلید API: در صفحه Google AI Studio، دکمه "Create API key in new project" یا "Get API key" را مشاهده خواهید کرد. روی آن کلیک کنید.

* گوگل به طور خودکار یک پروژه جدید برای شما در Google Cloud ایجاد می‌کند و یک کلید API منحصر به فرد را برای شما تولید و نمایش می‌دهد.

4. کپی کردن کلید API: کلید API تولید شده را کپی کنید. این کلید را در مکانی امن نگه دارید. هرگز آن را در کدهای منبع عمومی، مخازن Git (مانند GitHub) یا هر جای دیگری که ممکن است در معرض دید عموم قرار گیرد، قرار ندهید. این کلید به حساب شما مرتبط است و دسترسی غیرمجاز به آن می‌تواند منجر به هزینه‌های ناخواسته یا سوءاستفاده شود.

۱.۲. تنظیم متغیر محیطی برای کلید API

برای امنیت بیشتر و سهولت در مدیریت کلید API، توصیه می‌شود آن را به عنوان یک متغیر محیطی (Environment Variable) تنظیم کنید، نه اینکه مستقیماً در کد خود قرار دهید. این روش به شما امکان می‌دهد بدون تغییر کد، کلید API را تغییر دهید و از قرار گرفتن آن در معرض دید جلوگیری می‌کند.

در سیستم‌عامل‌های مختلف:

  • Linux/macOS:

خط فرمان (Terminal) را باز کنید و دستور زیر را اجرا کنید. YOUR_API_KEY را با کلید API واقعی خود جایگزین کنید:

```bash

export GOOGLE_API_KEY="YOUR_API_KEY"

```

توجه: این دستور کلید را فقط برای جلسه فعلی ترمینال تنظیم می‌کند. برای اینکه کلید به صورت دائمی تنظیم شود، باید آن را به فایل .bashrc, .zshrc یا .profile خود اضافه کنید. به عنوان مثال:

```bash

echo 'export GOOGLE_API_KEY="YOUR_API_KEY"' >> ~/.bashrc

source ~/.bashrc

```

  • Windows:

1. کلید Windows + R را فشار دهید، سپس sysdm.cpl را تایپ کرده و Enter را بزنید.

2. به تب Advanced بروید و روی Environment Variables کلیک کنید.

3. در بخش User variables یا System variables، روی New کلیک کنید.

4. برای Variable name، GOOGLE_API_KEY را وارد کنید.

5. برای Variable value، کلید API خود را وارد کنید.

6. روی OK کلیک کنید تا تغییرات ذخیره شوند.

7. برای اعمال تغییرات، ممکن است نیاز باشد Command Prompt یا VS Code را ریستارت کنید.

۱.۳. نصب کتابخانه Google Generative AI

پس از تنظیم کلید API، نوبت به نصب کتابخانه Python می‌رسد که به ما امکان می‌دهد با API Gemini ارتباط برقرار کنیم.

1. باز کردن خط فرمان: یک Command Prompt (در ویندوز) یا Terminal (در Linux/macOS) باز کنید.

2. نصب کتابخانه: دستور زیر را اجرا کنید:

```bash

pip install google-generativeai

```

این دستور آخرین نسخه از کتابخانه google-generativeai را نصب می‌کند. اگر از قبل آن را نصب کرده‌اید، می‌توانید با --upgrade آن را به روز رسانی کنید:

```bash

pip install --upgrade google-generativeai

```

۱.۴. تأیید نصب و تنظیمات

برای اطمینان از اینکه همه چیز به درستی نصب و تنظیم شده است، می‌توانید یک اسکریپت Python کوچک ایجاد کنید:

import os
import google.generativeai as genai

# بررسی وجود کلید API در متغیرهای محیطی
api_key = os.getenv("GOOGLE_API_KEY")
if api_key:
    print("GOOGLE_API_KEY با موفقیت بارگذاری شد.")
    # پیکربندی API با استفاده از کلید
    genai.configure(api_key=api_key)
    print("پیکربندی Gemini API با موفقیت انجام شد.")
else:
    print("خطا: GOOGLE_API_KEY در متغیرهای محیطی یافت نشد.")
    print("لطفاً کلید API خود را به عنوان یک متغیر محیطی تنظیم کنید.")

# تلاش برای لیست کردن مدل‌ها برای تأیید اتصال
try:
    for model in genai.list_models():
        print(model.name)
    print("اتصال به API Gemini با موفقیت برقرار شد.")
except Exception as e:
    print(f"خطا در اتصال به API Gemini: {e}")
    print("لطفاً از اتصال اینترنت خود و صحت کلید API اطمینان حاصل کنید.")

این کد ابتدا بررسی می‌کند که آیا متغیر محیطی GOOGLE_API_KEY تنظیم شده است یا خیر. سپس، تلاش می‌کند تا با استفاده از این کلید، API Gemini را پیکربندی کند و لیستی از مدل‌های موجود را دریافت کند. اگر همه چیز به درستی کار کند، پیامی مبنی بر موفقیت‌آمیز بودن پیکربندی و لیست مدل‌ها را مشاهده خواهید کرد.

با اتمام این گام‌ها، شما یک محیط توسعه آماده برای شروع کار با API Gemini دارید و می‌توانید به گام‌های بعدی، یعنی تعامل با مدل، بپردازید. این پایه و اساس تمام کارهای بعدی شما با Gemini خواهد بود و به شما امکان می‌دهد تا به راحتی پرامپت‌های خود را ارسال کرده و پاسخ‌های هوش مصنوعی را دریافت کنید.

گام ۲: ارسال اولین درخواست متنی به Gemini

پس از اینکه کلید API خود را تنظیم و کتابخانه google-generativeai را نصب کردید، آماده‌اید تا اولین درخواست خود را به API Gemini ارسال کنید. در این گام، نحوه تعامل با مدل برای تولید متن را بررسی می‌کنیم.

۲.۱. پیکربندی مدل

قبل از ارسال درخواست، باید مدل Gemini را پیکربندی کنید. این کار شامل مشخص کردن کلید API و انتخاب مدلی است که می‌خواهید با آن کار کنید.

import os
import google.generativeai as genai

# مطمئن شوید که GOOGLE_API_KEY به عنوان یک متغیر محیطی تنظیم شده است
# یا آن را مستقیماً در اینجا قرار دهید (که توصیه نمی‌شود برای محیط‌های تولیدی)
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

# انتخاب مدل Gemini
# مدل 'gemini-pro' برای درخواست‌های متنی بهینه شده است.
# برای قابلیت‌های چندوجهی (متن و تصویر)، می‌توانید از 'gemini-pro-vision' استفاده کنید.
model = genai.GenerativeModel('gemini-pro')

در اینجا، os.getenv("GOOGLE_API_KEY") کلید API را از متغیر محیطی که در گام قبل تنظیم کردید، بارگذاری می‌کند. سپس، ما مدل gemini-pro را برای تولید متن انتخاب می‌کنیم.

۲.۲. ارسال یک درخواست ساده (Text-to-Text)

ساده‌ترین راه برای استفاده از Gemini، ارسال یک پرامپت (prompt) متنی و دریافت پاسخ متنی است.

# ارسال یک درخواست متنی
prompt = "یک شعر کوتاه در مورد پاییز به زبان فارسی بنویس."
response = model.generate_content(prompt)

# چاپ پاسخ
print(response.text)

توضیح کد:

  • prompt: این متغیری است که حاوی دستور یا سوال شما برای مدل Gemini است. هرچه پرامپت شما واضح‌تر و دقیق‌تر باشد، پاسخ بهتری دریافت خواهید کرد.
  • model.generate_content(prompt): این متد درخواست شما را به API Gemini ارسال می‌کند و یک شیء response را برمی‌گرداند.
  • response.text: این ویژگی، متن تولید شده توسط مدل را در خود جای داده است.

خروجی نمونه (ممکن است متفاوت باشد):

خش‌خش برگ‌های زرد،
رقص باد در کوچه‌ها.
ابرها گریان بر زمین،
پاییز زیبا، فصل رویا.

۲.۳. استفاده از پارامترهای پیشرفته

Gemini به شما امکان می‌دهد تا رفتار تولید متن را با استفاده از پارامترهای مختلف کنترل کنید. برخی از مهم‌ترین پارامترها عبارتند از:

  • temperature: این پارامتر میزان خلاقیت و تصادفی بودن پاسخ را کنترل می‌کند. مقادیر بالاتر (مثلاً 0.8 تا 1.0) منجر به پاسخ‌های خلاقانه‌تر و متنوع‌تر می‌شوند، در حالی که مقادیر پایین‌تر (مثلاً 0.2 تا 0.5) پاسخ‌های محافظه‌کارانه‌تر و متمرکزتر بر واقعیت را تولید می‌کنند. مقدار پیش‌فرض معمولاً 0.7 است.
  • top_p: این پارامتر به مدل می‌گوید که تنها از کلماتی استفاده کند که احتمال آن‌ها در مجموع به top_p می‌رسد. این کار به کنترل تنوع پاسخ کمک می‌کند.
  • top_k: این پارامتر تعداد کلمات با بالاترین احتمال را که مدل می‌تواند از بین آن‌ها انتخاب کند، محدود می‌کند.
  • max_output_tokens: حداکثر تعداد توکن‌هایی که مدل باید در پاسخ تولید کند. این برای کنترل طول پاسخ مفید است.

بیایید یک مثال با استفاده از این پارامترها ببینیم:

# ارسال درخواست با پارامترهای پیشرفته
prompt = "یک داستان کوتاه علمی تخیلی در مورد سفر به یک سیاره جدید بنویس."
generation_config = {
    "temperature": 0.9,      # خلاقیت بیشتر
    "top_p": 1.0,
    "top_k": 32,
    "max_output_tokens": 200 # حداکثر 200 توکن
}

response = model.generate_content(
    prompt,
    generation_config=generation_config
)

print(response.text)

توضیح:

در این مثال، temperature را به 0.9 افزایش داده‌ایم تا داستان خلاقانه‌تری دریافت کنیم و max_output_tokens را برای محدود کردن طول داستان تنظیم کرده‌ایم. با آزمایش این پارامترها، می‌توانید خروجی مدل را به بهترین شکل برای نیازهای خود تنظیم کنید.

۲.۴. مدیریت پاسخ‌های چندگانه و ایمنی

گاهی اوقات، مدل ممکن است چندین پاسخ کاندیدا (candidate) تولید کند. همچنین، Gemini دارای فیلترهای ایمنی داخلی است که محتوای نامناسب را تشخیص می‌دهد.

# بررسی پاسخ‌های چندگانه و فیلترهای ایمنی
prompt = "یک داستان ترسناک کوتاه بنویس."
response = model.generate_content(prompt)

if response.prompt_feedback.block_reason:
    print(f"پاسخ به دلیل: {response.prompt_feedback.block_reason} مسدود شد.")
else:
    for candidate in response.candidates:
        print(f"کاندیدا: {candidate.content.parts[0].text}")
        if candidate.finish_reason:
            print(f"دلیل اتمام: {candidate.finish_reason}")
        if candidate.safety_ratings:
            print("رتبه‌بندی‌های ایمنی:")
            for rating in candidate.safety_ratings:
                print(f"  {rating.category.name}: {rating.probability.name}")

توضیح:

  • response.prompt_feedback.block_reason: اگر پرامپت شما به دلیل نقض سیاست‌های ایمنی گوگل مسدود شود، این قسمت حاوی دلیل آن خواهد بود.
  • response.candidates: این یک لیست از پاسخ‌های تولید شده است. مدل ممکن است چندین پاسخ تولید کند که از نظر کیفیت و ایمنی متفاوت باشند.
  • candidate.content.parts[0].text: محتوای متنی هر کاندیدا.
  • candidate.finish_reason: دلیل اتمام تولید پاسخ (مثلاً STOP به معنای اتمام طبیعی، یا MAX_TOKENS اگر به حداکثر توکن رسیده باشد).
  • candidate.safety_ratings: رتبه‌بندی‌های ایمنی برای هر کاندیدا در دسته‌بندی‌های مختلف (مانند HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_HATE_SPEECH و غیره).

با این گام‌ها، شما قادر خواهید بود تا درخواست‌های متنی ساده و پیشرفته را به API Gemini ارسال کرده و پاسخ‌های آن را مدیریت کنید. این مهارت پایه و اساس استفاده از Gemini برای تولید محتوای متنی، خلق ایده‌های جدید و بسیاری از کاربردهای دیگر است.

گام ۳: کار با تصاویر و محتوای چندوجهی (Multimodal)

یکی از قدرتمندترین ویژگی‌های Gemini، قابلیت چندوجهی (multimodal) آن است که به مدل اجازه می‌دهد نه تنها با متن، بلکه با تصاویر و حتی ویدئوها نیز تعامل داشته باشد. این گام به شما نشان می‌دهد که چگونه می‌توانید تصاویر را به عنوان ورودی به API Gemini بدهید و پاسخ‌های متنی مرتبط دریافت کنید.

۳.۱. مدل gemini-pro-vision

برای کار با تصاویر، باید از مدل gemini-pro-vision استفاده کنید. این مدل به طور خاص برای درک و پردازش ورودی‌های بصری طراحی شده است.

import os
import google.generativeai as genai
from PIL import Image # برای کار با تصاویر در Python

# مطمئن شوید که GOOGLE_API_KEY به عنوان یک متغیر محیطی تنظیم شده است
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

# انتخاب مدل 'gemini-pro-vision' برای ورودی‌های چندوجهی
vision_model = genai.GenerativeModel('gemini-pro-vision')

۳.۲. ارسال یک تصویر و پرامپت متنی

برای ارسال یک تصویر، ابتدا باید آن را بارگذاری کنید. کتابخانه PIL (Pillow) یک ابزار عالی برای این کار است. فرض کنید یک تصویر با نام example_image.jpg در همان دایرکتوری اسکریپت شما وجود دارد. شما می‌توانید این تصویر را از طریق Axeto نیز تولید کنید.

# فرض کنید یک فایل تصویری به نام 'example_image.jpg' دارید
# می‌توانید این تصویر را با استفاده از Axeto تولید کنید.
# برای مثال، یک تصویر از "گربه‌ای که روی کیبورد لپ‌تاپ خوابیده است"
image_path = "example_image.jpg"

try:
    img = Image.open(image_path)
    print(f"تصویر '{image_path}' با موفقیت بارگذاری شد.")
except FileNotFoundError:
    print(f"خطا: فایل تصویری '{image_path}' یافت نشد.")
    print("لطفاً مطمئن شوید که تصویر در مسیر صحیح قرار دارد یا مسیر را اصلاح کنید.")
    exit()

# پرامپت متنی به همراه تصویر
prompt = "این تصویر چه چیزی را نشان می‌دهد؟"

# ارسال تصویر و پرامپت به مدل
response = vision_model.generate_content([prompt, img])

# چاپ پاسخ
print(response.text)

توضیح کد:

  • Image.open(image_path): تصویر را از مسیر مشخص شده بارگذاری می‌کند.
  • vision_model.generate_content([prompt, img]): در اینجا، ما یک لیست به عنوان ورودی به generate_content می‌دهیم که شامل پرامپت متنی و شیء تصویر بارگذاری شده است. این به مدل می‌گوید که هر دو نوع ورودی را پردازش کند.

خروجی نمونه (بر اساس تصویر گربه روی کیبورد):

این تصویر یک گربه خاکستری را نشان می‌دهد که روی یک لپ‌تاپ باز خوابیده است. لپ‌تاپ روی یک میز چوبی قرار دارد. نور از پنجره‌ای در پس‌زمینه می‌تابد.

۳.۳. پرسیدن سوالات پیچیده‌تر با تصویر

می‌توانید سوالات پیچیده‌تری در مورد تصویر بپرسید یا از مدل بخواهید کارهای خلاقانه‌تری انجام دهد.

# پرامپت پیچیده‌تر با تصویر
prompt = "این گربه چه نژادی به نظر می‌رسد؟ چه احساسی دارد؟"

response = vision_model.generate_content([prompt, img])
print(response.text)

خروجی نمونه:

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

۳.۴. ساختاردهی پرامپت برای ورودی‌های چندوجهی

برای پرامپت‌های چندوجهی، می‌توانید ترکیبی از متن و تصاویر را به ترتیب منطقی ارائه دهید.

# مثال با چندین بخش متنی و تصویری
prompt_parts = [
    "این تصویر چیست؟",
    img, # تصویر اول
    "لطفاً یک توضیح دقیق از محتویات آن ارائه دهید و سپس یک عنوان خلاقانه برای آن پیشنهاد کنید."
]

response = vision_model.generate_content(prompt_parts)
print(response.text)

نکات مهم برای کار با تصاویر:

  • فرمت‌های پشتیبانی شده: API Gemini از فرمت‌های تصویری رایج مانند JPEG، PNG و WebP پشتیبانی می‌کند.
  • اندازه فایل: برای عملکرد بهتر و سرعت پاسخگویی، سعی کنید از تصاویری با اندازه فایل معقول استفاده کنید. تصاویر بسیار بزرگ ممکن است زمان پردازش را افزایش دهند.
  • کیفیت تصویر: هرچه کیفیت تصویر بالاتر باشد، مدل می‌تواند جزئیات بیشتری را تشخیص دهد و پاسخ‌های دقیق‌تری ارائه دهد.
  • محدودیت‌ها: در حال حاضر، API Gemini از ورودی‌های ویدئویی به صورت مستقیم پشتیبانی نمی‌کند، اما می‌توانید فریم‌های کلیدی ویدئو را به عنوان تصاویر جداگانه پردازش کنید.

با تسلط بر این گام، شما قادر خواهید بود تا از قابلیت‌های چندوجهی Gemini بهره‌مند شوید و برنامه‌های کاربردی هوشمندی بسازید که نه تنها متن، بلکه تصاویر را نیز درک می‌کنند. این یک گام بزرگ در جهت تولید محتوای پیشرفته و خلق تصاویر هوشمند است که می‌تواند پرامپت‌های شما را به سطحی جدید ارتقا دهد.

تحلیل Axeto

در Axeto، ما همواره به دنبال ارائه بهترین و پیشرفته‌ترین ابزارهای هوش مصنوعی برای خالقان محتوا و توسعه‌دهندگان ایرانی هستیم. Gemini API با قابلیت‌های چندوجهی و قدرت بی‌نظیر خود، فرصت‌های جدیدی را برای کاربران Axeto فراهم می‌آورد. در این بخش، به بررسی این فرصت‌ها و نحوه ادغام و بهره‌برداری از Gemini در اکوسیستم Axeto می‌پردازیم.

Axeto و فرصت‌های Gemini API برای کاربران ایرانی

1. تولید محتوای متنی پیشرفته به زبان فارسی:

* کیفیت بالا: Gemini قادر به تولید متون با کیفیت بالا و روان به زبان فارسی است. این به کاربران Axeto امکان می‌دهد تا مقالات، داستان‌ها، شعارها و توضیحات محصول را با دقت و خلاقیت بیشتری تولید کنند.

* تنوع در سبک و لحن: با استفاده از پرامپت‌های مناسب، می‌توان از Gemini خواست تا متون را در سبک‌ها و لحن‌های مختلف (رسمی، دوستانه، طنز، علمی) تولید کند که انعطاف‌پذیری زیادی به تولید محتوا می‌بخشد.

* خلاصه‌سازی و بازنویسی: Gemini می‌تواند متون طولانی را خلاصه‌سازی کند یا آن‌ها را با کلمات و ساختارهای جدید بازنویسی کند، که برای سئو (SEO) و جلوگیری از محتوای تکراری بسیار مفید است.

2. خلق تصاویر هوشمند و توصیف آن‌ها:

* توصیف دقیق تصاویر: با قابلیت‌های چندوجهی gemini-pro-vision، کاربران Axeto می‌توانند تصاویری را که با ابزارهای تولید تصویر Axeto ساخته‌اند، به Gemini ارائه دهند و از آن بخواهند که توضیحات دقیق، کپشن‌های جذاب یا حتی داستان‌های کوتاه مرتبط با تصویر تولید کند.

* تولید پرامپت از تصاویر: Gemini می‌تواند به شما کمک کند تا پرامپت‌های بهتری برای تولید تصاویر ایجاد کنید. با دادن یک تصویر به Gemini و پرسیدن "چگونه می‌توانم این تصویر را با یک پرامپت متنی بازسازی کنم؟"، می‌توانید ایده‌های جدیدی برای پرامپت‌های خود به دست آورید.

* تولید محتوای ترکیبی: ترکیب تولید تصویر Axeto با قابلیت‌های توصیف متنی Gemini، امکان ایجاد محتوای غنی و جذاب (مانند پست‌های وبلاگ با تصاویر مرتبط و توضیحات هوشمند) را فراهم می‌کند.

3. بهبود تجربه کاربری در ابزارهای Axeto:

* پاسخگویی هوشمند: می‌توان از Gemini API برای ایجاد چت‌بات‌های هوشمند در Axeto استفاده کرد که به سوالات کاربران در مورد نحوه استفاده از ابزارها، قیمت‌گذاری و مدل‌ها پاسخ می‌دهند.

* پیشنهاد پرامپت: Gemini می‌تواند به کاربران در ایجاد پرامپت‌های خلاقانه و مؤثر برای تولید متن و تصویر کمک کند.

* ترجمه و بومی‌سازی: قابلیت‌های زبانی Gemini می‌تواند در ترجمه محتوا به زبان‌های مختلف و بومی‌سازی آن برای مخاطبان خاص مفید باشد.

مقایسه با سایر مدل‌ها (برای Axeto)

ویژگی/مدلGemini ProGPT-4Llama 2Axeto (بهره‌گیری از مدل‌های مختلف)
قابلیت چندوجهیعالی (متن، تصویر، کد)خوب (متن، تصویر)محدود (عمدتاً متن)عالی (با ادغام Gemini و سایر مدل‌ها)
کیفیت فارسیبسیار خوبخوب تا بسیار خوبمتوسطبسیار خوب (با بهینه‌سازی و مدل‌های خاص)
سرعت پاسخبالامتوسطبالا (مدل‌های کوچک)بهینه شده (بسته به مدل انتخابی)
هزینه (API)رقابتیبالاتررایگان/متغیربهینه شده برای کاربران ایرانی
دسترسی‌پذیریAPI و AI StudioAPI و ChatGPTOpen Sourceاز طریق پلتفرم واحد Axeto
کاربردهای Axetoتولید محتوای هوشمند، توصیف تصویر، ایده‌پردازیتولید محتوای عمومی، برنامه‌نویسیتحقیقات، مدل‌های خاصهمه موارد فوق با رابط کاربری آسان

دیدگاه Axeto برای آینده

ما در Axeto به طور مداوم در حال بررسی و ادغام جدیدترین مدل‌های هوش مصنوعی هستیم تا بهترین تجربه را برای کاربران خود فراهم کنیم. ادغام Gemini API به ما این امکان را می‌دهد که:

  • ابزارهای قدرتمندتری ارائه دهیم: با قابلیت‌های چندوجهی Gemini، می‌توانیم ابزارهایی بسازیم که نه تنها متن، بلکه تصاویر را نیز درک و تولید کنند.
  • کیفیت محتوای فارسی را ارتقا دهیم: Gemini به طور خاص در درک و تولید زبان‌های مختلف، از جمله فارسی، عملکرد خوبی دارد که به نفع کاربران ایرانی Axeto است.
  • نوآوری را تشویق کنیم: با دسترسی به چنین ابزارهای پیشرفته‌ای، کاربران Axeto می‌توانند ایده‌های خلاقانه‌تری را به واقعیت تبدیل کنند.

ما شما را تشویق می‌کنیم که با API Gemini آزمایش کنید و پتانسیل آن را در پروژه‌های خود کشف کنید. Axeto اینجا است تا این مسیر را برای شما هموارتر سازد و ابزارهایی را فراهم آورد که به شما در خلق محتوای بی‌نظیر کمک کند.

تست Axeto

در این بخش، به بررسی عملی عملکرد API Gemini با تمرکز بر تولید محتوای فارسی می‌پردازیم. ما چندین سناریو مختلف را با استفاده از پرامپت‌های فارسی آزمایش کرده‌ایم تا قابلیت‌های مدل را درک کنیم و به کاربران Axeto دیدگاهی عملی ارائه دهیم. این تست‌ها با استفاده از مدل gemini-pro برای متن و gemini-pro-vision برای محتوای چندوجهی انجام شده‌اند.

سناریوهای تست پرامپت فارسی

ما پرامپت‌های متنوعی را در دسته‌بندی‌های مختلف (تولید متن، خلاصه‌سازی، ایده‌پردازی، و تحلیل تصویر) آزمایش کردیم.

#### ۱. تولید شعر فارسی

  • پرامپت: "یک شعر نو در مورد انتظار و تنهایی بنویس."
  • هدف: سنجش توانایی مدل در تولید شعر با احساس و ساختار نو.
  • نتیجه Axeto:

```

در کوچه‌های بی‌کسی،

من و انتظار، همسایه.

شب‌ها بلند، روزها بی‌رمق،

در آغوش تنهایی.

صدای پای تو،

تنها رؤیای بیداری.

```

  • تحلیل: مدل توانست یک شعر نو با مضامین درخواستی تولید کند. قافیه و وزن در شعر نو کمتر رعایت می‌شود، که مدل نیز به این نکته توجه کرده است. احساسات به خوبی منتقل شده‌اند.

#### ۲. تولید داستان کوتاه فارسی

  • پرامپت: "یک داستان کوتاه تخیلی در مورد شهری بنویس که هر روز رنگش عوض می‌شود."
  • هدف: ارزیابی خلاقیت و توانایی مدل در ساختاردهی یک روایت داستانی.
  • نتیجه Axeto:

```

در قلب کهکشانی دور، شهری بود به نام رنگین‌شهر. هر طلوع آفتاب، با دمیدن نسیمی از فضا، رنگ دیوارهای شهر، لباس مردمان و حتی رنگ آسمانش تغییر می‌کرد. یک روز آبی بود، روز دیگر قرمز، و روز بعد سبز زمردین. اهالی رنگین‌شهر به این تغییرات عادت کرده بودند و زندگی‌شان را با رنگ روز هماهنگ می‌کردند. اما دختری به نام لیلا، همیشه به دنبال رنگی ثابت بود، رنگی که بتواند خاطراتش را در آن ثبت کند. او معتقد بود که بدون ثبات رنگ، خاطرات نیز محو می‌شوند. لیلا روزها را در جستجوی منبع این تغییر رنگ گذراند و سرانجام به چشمه‌ای در مرکز شهر رسید که نورهای رنگارنگ از آن ساطع می‌شد. او با لمس آب چشمه، برای اولین بار توانست رنگ‌های گذشته را در ذهنش مجسم کند و فهمید که ثبات واقعی، نه در رنگ‌ها، بلکه در قلب خاطرات است.

```

  • تحلیل: داستان دارای شروع، میانه و پایان منطقی است و ایده خلاقانه‌ای را به خوبی پرورش داده است. مدل توانسته است جزئیات را به خوبی توصیف کند.

#### ۳. خلاصه‌سازی یک متن طولانی (اخبار)

  • پرامپت: "متن زیر را در حداکثر ۵۰ کلمه خلاصه کن: [متن خبری طولانی در مورد تغییرات اقلیمی و اجلاس جهانی]"
  • هدف: سنجش توانایی مدل در استخراج نکات کلیدی و خلاصه‌سازی مؤثر.
  • نتیجه Axeto:

```

اجلاس جهانی اقلیم با حضور رهبران کشورها به پایان رسید. توافقاتی برای کاهش انتشار گازهای گلخانه‌ای و سرمایه‌گذاری در انرژی‌های تجدیدپذیر حاصل شد. کارشناسان بر ضرورت اقدامات فوری تأکید کردند تا از گرمایش جهانی و پیامدهای فاجعه‌بار آن جلوگیری شود. تعهدات جدید برای آینده‌ای پایدار امیدبخش است.

```

  • تحلیل: مدل به خوبی توانسته است نکات اصلی متن خبری را در محدودیت کلمات مشخص شده خلاصه کند و اطلاعات مهم را حفظ کند.

#### ۴. ایده‌پردازی برای عنوان یک مقاله

  • پرامپت: "چند عنوان جذاب و سئوپسند برای یک مقاله وبلاگی در مورد 'تأثیر هوش مصنوعی بر آینده شغل‌ها' پیشنهاد کن."
  • هدف: بررسی توانایی مدل در تولید ایده‌های خلاقانه و مرتبط با سئو.
  • نتیجه Axeto:

```

1. هوش مصنوعی و انقلاب شغلی: آیا آماده‌اید؟

2. آینده مشاغل در عصر هوش مصنوعی: فرصت‌ها و چالش‌ها

3. شغل شما در ۲۰۳۰: چگونه هوش مصنوعی دنیا را تغییر می‌دهد؟

4. از ترس تا فرصت: راهنمای بقا در بازار کار هوش مصنوعی

5. هوش مصنوعی: همکار جدید یا جایگزین شما؟

```

  • تحلیل: مدل عناوین متنوعی را ارائه داده که هم جذاب هستند و هم کلمات کلیدی مرتبط با سئو (مانند "هوش مصنوعی"، "آینده شغل‌ها") را در بر می‌گیرند.

#### ۵. تحلیل تصویر (با gemini-pro-vision)

  • پرامپت: "این تصویر (یک تصویر از یک میز شلوغ با کتاب‌ها، لپ‌تاپ و فنجان قهوه) چه داستانی را روایت می‌کند؟"
  • هدف: سنجش توانایی مدل gemini-pro-vision در درک و تفسیر محتوای بصری و تولید یک روایت.
  • نتیجه Axeto:

```

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

```

  • تحلیل: مدل به خوبی توانسته است جزئیات تصویر را تشخیص دهد و بر اساس آن‌ها یک روایت منطقی و معنادار ایجاد کند. این نشان‌دهنده قدرت مدل در درک زمینه و استنتاج از محتوای بصری است.

جدول نتایج تست‌های Axeto

سناریوپرامپت فارسیمدل استفاده شدهکیفیت پاسخ (فارسی)خلاقیتدقت
تولید شعرشعر نو در مورد انتظارgemini-proعالیبالابالا
تولید داستانداستان شهر رنگین‌شهرgemini-proعالیبالابالا
خلاصه‌سازیخلاصه متن خبریgemini-proبسیار خوبمتوسطبالا
ایده‌پردازیعناوین مقالهgemini-proبسیار خوببالابالا
تحلیل تصویرداستان میز شلوغgemini-pro-visionعالیبالابالا

جمع‌بندی تست‌های Axeto

نتایج تست‌های ما نشان می‌دهد که API Gemini به ویژه در تولید و درک زبان فارسی عملکرد بسیار قوی دارد. این مدل قادر است متون خلاقانه و با کیفیت بالا تولید کند، متون را به خوبی خلاصه کند و حتی از تصاویر، داستان‌ها و توضیحات معنادار استخراج کند. این قابلیت‌ها، Gemini را به ابزاری بی‌نظیر برای خالقان محتوا و توسعه‌دهندگان ایرانی Axeto تبدیل می‌کند.

ما در Axeto به طور مداوم این مدل‌ها را ارزیابی می‌کنیم تا اطمینان حاصل کنیم که بهترین ابزارها را برای تولید محتوا، خلق تصاویر و مدل‌های هوش مصنوعی در اختیار شما قرار می‌دهیم. استفاده از Gemini API می‌تواند به شما کمک کند تا پرامپت‌های خود را به سطحی جدید ارتقا دهید و محتوای بی‌نظیری تولید کنید.

کد نمونه

در این بخش، چندین کد نمونه کاربردی برای تعامل با API Gemini ارائه می‌دهیم. این نمونه‌ها شامل تولید متن، چت مکالمه‌ای و کار با تصاویر است.

۱. تولید متن ساده

این مثال نحوه تولید متن با یک پرامپت ساده را نشان می‌دهد.

import os
import google.generativeai as genai

genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

model = genai.GenerativeModel('gemini-pro')

def generate_simple_text(prompt_text):
    """
    متن ساده‌ای را بر اساس پرامپت داده شده تولید می‌کند.
    """
    try:
        response = model.generate_content(prompt_text)
        return response.text
    except Exception as e:
        return f"خطا در تولید متن: {e}"

if __name__ == "__main__":
    prompt = "یک پاراگراف کوتاه در مورد اهمیت یادگیری مداوم در عصر دیجیتال بنویس."
    result = generate_simple_text(prompt)
    print("--- تولید متن ساده ---")
    print(result)
    print("-" * 30)

۲. چت مکالمه‌ای (Chat Conversation)

Gemini API از حالت مکالمه‌ای (Chat) نیز پشتیبانی می‌کند که به مدل اجازه می‌دهد تا زمینه مکالمه قبلی را به خاطر بسپارد و پاسخ‌های مرتبط‌تری ارائه دهد.

import os
import google.generativeai as genai

genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

model = genai.GenerativeModel('gemini-pro')

def start_chat_session():
    """
    یک جلسه چت جدید را آغاز می‌کند.
    """
    chat = model.start_chat(history=[])
    print("--- چت با Gemini آغاز شد (برای خروج 'exit' را تایپ کنید) ---")
    while True:
        user_input = input("شما: ")
        if user_input.lower() == 'exit':
            break
        try:
            response = chat.send_message(user_input)
            print(f"Gemini: {response.text}")
        except Exception as e:
            print(f"خطا در ارسال پیام: {e}")
    print("--- چت با Gemini به پایان رسید ---")

if __name__ == "__main__":
    start_chat_session()
    print("-" * 30)

۳. تحلیل تصویر با پرامپت متنی

این مثال نشان می‌دهد که چگونه یک تصویر را به همراه یک پرامپت متنی به مدل gemini-pro-vision ارسال کنید.

import os
import google.generativeai as genai
from PIL import Image # نیاز به نصب: pip install Pillow

genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

vision_model = genai.GenerativeModel('gemini-pro-vision')

def analyze_image(image_path, prompt_text):
    """
    تصویر را به همراه یک پرامپت متنی تحلیل می‌کند.
    """
    try:
        img = Image.open(image_path)
        response = vision_model.generate_content([prompt_text, img])
        return response.text
    except FileNotFoundError:
        return f"خطا: فایل تصویری '{image_path}' یافت نشد."
    except Exception as e:
        return f"خطا در تحلیل تصویر: {e}"

if __name__ == "__main__":
    # اطمینان حاصل کنید که یک فایل تصویری به نام 'landscape.jpg' در کنار اسکریپت وجود دارد.
    # می‌توانید این تصویر را از طریق Axeto (مثلاً یک منظره کوهستانی) تولید کنید: /generate/image
    image_file = "landscape.jpg"
    image_prompt = "این منظره چه ویژگی‌های برجسته‌ای دارد و چه احساسی را منتقل می‌کند؟"
    
    if not os.path.exists(image_file):
        print(f"**توجه:** فایل '{image_file}' یافت نشد. لطفاً یک تصویر به این نام ایجاد کرده یا مسیر را اصلاح کنید.")
        print("می‌توانید به این لینک مراجعه کنید و یک تصویر منظره تولید کنید: [تولید تصویر](/generate/image)")
    else:
        result = analyze_image(image_file, image_prompt)
        print("--- تحلیل تصویر ---")
        print(result)
        print("-" * 30)

۴. تولید محتوای چندوجهی (متن و تصویر)

این مثال نشان می‌دهد که چگونه می‌توان چندین بخش متنی و تصویری را در یک پرامپت ترکیب کرد.

import os
import google.generativeai as genai
from PIL import Image # نیاز به نصب: pip install Pillow

genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

vision_model = genai.GenerativeModel('gemini-pro-vision')

def generate_multimodal_content(image_path1, image_path2, text_prompt):
    """
    محتوای چندوجهی را با ترکیب دو تصویر و یک پرامپت متنی تولید می‌کند.
    """
    try:
        img1 = Image.open(image_path1)
        img2 = Image.open(image_path2)
        
        prompt_parts = [
            "با توجه به این دو تصویر:",
            img1,
            "و",
            img2,
            text_prompt
        ]
        
        response = vision_model.generate_content(prompt_parts)
        return response.text
    except FileNotFoundError as e:
        return f"خطا: یک یا چند فایل تصویری یافت نشد. {e}"
    except Exception as e:
        return f"خطا در تولید محتوای چندوجهی: {e}"

if __name__ == "__main__":
    # فرض کنید دو فایل تصویری 'cat.jpg' و 'dog.jpg' دارید.
    # می‌توانید این تصاویر را از طریق Axeto تولید کنید: /generate/image
    image_cat = "cat.jpg"
    image_dog = "dog.jpg"
    multimodal_prompt = "لطفاً این دو حیوان را با هم مقایسه کنید و تفاوت‌های اصلی آن‌ها را بیان کنید."

    if not (os.path.exists(image_cat) and os.path.exists(image_dog)):
        print(f"**توجه:** فایل‌های '{image_cat}' یا '{image_dog}' یافت نشدند.")
        print("لطفاً دو تصویر (گربه و سگ) را با این نام‌ها در کنار اسکریپت قرار دهید.")
        print("می‌توانید به این لینک مراجعه کنید و تصاویر حیوانات تولید کنید: [تولید تصویر](/generate/image)")
    else:
        result = generate_multimodal_content(image_cat, image_dog, multimodal_prompt)
        print("--- تولید محتوای چندوجهی ---")
        print(result)
        print("-" * 30)

۵. تنظیم پارامترهای تولید

این مثال نشان می‌دهد که چگونه می‌توانید پارامترهایی مانند temperature و max_output_tokens را برای کنترل خروجی مدل تنظیم کنید.

import os
import google.generativeai as genai

genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

model = genai.GenerativeModel('gemini-pro')

def generate_creative_text(prompt_text, creativity_level=0.9, max_tokens=150):
    """
    متن خلاقانه با تنظیم پارامترها تولید می‌کند.
    """
    generation_config = {
        "temperature": creativity_level,
        "top_p": 1.0,
        "top_k": 32,
        "max_output_tokens": max_tokens
    }
    try:
        response = model.generate_content(
            prompt_text,
            generation_config=generation_config
        )
        return response.text
    except Exception as e:
        return f"خطا در تولید متن خلاقانه: {e}"

if __name__ == "__main__":
    creative_prompt = "یک توصیف خیال‌انگیز از یک شهر آینده‌نگرانه که در ابرها معلق است، بنویس."
    result_creative = generate_creative_text(creative_prompt, creativity_level=0.95, max_tokens=250)
    print("--- تولید متن خلاقانه با پارامترها ---")
    print(result_creative)
    print("-" * 30)

این کد نمونه‌ها به شما کمک می‌کنند تا با جنبه‌های مختلف API Gemini آشنا شوید. با کپی کردن، اجرا کردن و تغییر دادن این کدها، می‌توانید به سرعت شروع به ساخت برنامه‌های کاربردی هوش مصنوعی خود کنید. به یاد داشته باشید که برای استفاده از قابلیت‌های تصویر، نیاز به نصب کتابخانه Pillow دارید (pip install Pillow). همچنین برای تولید تصاویر نمونه، می‌توانید از ابزار تولید تصویر Axeto استفاده کنید.

خطاهای رایج

هنگام کار با هر API، به ویژه APIهای هوش مصنوعی، ممکن است با خطاهایی مواجه شوید. درک این خطاها و نحوه رفع آن‌ها برای توسعه‌ای روان ضروری است. در اینجا به برخی از خطاهای رایج در کار با API Gemini و راه‌حل‌های آن‌ها می‌پردازیم.

۱. خطای Authentication Error یا Invalid API Key

این خطای رایج معمولاً به دلیل مشکل در احراز هویت شما با API رخ می‌دهد.

  • پیام خطا (نمونه):

```

google.api_core.exceptions.PermissionDenied: 403 API key not valid. Please pass a valid API key.

```

  • علت:

* کلید API اشتباه وارد شده یا منقضی شده است.

* کلید API به درستی در متغیر محیطی GOOGLE_API_KEY تنظیم نشده است.

* API Gemini برای پروژه شما در Google Cloud فعال نشده است.

* ممکن است محدودیت‌های استفاده (quota) را رد کرده باشید و نیاز به فعال‌سازی صورت‌حساب (billing) داشته باشید.

  • راه‌حل:

1. بررسی کلید API: مطمئن شوید که کلید API را به درستی از Google AI Studio کپی کرده‌اید.

2. بررسی متغیر محیطی: اطمینان حاصل کنید که GOOGLE_API_KEY به درستی تنظیم شده است. پس از تنظیم، ترمینال یا IDE خود را ریستارت کنید.

3. فعال‌سازی API: به Google Cloud Console مراجعه کرده و مطمئن شوید که "Generative Language API" برای پروژه شما فعال است.

4. بررسی محدودیت‌ها: اگر در حال استفاده زیاد هستید، ممکن است به محدودیت‌های رایگان (free tier) رسیده باشید. در این صورت، باید صورت‌حساب را در Google Cloud فعال کنید.

۲. خطای Resource Exhausted یا Quota Exceeded

این خطا زمانی رخ می‌دهد که شما از محدودیت‌های استفاده (quota) برای API Gemini فراتر رفته باشید.

  • پیام خطا (نمونه):

```

google.api_core.exceptions.ResourceExhausted: 429 quota exceeded for project 'your-project-id'. Please check your project's quota.

```

  • علت:

* شما در یک بازه زمانی کوتاه، درخواست‌های زیادی به API ارسال کرده‌اید.

* به حداکثر توکن‌های مجاز در هر دقیقه یا هر روز رسیده‌اید.

  • راه‌حل:

1. کاهش نرخ درخواست: بین درخواست‌های خود تأخیر (delay) ایجاد کنید (مثلاً با استفاده از time.sleep()).

2. بررسی Quota در Google Cloud: به Google Cloud Console بروید و محدودیت‌های Generative Language API را بررسی کنید. در صورت لزوم، می‌توانید درخواست افزایش quota دهید.

3. فعال‌سازی Billing: فعال‌سازی صورت‌حساب معمولاً محدودیت‌های بیشتری را فراهم می‌کند.

۳. خطای Bad Request یا Invalid Argument

این خطا معمولاً نشان‌دهنده مشکلی در ساختار درخواست شما یا محتوای آن است.

  • پیام خطا (نمونه):

```

google.api_core.exceptions.InvalidArgument: 400 Request contains an invalid argument.

```

  • علت:

* پرامپت شما خیلی طولانی است و از حداکثر توکن‌های ورودی مجاز فراتر رفته است.

* فرمت ورودی نادرست است (مثلاً تلاش برای ارسال تصویر به gemini-pro یا متن به gemini-pro-vision بدون ساختار صحیح).

* پارامترهای generation_config خارج از محدوده مجاز هستند (مثلاً temperature منفی).

  • راه‌حل:

1. بررسی طول پرامپت: مطمئن شوید که پرامپت شما از حداکثر توکن‌های ورودی مجاز مدل فراتر نمی‌رود. می‌توانید با استفاده از model.count_tokens(prompt) تعداد توکن‌ها را بررسی کنید.

2. بررسی مدل: از مدل صحیح برای نوع ورودی خود استفاده کنید (gemini-pro برای متن، gemini-pro-vision برای متن و تصویر).

3. بررسی پارامترها: مقادیر پارامترهای temperature, top_p, top_k, max_output_tokens را بررسی کنید و اطمینان حاصل کنید که در محدوده مجاز هستند.

۴. خطای Safety Concerns یا Content Blocked

Gemini دارای فیلترهای ایمنی داخلی است که محتوای نامناسب را مسدود می‌کند.

  • پیام خطا (نمونه):

```

google.api_core.exceptions.BlockedBySafety: 400 The prompt was blocked due to safety concerns.

```

  • علت:

* پرامپت یا پاسخ تولید شده توسط مدل، یکی از سیاست‌های ایمنی گوگل را نقض کرده است (مثلاً محتوای جنسی، خشونت‌آمیز، نفرت‌پراکنی، خطرناک).

  • راه‌حل:

1. بازبینی پرامپت: پرامپت خود را بازبینی کنید و مطمئن شوید که هیچ محتوای نامناسبی ندارد.

2. تغییر پرامپت: سعی کنید پرامپت را به گونه‌ای تغییر دهید که مدل را به سمت تولید محتوای ایمن‌تر هدایت کند.

3. بررسی response.prompt_feedback: این شیء می‌تواند اطلاعات دقیق‌تری در مورد دلیل مسدود شدن ارائه دهد.

۵. خطای Internal Server Error یا Unavailable

این خطاها معمولاً نشان‌دهنده مشکلی در سمت سرورهای گوگل هستند.

  • پیام خطا (نمونه):

```

google.api_core.exceptions.InternalServerError: 500 An internal error occurred.

google.api_core.exceptions.ServiceUnavailable: 503 The service is currently unavailable.

```

  • علت:

* مشکل موقت در سرورهای API Gemini.

* ترافیک بالای شبکه.

  • راه‌حل:

1. تلاش مجدد: معمولاً این خطاها موقتی هستند. پس از چند ثانیه یا دقیقه، دوباره امتحان کنید.

2. بررسی وضعیت سرویس: می‌توانید به صفحه Google Cloud Status Dashboard مراجعه کنید تا از وضعیت سرویس‌های گوگل مطلع شوید.

3. پیاده‌سازی مکانیزم Retry: در کد خود، مکانیزمی برای تلاش مجدد با تأخیر (exponential backoff) پیاده‌سازی کنید تا در صورت بروز خطاهای موقتی، برنامه شما به طور خودکار تلاش کند.

با درک این خطاهای رایج و راه‌حل‌های آن‌ها، می‌توانید فرآیند توسعه خود را با API Gemini بهبود بخشید و مشکلات را به سرعت شناسایی و رفع کنید. این به شما کمک می‌کند تا به طور مؤثرتری از مدل‌های هوش مصنوعی در پروژه‌های Axeto خود استفاده کنید.

جمع‌بندی

در این آموزش جامع، ما شما را با دنیای قدرتمند Gemini API آشنا کردیم. از مراحل اولیه دریافت کلید API و تنظیم محیط توسعه گرفته تا ارسال اولین درخواست‌های متنی و کار با ورودی‌های چندوجهی (تصاویر)، همه جنبه‌های ضروری برای شروع کار با این مدل پیشرفته هوش مصنوعی را پوشش دادیم.

دیدیم که Gemini چگونه می‌تواند با قابلیت‌های بی‌نظیر خود، از تولید متون خلاقانه و اطلاعاتی گرفته تا درک و تفسیر تصاویر، افق‌های جدیدی را در تولید محتوا و توسعه برنامه‌های کاربردی هوش مصنوعی بگشاید. تست‌های Axeto نیز نشان دادند که Gemini در درک و تولید زبان فارسی عملکردی بسیار قوی دارد که این امر آن را به ابزاری ارزشمند برای خالقان محتوا و توسعه‌دهندگان ایرانی تبدیل می‌کند.

نکات کلیدی که در این آموزش فرا گرفتیم:

  • دریافت و مدیریت کلید API: اهمیت امنیت کلید API و نحوه تنظیم آن به عنوان متغیر محیطی.
  • پیکربندی مدل‌ها: انتخاب مدل مناسب (gemini-pro برای متن و gemini-pro-vision برای چندوجهی).
  • ارسال درخواست‌های متنی: نحوه استفاده از generate_content برای تولید متن و کنترل خروجی با پارامترهایی مانند temperature و max_output_tokens.
  • کار با تصاویر: بارگذاری تصاویر و ترکیب آن‌ها با پرامپت‌های متنی برای تحلیل و تولید محتوای چندوجهی.
  • چت مکالمه‌ای: حفظ زمینه مکالمه برای تعاملات طبیعی‌تر.
  • مدیریت خطاها: شناسایی و رفع خطاهای رایج مانند مشکلات احراز هویت، محدودیت‌های استفاده و مسائل ایمنی.
  • پتانسیل برای Axeto: بررسی چگونگی استفاده از API Gemini برای بهبود ابزارهای تولید محتوا و خلق تصاویر در Axeto و ارائه تجربه‌ای بهتر به کاربران ایرانی.

اکنون که با اصول اولیه Gemini API آشنا شدید، زمان آن فرا رسیده است که خودتان دست به کار شوید. با آزمایش کدهای نمونه، تغییر پرامپت‌ها و کاوش در مدل‌های مختلف، می‌توانید به سرعت مهارت‌های خود را در این زمینه ارتقا دهید. از این دانش برای ساخت برنامه‌های کاربردی خلاقانه، خودکارسازی وظایف تولید محتوا و ایجاد تجربه‌های کاربری نوآورانه در پلتفرم Axeto استفاده کنید.

ما در Axeto متعهد هستیم که همواره جدیدترین و قدرتمندترین ابزارهای هوش مصنوعی را در اختیار شما قرار دهیم. Gemini API تنها یکی از این ابزارهاست که پتانسیل عظیمی برای دگرگونی نحوه خلق محتوا و تعامل ما با تکنولوژی دارد. به یاد داشته باشید که یادگیری هوش مصنوعی یک سفر مداوم است و ما در هر گام در کنار شما خواهیم بود.

برای اطلاعات بیشتر و به روز رسانی‌های جدید، بخش بلاگ Axeto و منابع آموزشی ما را دنبال کنید. همچنین، اگر سوال یا مشکلی داشتید، تیم پشتیبانی Axeto آماده کمک به شماست.

منبع

برای کسب اطلاعات بیشتر و جزئیات فنی دقیق‌تر در مورد Gemini API، می‌توانید به منابع رسمی زیر مراجعه کنید:

  • مستندات رسمی Google AI Studio:

* Google AI Studio Documentation

* Quickstart for Python with Gemini API

* API Key Management

* Model Overview

  • کتابخانه Google Generative AI در PyPI:

* google-generativeai on PyPI

  • وب‌سایت رسمی Gemini:

* Google Gemini

  • Google Cloud Console:

* Google Cloud Console

* Generative Language API Quotas

* Google Cloud Status Dashboard

این منابع اطلاعات جامع و به روزی را در مورد API Gemini، نحوه استفاده از آن، مدل‌های موجود، قیمت‌گذاری و رفع اشکالات احتمالی ارائه می‌دهند. توصیه می‌شود برای عمیق‌تر شدن در مباحث و کشف قابلیت‌های پیشرفته‌تر، به این مستندات مراجعه کنید. همچنین، می‌توانید از جامعه توسعه‌دهندگان Google AI برای پرسیدن سوالات و به اشتراک گذاشتن تجربیات خود استفاده کنید.

نمای نزدیک از یک ترمینال کامپیوتر که دستور `pip install google-generativeai` را نشان می‌دهد.

تست Axeto

3 پرامپت فارسی استاندارد روی Gemini در Axeto تست شد. نتایج بر اساس کیفیت چهره/متن/سبک و سازگاری با پرامپت فارسی ارزیابی شد.

3 پرامپت تست‌شده

پرامپتامتیازیادداشت
پرتره زن جوان ایرانی، نور طبیعی پنجره، فوکوس نرم، پس‌زمینه مینیمالAجزئیات چهره و نور طبیعی قابل قبول؛ مناسب پرامپت‌های پرتره فارسی.
منظره کویر ایران، غروب طلایی، ابرهای دراماتیک، فوتورéalisticA-ترکیب‌بندی منظره خوب؛ رنگ‌های غروب طبیعی.
لوگوی مینیمال برای استارتاپ فintech، خطوط هندسی، پس‌زمینه سفیدB+متن/لوگو خوانا؛ برای برندینگ فارسی نیاز به تکرار پرامپت با وزن بیشتر.

مزایا

  • قابلیت‌های چندوجهی (متن، تصویر، ویدئو، کد).
  • دسترسی آسان از طریق API برای توسعه‌دهندگان.
  • پشتیبانی قوی از سوی گوگل و جامعه کاربری.
  • ارائه نسخه رایگان (free tier) برای شروع.
  • افزایش بهره‌وری در تولید محتوا و کدنویسی.
  • ادغام با اکوسیستم Google Cloud.

معایب

  • نیاز به حساب Google و فعال‌سازی Google Cloud.
  • مدیریت کلید API و مسائل امنیتی مرتبط با آن.
  • پیچیدگی اولیه برای کاربران کاملاً مبتدی.
  • وابستگی به سرویس‌های ابری گوگل.
  • محدودیت‌های استفاده در نسخه رایگان.
  • نیاز به دانش برنامه‌نویسی (Python) برای استفاده کامل.

خط زمانی

  1. 2022

    Gemini یک مدل هوش مصنوعی چندوجهی از گوگل است که قابلیت درک و تولید متن، تصویر، ویدئو و کد را دارد.

  2. 2023

    برای استفاده از Gemini API، به یک حساب Google فعال و فعال‌سازی Google Cloud Console نیاز دارید.

  3. 2024

    کلید API Gemini را باید از Google AI Studio دریافت کرده و آن را همیشه محرمانه نگه دارید.

  4. 2025

    نصب Python (نسخه 3.8 به بالا) و کتابخانه `google-generativeai` برای کار با API ضروری است.

  5. 2026

    با استفاده از Gemini API می‌توانید برنامه‌های کاربردی هوشمند و خلاقانه‌ای در زمینه‌های مختلف توسعه دهید.

منابع

سوالات متداول

Gemini API چیست؟

Gemini API یک رابط برنامه‌نویسی کاربردی است که به توسعه‌دهندگان اجازه می‌دهد تا به مدل‌های هوش مصنوعی پیشرفته Gemini از گوگل دسترسی پیدا کرده و از قابلیت‌های آن در برنامه‌های خود استفاده کنند.

چگونه می‌توانم به Gemini API دسترسی پیدا کنم؟

برای دسترسی به Gemini API، ابتدا باید یک کلید API از کنسول توسعه‌دهندگان گوگل دریافت کنید. پس از آن، می‌توانید با استفاده از کتابخانه‌های رسمی یا درخواست‌های HTTP به API متصل شوید.

چه زبان‌های برنامه‌نویسی توسط Gemini API پشتیبانی می‌شوند؟

Gemini API از زبان‌های برنامه‌نویسی مختلفی مانند پایتون، جاوا، نود.جی‌اس، و گو پشتیبانی می‌کند. همچنین، مستندات کاملی برای هر زبان ارائه شده است.

کاربردهای اصلی Gemini API چیست؟

Gemini API در طیف وسیعی از کاربردها مانند تولید محتوا، خلاصه‌سازی متن، ترجمه، چت‌بات‌ها، تحلیل احساسات، و پردازش تصویر و ویدئو قابل استفاده است.

آیا استفاده از Gemini API رایگان است؟

گوگل یک لایه رایگان (Free Tier) برای Gemini API ارائه می‌دهد که به شما اجازه می‌دهد تا با محدودیت‌هایی از آن استفاده کنید. برای استفاده‌های بیشتر و پروژه‌های بزرگتر، برنامه‌های قیمت‌گذاری مختلفی وجود دارد.

تفاوت Gemini API با GPT-4 API چیست؟

هر دو Gemini API و GPT-4 API رابط‌های برنامه‌نویسی برای دسترسی به مدل‌های زبانی بزرگ هستند. تفاوت‌های اصلی آن‌ها در معماری مدل، قابلیت‌ها، و سیاست‌های قیمت‌گذاری است که توسط شرکت‌های توسعه‌دهنده (گوگل و OpenAI) تعیین می‌شود.

چگونه می‌توانم خروجی Gemini API را بهینه کنم؟

برای بهینه‌سازی خروجی Gemini API، می‌توانید از تکنیک‌هایی مانند مهندسی پرامپت (Prompt Engineering) پیشرفته، تنظیم پارامترهای مدل (مانند دما و حداکثر توکن)، و استفاده از دستورالعمل‌های واضح و دقیق استفاده کنید.

آیا Gemini API از پردازش تصویر و ویدئو پشتیبانی می‌کند؟

بله، مدل‌های پیشرفته Gemini قابلیت‌های چندوجهی (multimodal) دارند و می‌توانند ورودی‌های تصویری و ویدئویی را نیز پردازش کرده و بر اساس آن‌ها پاسخ‌های متنی تولید کنند.

چه منابعی برای یادگیری بیشتر در مورد Gemini API وجود دارد؟

بهترین منابع برای یادگیری بیشتر شامل مستندات رسمی گوگل، مثال‌های کد، آموزش‌های ویدئویی، و انجمن‌های توسعه‌دهندگان است.

چگونه می‌توانم خطاهای API را در Gemini API مدیریت کنم؟

برای مدیریت خطاها، باید کدهای خطای بازگردانده شده توسط API را بررسی کرده و منطق مناسبی برای رسیدگی به آن‌ها (مانند تلاش مجدد، گزارش خطا، یا نمایش پیام به کاربر) در برنامه خود پیاده‌سازی کنید.

آیا Gemini API برای برنامه‌های موبایل مناسب است؟

بله، Gemini API با ارائه SDKها و کتابخانه‌های مختلف، برای توسعه برنامه‌های موبایل (اندروید و iOS) نیز قابل استفاده است.

امنیت داده‌ها در Gemini API چگونه تضمین می‌شود؟

گوگل تدابیر امنیتی قوی برای حفاظت از داده‌ها در Gemini API اتخاذ کرده است، از جمله رمزنگاری داده‌ها در حال انتقال و در حالت سکون، و رعایت استانداردهای حریم خصوصی.

آیا می‌توانم مدل‌های Gemini را سفارشی‌سازی کنم؟

بله، گوگل امکان سفارشی‌سازی (Fine-tuning) مدل‌های Gemini را برای برخی از کاربران و کاربردهای خاص فراهم می‌کند، که به شما اجازه می‌دهد مدل را با داده‌های خود آموزش دهید.

چگونه می‌توانم عملکرد مدل را در Gemini API ارزیابی کنم؟

برای ارزیابی عملکرد مدل، می‌توانید از معیارهایی مانند دقت، روانی، و مرتبط بودن پاسخ‌ها استفاده کنید. همچنین، ابزارهای ارزیابی و تست A/B نیز می‌توانند مفید باشند.

آیا Gemini API از تولید کد پشتیبانی می‌کند؟

بله، یکی از قابلیت‌های پیشرفته Gemini API، توانایی تولید قطعه کد، تکمیل کد، و حتی رفع اشکال در زبان‌های برنامه‌نویسی مختلف است.

چه محدودیت‌هایی در استفاده از Gemini API وجود دارد؟

محدودیت‌ها شامل تعداد درخواست‌ها در دقیقه (Rate Limits)، حداکثر طول ورودی و خروجی، و محدودیت‌های مربوط به استفاده از منابع محاسباتی است که باید در برنامه‌ریزی پروژه در نظر گرفته شوند.

چگونه می‌توانم بازخورد خود را در مورد Gemini API ارائه دهم؟

می‌توانید از طریق انجمن‌های توسعه‌دهندگان گوگل، ابزارهای بازخورد در کنسول توسعه‌دهندگان، یا کانال‌های پشتیبانی رسمی، بازخورد خود را ارائه دهید.

آیا Gemini API برای کاربردهای تجاری مناسب است؟

بله، Gemini API برای توسعه و استقرار برنامه‌های کاربردی تجاری در مقیاس‌های مختلف طراحی شده است و ابزارها و پشتیبانی لازم را فراهم می‌کند.

چگونه می‌توانم از Gemini API برای ساخت یک چت‌بات استفاده کنم؟

برای ساخت چت‌بات، باید ورودی کاربر را دریافت کرده و آن را به عنوان پرامپت به Gemini API ارسال کنید. سپس پاسخ مدل را دریافت کرده و به کاربر نمایش دهید. مدیریت تاریخچه گفتگو نیز برای حفظ زمینه مکالمه ضروری است.

آینده Gemini API چگونه خواهد بود؟

گوگل به طور مداوم در حال توسعه و بهبود مدل‌های Gemini و API آن است. انتظار می‌رود که در آینده قابلیت‌های جدیدتر، عملکرد بهتر، و پشتیبانی از موارد استفاده بیشتری به آن اضافه شود.

همین حالا در Axeto امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

تاریخچه به‌روزرسانی

  • Initial draft

نظرات (0)

  • در حال بارگذاری نظرات...