پارامترهای تفکر Gemini و تولید تصویر Stability AI
این راهنما نحوه استفاده از پارامترهای مختص ارائه دهنده با ارائهدهندگان مختلف مدل هوش مصنوعی از طریق API یکپارچه AvalAI را توضیح میدهد.
مقدمه
ارائهدهندگان مختلف مدل هوش مصنوعی پارامترهای منحصر به فردی برای کنترل رفتار مدلهای خود ارائه میدهند. در حالی که AvalAI یک API یکپارچه فراهم میکند، شما میتوانید به این ویژگیهای مختص ارائه دهنده به چند روش دسترسی داشته باشید:
- از طریق پارامتر
extra_bodyهنگام استفاده از کتابخانههای کلاینت - با قرار دادن مستقیم آنها در بدنه درخواست برای فراخوانیهای مستقیم API
- برای کاربران تایپاسکریپت، با استفاده از
// @ts-expect-errorبرای ارسال مستقیم پارامترهای مستندنشده
این راهنما مهمترین پارامترهای مختص ارائه دهنده و نحوه استفاده موثر از آنها را پوشش میدهد.
استفاده از پارامترهای مستندنشده در تایپاسکریپت
هنگام کار با تایپاسکریپت، میتوانید از کامنت // @ts-expect-error برای ارسال مستقیم پارامترهای مختص ارائه دهنده استفاده کنید:
// مثال تایپاسکریپت - استفاده از @ts-expect-error برای پارامترهای مستندنشده
const response = await client.chat.completions.create({
model: "gemini-2.5-flash",
messages: [
{
role: "user",
content: "این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
},
],
// @ts-expect-error thinking یک پارامتر مستندنشده است
thinking: { type: "enabled", budget_tokens: 2000 },
});نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
این روش به شما امکان میدهد بررسی نوع تایپاسکریپت را برای پارامترهایی که توسط ارائه دهنده پشتیبانی میشوند اما در تعاریف نوع کتابخانه کلاینت مستند نشدهاند، دور بزنید. کتابخانه در زمان اجرا بررسی نمیکند که درخواست با نوع مطابقت داشته باشد، بنابراین هر مقدار اضافی که ارسال میکنید، به همان صورت به API ارائه دهنده ارسال میشود.
مدلهای Gemini: پارامتر تفکر
مدلهای Gemini گوگل (به طور خاص gemini-2.5-flash و gemini-2.5-pro) از استدلال قابل تنظیم از طریق تنظیمات "تفکر" پشتیبانی میکنند. این به شما امکان میدهد میزان استدلالی که مدل انجام میدهد را کنترل کنید و بین عمق تحلیل و هزینه تعادل برقرار کنید.
نکته
thinking_budget تنها در Gemini 2.5 Flash پشتیبانی میشود. این اطلاعات در زمان نگارش این مطلب صحیح است و ممکن است در طول زمان تغییر کند. برای آخرین اطلاعات، به مستندات رسمی Google AI مراجعه کنید.
فعالسازی و پیکربندی تفکر
هنگام استفاده از کتابخانههای کلاینت OpenAI با AvalAI، میتوانید رفتار تفکر Gemini را با استفاده از پارامتر extra_body کنترل کنید:
# مثال پایتون - فعالسازی تفکر با یک بودجه
response = client.chat.completions.create(
model="gemini-2.5-flash",
messages=[
{"role": "user", "content": "این مسئله ریاضی پیچیده را گام به گام حل کن: ..."}
],
extra_body={
"thinking": {"type": "enabled", "budget_tokens": 2000}
}, # اجازه استفاده تا 2000 توکن برای استدلال
)// مثال جاوااسکریپت - فعالسازی تفکر با یک بودجه
const response = await client.chat.completions.create({
model: "gemini-2.5-flash",
messages: [
{
role: "user",
content: "این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
},
],
// @ts-expect-error thinking یک پارامتر مستندنشده است
thinking: { type: "enabled", budget_tokens: 2000 }, // اجازه استفاده تا 2000 توکن برای استدلال
});نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
)
print(response.output_text)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.responses.create({
model: "gpt-5.6-luna",
instructions: "You are a helpful assistant.",
input: "این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
});
console.log(response.output_text);curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '
{
"model": "gpt-5.6-luna",
"input": "این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
"instructions": "You are a helpful assistant."
}'messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
گزینههای پارامتر تفکر
تنظیمات تفکر شامل موارد زیر است:
type: تنظیم به "enabled" برای اجازه دادن به مدل برای استفاده از تفکر/استدلالbudget_tokens: کنترل تعداد توکنهایی که مدل میتواند برای تفکر استفاده کند- تنظیم به
0به طور موثر تفکر را غیرفعال میکند - تنظیم به یک عدد مثبت (مثلا
2000) به مدل اجازه میدهد تا حداکثر آن تعداد توکن را برای استدلال مصرف کند
غیرفعال کردن تفکر
برای غیرفعال کردن کامل تفکر، بودجه را به 0 تنظیم کنید:
# مثال پایتون - غیرفعال کردن تفکر
response = client.chat.completions.create(
model="gemini-2.5-flash",
messages=[{"role": "user", "content": "این متن را به طور خلاصه جمعبندی کن: ..."}],
extra_body={
"thinking": {"type": "disabled", "budget_tokens": 0}
}, # غیرفعال کردن تفکر با تنظیم بودجه به 0
)// مثال جاوااسکریپت - غیرفعال کردن تفکر
const response = await client.chat.completions.create({
model: "gemini-2.5-flash",
messages: [
{ role: "user", content: "این متن را به طور خلاصه جمعبندی کن: ..." },
],
// @ts-expect-error thinking یک پارامتر مستندنشده است
thinking: { type: "disabled", budget_tokens: 0 }, // غیرفعال کردن تفکر با تنظیم بودجه به 0
});نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="این متن را به طور خلاصه جمعبندی کن: ...",
)
print(response.output_text)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.responses.create({
model: "gpt-5.6-luna",
instructions: "You are a helpful assistant.",
input: "این متن را به طور خلاصه جمعبندی کن: ...",
});
console.log(response.output_text);curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '
{
"model": "gpt-5.6-luna",
"input": "این متن را به طور خلاصه جمعبندی کن: ...",
"instructions": "You are a helpful assistant."
}'messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
ملاحظات قیمتگذاری
این به ویژه برای Gemini 2.5 Flash مفید است که قیمتگذاری متفاوتی برای توکنهای تفکر در مقابل توکنهای بدون تفکر دارد:
- خروجی بدون تفکر: ۰.۶۰ دلار / ۱ میلیون توکن
- خروجی با تفکر: ۳.۵۰ دلار / ۱ میلیون توکن
با تنظیم بودجههای تفکر مناسب، میتوانید هم عمق استدلال و هم هزینه فراخوانیهای API خود را کنترل کنید.
درخواستهای HTTP مستقیم
هنگام ارسال درخواستهای HTTP مستقیم یا استفاده از curl، میتوانید این پارامترها را مستقیما در بدنه درخواست قرار دهید:
curl https://api.avalai.ir/v1/chat/completions \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash",
"messages": [{"role": "user", "content": "این مسئله ریاضی پیچیده را گام به گام حل کن: ..."}],
"thinking": {"type": "enabled", "budget_tokens": 2000}
}'نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '
{
"model": "gpt-5.6-luna",
"input": "این مسئله ریاضی پیچیده را گام به گام حل کن: ...",
"instructions": "You are a helpful assistant."
}'messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
پارامترهای تولید تصویر Stability AI
مدلهای Stability AI از انواع مختلفی از پارامترها برای کنترل کیفیت، سبک و ویژگیهای تولید تصویر پشتیبانی میکنند. این پارامترها را میتوان از طریق پارامتر extra_body هنگام استفاده از کتابخانههای کلاینت ارسال کرد.
پارامترهای کلیدی Stability AI
# مثال پایتون - پارامترهای Stability AI
response = client.images.generate(
model="stability.sd3-5-large-v1:0",
prompt="یک منظره آرام با کوهها و دریاچه",
n=1,
size="1024x1024",
extra_body={
"cfg_scale": 7,
"steps": 30,
"sampler": "ddim",
"style_preset": "photographic",
},
)// مثال جاوااسکریپت Stability AI
const response = await client.images.generate({
model: "stability.sd3-5-large-v1:0",
prompt: "یک منظره آرام با کوهها و دریاچه",
n: 1,
size: "1024x1024",
// @ts-expect-error cfg_scale یک پارامتر مستندنشده است
cfg_scale: 7,
// @ts-expect-error
steps: 30,
// @ts-expect-error
sampler: "ddim",
// @ts-expect-error
style_preset: "photographic",
response_format: "url", // or b64_json
});پارامترهای رایج شامل:
cfg_scale: کنترل میکند که تصویر چقدر دقیق از پرامپت پیروی کند (معمولا ۱-۲۰)steps: تعداد مراحل انتشار (مقادیر بالاتر = جزئیات بیشتر اما زمان تولید طولانیتر)sampler: الگوریتم نمونهبرداری مورد استفاده (مثلا "ddim"، "k_euler"، "k_dpm_2")style_preset: سبک از پیش تعریف شده برای اعمال (مثلا "photographic"، "digital-art"، "anime")
درخواستهای HTTP مستقیم
هنگام استفاده از curl یا فراخوانیهای مستقیم API:
curl https://api.avalai.ir/v1/images/generations \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "stability.sd3-5-large-v1:0",
"prompt": "یک منظره آرام با کوهها و دریاچه",
"n": 1,
"size": "1024x1024",
"cfg_scale": 7,
"steps": 30,
"sampler": "ddim",
"style_preset": "photographic"
}'بهترین روشها برای پارامترهای مختص ارائه دهنده
بررسی مستندات: همیشه به مستندات مدل خاص برای بهروزترین پارامترها و مقادیر مراجعه کنید.
آزمایش تاثیر پارامترها: مقادیر مختلف پارامتر میتواند تاثیر قابل توجهی بر نتایج داشته باشد. تنظیمات مختلف را آزمایش کنید تا بهترین گزینه برای مورد استفاده خود را پیدا کنید.
تعادل هزینه و کیفیت: پارامترهایی مانند بودجه تفکر Gemini به طور مستقیم بر هزینهها تاثیر میگذارند. تعادل مناسب برای برنامه خود را پیدا کنید.
مدیریت خطا: هنگام استفاده از پارامترهای مختص ارائه دهنده، مدیریت خطای قوی را پیادهسازی کنید تا هرگونه مشکل اعتبارسنجی پارامتر را شناسایی کنید.
آگاهی از نسخه: پارامترهای مختص ارائه دهنده ممکن است بین نسخههای مدل تغییر کنند. هنگامی که ثبات اهمیت دارد، از نسخههای خاص مدل استفاده کنید.
منابع مرتبط
- راهنمای مدلهای استدلالی - اطلاعات بیشتر درباره قابلیتهای استدلال و تفکر
- راهنمای تولید تصویر - اطلاعات بیشتر درباره گزینههای تولید تصویر
- راهنمای انتخاب مدل - انتخاب مدل مناسب برای وظیفه شما
- راهنمای محدودیتهای نرخ - درک محدودیتهای نرخ API