تولید متن

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

این راهنما به شما نشان می دهد که چگونه با استفاده از متدهای generateContent و streamGenerateContent متن تولید کنید. برای آشنایی با کار با قابلیت های بینایی و صوتی Gemini، به راهنمای Vision و Audio مراجعه کنید.

متن را از ورودی فقط متنی تولید کنید

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

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("How does AI work?")
print(response.text)

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

تولید متن از ورودی متن و تصویر

Gemini API از ورودی های چندوجهی پشتیبانی می کند که فایل های متنی و رسانه ای را ترکیب می کند. مثال زیر نحوه تولید متن از ورودی متن و تصویر را نشان می دهد:

import google.generativeai as genai
import PIL.Image

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open("/path/to/organ.png")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

یک جریان متنی ایجاد کنید

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

مثال زیر نحوه اجرای جریان با استفاده از روش streamGenerateContent را برای تولید متن از یک اعلان ورودی متنی نشان می دهد.

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Explain how AI works", stream=True)
for chunk in response:
    print(chunk.text, end="")

یک مکالمه چت ایجاد کنید

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

مثال کد زیر اجرای چت اولیه را نشان می دهد:

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)

response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response2 = chat.send_message("How many paws are in my house?")
print(response2.text)

همانطور که در مثال زیر نشان داده شده است، می توانید از استریم با چت نیز استفاده کنید:

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)

response = chat.send_message("I have 2 dogs in my house.", stream=True)
for chunk in response:
    print(chunk.text, end="")

response2 = chat.send_message("How many paws are in my house?", stream=True)
for chunk in response2:
    print(chunk.text, end="")

print(chat.history)

پیکربندی تولید متن

هر اعلانی که به مدل ارسال می کنید شامل پارامترهایی است که نحوه تولید پاسخ مدل را کنترل می کند. برای پیکربندی این پارامترها می توانید از GenerationConfig استفاده کنید. اگر پارامترها را پیکربندی نکنید، مدل از گزینه های پیش فرض استفاده می کند که می تواند بسته به مدل متفاوت باشد.

مثال زیر نحوه پیکربندی چندین گزینه موجود را نشان می دهد.

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
    "Explain how AI works",
    generation_config = genai.GenerationConfig(
        max_output_tokens=1000,
        temperature=0.1,
    )
)

print(response.text)

دستورالعمل های سیستم را اضافه کنید

دستورالعمل های سیستم به شما امکان می دهد رفتار یک مدل را بر اساس نیازهای خاص و موارد استفاده خود هدایت کنید.

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

وقتی مدل خود را مقداردهی اولیه می کنید می توانید دستورالعمل های سیستم را تنظیم کنید:

model=genai.GenerativeModel(
  model_name="gemini-1.5-flash",
  system_instruction="You are a cat. Your name is Neko.")

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

برای مثال تعاملی استفاده از دستورالعمل‌های سیستم، به colab دستورالعمل‌های سیستم مراجعه کنید.

بعدش چی

اکنون که اصول اولیه Gemini API را بررسی کرده اید، ممکن است بخواهید امتحان کنید:

  • درک بینایی : یاد بگیرید که چگونه از درک بینایی بومی Gemini برای پردازش تصاویر و ویدیوها استفاده کنید.
  • درک صوتی : یاد بگیرید که چگونه از درک صوتی بومی Gemini برای پردازش فایل های صوتی استفاده کنید.
،

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

این راهنما به شما نشان می دهد که چگونه با استفاده از متدهای generateContent و streamGenerateContent متن تولید کنید. برای آشنایی با کار با قابلیت های بینایی و صوتی Gemini، به راهنمای Vision و Audio مراجعه کنید.

متن را از ورودی فقط متنی تولید کنید

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

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("How does AI work?")
print(response.text)

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

تولید متن از ورودی متن و تصویر

Gemini API از ورودی های چندوجهی پشتیبانی می کند که فایل های متنی و رسانه ای را ترکیب می کند. مثال زیر نحوه تولید متن از ورودی متن و تصویر را نشان می دهد:

import google.generativeai as genai
import PIL.Image

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open("/path/to/organ.png")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

یک جریان متنی ایجاد کنید

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

مثال زیر نحوه اجرای جریان با استفاده از روش streamGenerateContent را برای تولید متن از یک اعلان ورودی متنی نشان می دهد.

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Explain how AI works", stream=True)
for chunk in response:
    print(chunk.text, end="")

یک مکالمه چت ایجاد کنید

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

مثال کد زیر اجرای چت اولیه را نشان می دهد:

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)

response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response2 = chat.send_message("How many paws are in my house?")
print(response2.text)

همانطور که در مثال زیر نشان داده شده است، می توانید از استریم با چت نیز استفاده کنید:

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)

response = chat.send_message("I have 2 dogs in my house.", stream=True)
for chunk in response:
    print(chunk.text, end="")

response2 = chat.send_message("How many paws are in my house?", stream=True)
for chunk in response2:
    print(chunk.text, end="")

print(chat.history)

پیکربندی تولید متن

هر اعلانی که به مدل ارسال می کنید شامل پارامترهایی است که نحوه تولید پاسخ مدل را کنترل می کند. برای پیکربندی این پارامترها می توانید از GenerationConfig استفاده کنید. اگر پارامترها را پیکربندی نکنید، مدل از گزینه های پیش فرض استفاده می کند که می تواند بسته به مدل متفاوت باشد.

مثال زیر نحوه پیکربندی چندین گزینه موجود را نشان می دهد.

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
    "Explain how AI works",
    generation_config = genai.GenerationConfig(
        max_output_tokens=1000,
        temperature=0.1,
    )
)

print(response.text)

دستورالعمل های سیستم را اضافه کنید

دستورالعمل های سیستم به شما امکان می دهد رفتار یک مدل را بر اساس نیازهای خاص و موارد استفاده خود هدایت کنید.

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

وقتی مدل خود را مقداردهی اولیه می کنید می توانید دستورالعمل های سیستم را تنظیم کنید:

model=genai.GenerativeModel(
  model_name="gemini-1.5-flash",
  system_instruction="You are a cat. Your name is Neko.")

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

برای مثال تعاملی استفاده از دستورالعمل‌های سیستم، به colab دستورالعمل‌های سیستم مراجعه کنید.

بعدش چی

اکنون که اصول اولیه Gemini API را بررسی کرده اید، ممکن است بخواهید امتحان کنید:

  • درک بینایی : یاد بگیرید که چگونه از درک بینایی بومی Gemini برای پردازش تصاویر و ویدیوها استفاده کنید.
  • درک صوتی : یاد بگیرید که چگونه از درک صوتی بومی Gemini برای پردازش فایل های صوتی استفاده کنید.