مدلهای هوش مصنوعی Cloudflare
Cloudflare Workers AI مدلهای زبانی، بینایی، تولید تصویر، بردارسازی، تصمیمگیری و استخراج را روی شبکهٔ جهانی Cloudflare میزبانی میکند. AvalAI دسترسی به آنها را با کلید API خود و شناسههای عمومی cf.* فراهم میکند. نقطهٔ پایانی را متناسب با وظیفه انتخاب کنید؛ مدلهای گفتوگویی، تصمیمگیری نوعدار و استخراج، ساختار درخواست و پاسخ متفاوتی دارند.
هشت مدل جدید: استخراج، تصمیمگیری و مدلهای باز
تاریخ بررسی: ۱۴۰۵-۰۸-۰۲ / (2026-10-24). این هشت مدل از سطح 0 در AvalAI در دسترس هستند. جدولها شناسههای عمومی، محدودیت توکن و قیمتهای AvalAI را نشان میدهند؛ صفحههای پیوندشدهٔ Cloudflare دربارهٔ مدلهای بالادست توضیح میدهند. در فیلد model درخواست AvalAI، شناسهٔ AvalAI را قرار دهید، نه شناسهٔ Workers AI.
| شناسهٔ مدل در AvalAI | کاربرد و منبع رسمی مدل | زمینه / حداکثر توکن ورودی |
|---|---|---|
cf.clairic | استخراج نوعدار (پیشنمایش) | 65536 |
cf.clef | مدل تصمیمگیری نوعدار با ۲۷ میلیارد پارامتر | 65536 |
cf.clef-flash | مدل سریع تصمیمگیری نوعدار با ۹ میلیارد پارامتر | 24576 |
cf.clef-omni | تصمیمگیری چندوجهی؛ ۳۰ میلیارد پارامتر کل و ۳ میلیارد فعال | 64000 |
cf.phonellm-mini-alpha-2 | گفتوگوی متنی برای عاملهای صوتی | 262140 |
cf.apertus-v1.5-8b | مدل باز چندزبانه با ۸ میلیارد پارامتر | 262144 |
cf.eurollm-9b-it | مدل چندزبانهٔ پیرو دستور با ۹ میلیارد پارامتر | 32768 |
cf.moondream3.1-9b-a2b | مدل بیناییزبانی؛ ۹ میلیارد پارامتر کل و ۲ میلیارد فعال | 32768 |
در درخواستهای AvalAI، شناسهٔ cf.moondream3.1-9b-a2b را با حروف کوچک بنویسید؛ صفحهٔ Cloudflare نام مدل بالادست را به صورت moondream3.1-9B-A2B نوشته است. اعداد زمینه، ظرفیت ثبتشده در فهرست مدلها را نشان میدهند و تضمینی برای طول خروجی نیستند. دادهٔ ورودی، دستورها، ساختار سؤالها یا فیلدها و رسانههای پشتیبانیشده از ظرفیت درخواست استفاده میکنند. فهرست AvalAI برای EuroLLM مقدار 32768 توکن را ثبت کرده است، در حالی که صفحهٔ Cloudflare مقدار 32000 را ذکر میکند؛ جدول بالا محدودیت AvalAI را نشان میدهد. محدودیت Apertus از فهرست محدودیت نرخ AvalAI گرفته شده و با زمینهٔ 262144 توکنی Cloudflare مطابقت دارد.
قیمتگذاری
قیمتها بر حسب دلار آمریکا بهازای هر ۱ میلیون توکن هستند؛ ورودی، ورودی ذخیرهشده در حافظهٔ نهان و خروجی جداگانه محاسبه میشوند:
| شناسهٔ مدل در AvalAI | ورودی | ورودی حافظهٔ نهان | خروجی |
|---|---|---|---|
cf.clairic | $0.10 | $0.00 | $0.00 |
cf.clef | $0.24 | $0.00 | $0.00 |
cf.clef-flash | $0.038 | $0.00 | $0.00 |
cf.clef-omni | $0.15 | $0.00 | $0.00 |
cf.phonellm-mini-alpha-2 | $0.06 | $0.006 | $0.24 |
cf.apertus-v1.5-8b | $0.10 | $0.01 | $0.20 |
cf.eurollm-9b-it | $0.10 | $0.01 | $0.20 |
cf.moondream3.1-9b-a2b | $0.30 | $0.03 | $1.00 |
قیمت صفر خروجی برای Clairic و Clef یعنی پاسخهای نوعدار آنها هزینهٔ توکن خروجی ندارند؛ ورودی همچنان هزینه دارد. برای نمونه، مجموع ۱۰۰٬۰۰۰ توکن ورودی قابلصورتحساب در چند درخواست که از حافظهٔ نهان خوانده نشدهاند، با Clairic برابر با ۰٫۰۱ دلار و با Clef-flash برابر با ۰٫۰۰۳۸ دلار هزینه دارند؛ این نمونه دربارهٔ هزینهٔ تجمیعی است و اندازهٔ یک درخواست را نشان نمیدهد. برای تطبیق هزینهٔ درخواست، مصرف گزارششدهٔ نقطهٔ پایانی را در نظر بگیرید؛ این مصرف در صورت کاربرد، پردازش ساختار سؤالها یا فیلدها و رسانه را نیز شامل میشود. قیمت ورودی حافظهٔ نهان فقط برای توکنهایی اعمال میشود که واقعاً به این صورت محاسبه شدهاند؛ این قیمت، استفاده از حافظهٔ نهان، مدت نگهداری یا پشتیبانی از پارامترهای کنترل آن را تضمین نمیکند. به قیمتگذاری و هدرهای پاسخ مراجعه کنید.
Clairic: استخراج نوعدار
cf.clairic مدل استخراج Cloudflare در مرحلهٔ پیشنمایش است. فیلدهای نامدار را با نوع مشخص تعریف کنید، متن منبع را در اختیار مدل قرار دهید و پاسخهای نوعدار دریافت کنید. ساختار بومی آن از نُه نوع فیلد پشتیبانی میکند: text، number، date، time، datetime، duration، list، estimate و forecast؛ اطلاعات اطمینان یا توزیع نیز متناسب با نوع فیلد برمیگردند. اگر منبع برای تعیین یک مقدار کافی نباشد یا آن واقعیت را نداشته باشد، مدل ممکن است value: null برگرداند؛ وجود یک guess محتمل، جایگزین این مقدار تهی نیست.
در AvalAI از POST /v1/extraction استفاده کنید. Clairic مدل Chat Completions یا مدل تصمیمگیری Clef نیست. مرجع API استخراج فیلدهای state و fields، ورودی اختیاری تصویر و ساختار پاسخ answers با کلیدهای نامدار را توضیح میدهد. راهنمای مدلهای استخراج نیز بازههای متن منبع، عدم قطعیت، مقادیر ناموجود و اعتبارسنجی در برنامه را شرح میدهد. Cloudflare پشتیبانی از تصاویر تعبیهشده را در سرویس بالادست توضیح داده است؛ قالب و محدودیتهای مرجع را رعایت کنید و محتوای image_url مربوط به Chat Completions را نفرستید یا پذیرش نشانی تصویر را فرض نکنید.
Clef: تصمیمهای چندوجهی نوعدار
خانوادهٔ Clef شواهد را براساس سؤالهای روشن ارزیابی میکند و گزینه، امتیاز یا احتمال پاسخ بله/خیر را برمیگرداند:
cf.clefمدل ۲۷ میلیارد پارامتری برای داوری نوعدار بر متن، دادهٔ ساختاریافته و ورودی تصویر در سرویس بالادست است.cf.clef-flashگزینهٔ سریع ۹ میلیارد پارامتری با زمینهٔ کوچکتر و قیمت ورودی کمتر است.cf.clef-omniاز معماری ترکیب متخصصان با ۳۰ میلیارد پارامتر کل و ۳ میلیارد پارامتر فعال استفاده میکند. ساختار بومی آن در کنار متن، دادهٔ ساختاریافته و تصویر، صوت و ویدئوی تعبیهشده را نیز میپذیرد.
هر سه مدل در AvalAI از /v1/decisions و /v1/systemone استفاده میکنند. مرجع Decisions از input و آرایهٔ سؤالها استفاده میکند؛ مرجع System One از state و نگاشت سؤالها با نوعهای بومی noul، choice و score استفاده میکند. ساختار پاسخها نیز متفاوت است. این مدلها از /v1/chat/completions، /v1/responses، /v1/messages یا /v1/extraction استفاده نمیکنند.
توضیحات Cloudflare برای Clef و Clef-flash به ویدئو اشاره میکند، اما ساختارهای خام بومی آنها فیلد images دارند و فیلد videos را تعریف نکردهاند. پشتیبانی از صوت و ویدئو را فقط برای Clef-omni در نظر بگیرید. فیلدهای رسانهٔ بومی خودبهخود در Decisions معتبر نیستند و پشتیبانی بالادست از رسانه، به معنی اجرای موفق درخواست رسانه در AvalAI نیست. برای قالبها، محدودیت اندازه و حدود بررسی انجامشده، توضیحات دامنهٔ رسانه در System One را بخوانید. مجوزها و اعتبارسنجی برنامهٔ خود را برای اقدامهای بعدی رعایت کنید؛ داوری مدل مجوز انجام یک اقدام را صادر نمیکند.
PhoneLLM، Apertus، EuroLLM و Moondream
این چهار مدل برای جریانهای گفتوگویی مستندشده از /v1/chat/completions استفاده میکنند:
cf.phonellm-mini-alpha-2مدل متنی متنباز Daily است که برای گفتوگوی عاملهای صوتی تنظیم شده است. Cloudflare آن را مبتنی بر قابلیتهای Nemotron Nano 30B با تفکر غیرفعال معرفی میکند. فهرست AvalAI فراخوانی توابع را برای این شناسه فعال کرده است. تنظیم مدل برای عامل صوتی، رفتار گفتوگویی آن را توصیف میکند و به معنی پشتیبانی از بازشناسی گفتار، ورودی صوت یا خروجی گفتار نیست. برای این بخشهای یک سامانهٔ صوتی، از اجزای جداگانهٔ پردازش گفتار استفاده کنید.cf.apertus-v1.5-8bمدل چندزبانهٔ ۸ میلیارد پارامتری Swiss AI است که با دادههای آموزشی کاملاً باز توسعه یافته است. Cloudflare قابلیت بینایی و فراخوانی توابع را در سرویس بالادست معرفی میکند، اما فهرست AvalAI فراخوانی توابع را برای این شناسه غیرفعال کرده است. این صفحه گفتوگوی متنی را مستند میکند؛ از نشانهای قابلیت در صفحهٔ بالادست، پشتیبانی AvalAI از بینایی یا ابزارها را نتیجه نگیرید.cf.eurollm-9b-itنسخهٔ تنظیمشده برای پیروی از دستور EuroLLM با ۹ میلیارد پارامتر است. Cloudflare اعلام کرده است که این مدل با ۴ تریلیون توکن از دادههای وب چندزبانه، دادههای موازی و مجموعهدادههای باکیفیت گزینششده آموزش دیده است. برای گفتوگوی چندزبانه و وظایف متنی از آن استفاده کنید و محدودیت زمینهٔ AvalAI در جدول بالا را در نظر بگیرید.cf.moondream3.1-9b-a2bمدل بیناییزبانی با ۹ میلیارد پارامتر کل و ۲ میلیارد پارامتر فعال است. Cloudflare قابلیتهای استدلال بصری، OCR، تشخیص اشیا و اشاره به موقعیت آنها را معرفی میکند. AvalAI این مدل را با قالب بینایی Chat Completions ارائه میدهد؛ راهنمای بینایی را بخوانید. فیلدهای بومی Cloudflare مانندtask: query/caption/point/detect،image،targetوreasoningمتعلق به API مهارتهای بومی آن هستند و بهعنوان پارامتر یا ساختار پاسخ Chat Completions در AvalAI تأیید نشدهاند.
نمونهٔ گفتوگوی متنی با PhoneLLM
مقدار AVALAI_API_KEY را از محیط سرور بخوانید. برای نسخههای Python و Node.js، SDK متناظر openai را در محیط برنامهٔ خود نصب کنید؛ نمونهٔ JavaScript یک ماژول ES برای Node.js است. هر سه کلاینت زیر JSON یکسانی میفرستند. مهلت درخواست ۶۰ ثانیه است و هر کدام یک بار درخواست را ارسال میکنند؛ نمونههای SDK تلاش مجدد خودکار را غیرفعال کردهاند.
curl --fail-with-body --connect-timeout 10 --max-time 60 \
https://api.avalai.ir/v1/chat/completions \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "cf.phonellm-mini-alpha-2",
"messages": [
{"role": "system", "content": "Return one short sentence suitable for a voice assistant."},
{"role": "user", "content": "Confirm that my appointment is booked for Tuesday at 10 AM."}
],
"max_tokens": 256
}'import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
timeout=60.0,
max_retries=0,
)
response = client.chat.completions.create(
model="cf.phonellm-mini-alpha-2",
messages=[
{
"role": "system",
"content": "Return one short sentence suitable for a voice assistant.",
},
{
"role": "user",
"content": "Confirm that my appointment is booked for Tuesday at 10 AM.",
},
],
max_tokens=256,
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
timeout: 60000,
maxRetries: 0,
});
const response = await client.chat.completions.create({
model: "cf.phonellm-mini-alpha-2",
messages: [
{ role: "system", content: "Return one short sentence suitable for a voice assistant." },
{ role: "user", content: "Confirm that my appointment is booked for Tuesday at 10 AM." },
],
max_tokens: 256,
});
console.log(response.choices[0].message.content);پاسخ زیر یک نمونهٔ کامل و نمایشی Chat Completions است که متن، شناسهها و تعداد توکنهای آن فرضی هستند. این نمونه، پاسخ ثبتشده از AvalAI یا رسید صورتحساب نیست. مقدار فرضی estimated_cost براساس نرخهای PhoneLLM در جدول، تعداد توکنهای نمونه و نرخ تبدیل نمایشی 270000 تومان بهازای هر دلار محاسبه شده است:
{
"id": "chatcmpl-example",
"object": "chat.completion",
"created": 1792843200,
"model": "cf.phonellm-mini-alpha-2",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Your appointment is booked for Tuesday at 10 AM."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 33,
"completion_tokens": 12,
"total_tokens": 45
},
"estimated_cost": {
"unit": "0.0000048600",
"irt": 1.31,
"exchange_rate": 270000
}
}متن را از choices[0].message.content بخوانید و finish_reason و مصرف واقعی را بررسی کنید. پیام مربوط به نوبت، ورودی آزمایشی ساختگی است؛ تأیید تولیدشدهٔ مدل، ثبت نوبت در برنامهٔ شما را اثبات نمیکند. برای مقایسهٔ صرفاً متنی، فقط model را به cf.apertus-v1.5-8b یا cf.eurollm-9b-it تغییر دهید و پاسخ را در جریان کاری خود ارزیابی کنید. برای تصویر با Moondream، از ساختار پیام بینایی استفاده کنید. برای Clairic یا Clef، بهجای تغییر شناسهٔ مدل در این نمونه، نقطهٔ پایانی و ساختار اختصاصی آنها را انتخاب کنید.
هنگام خطای HTTP، بدنهٔ خطای برگشتی را بررسی کنید و در صورت وجود، avalai-request-id را نگه دارید. پیش از تلاش مجدد، فیلدهای نامعتبر یا ناسازگاری مدل و نقطهٔ پایانی را اصلاح کنید؛ خطای احراز هویت و اتمام سهمیه به مداخله نیاز دارند. این نمونه حلقهٔ تلاش مجدد ندارد. برای رفع مشکل، راهنمای مدیریت خطا را بخوانید. درخواستها و کد کلاینت براساس ساختار API نوشته شدهاند؛ پاسخ زندهٔ مدلها، قابلیتهای اختیاری و اجرای SDK باید جداگانه با حساب شما بررسی شوند.
مدلهای موجود
مدلهای هوش مصنوعی Cloudflare دستهها و ارائهدهندگان گوناگونی را پوشش میدهند؛ از مدلهای متنی فشرده تا سامانههای استدلال بزرگتر. بخشهای زیر خانوادههای دیگر را معرفی میکنند؛ برای هشت شناسهٔ جدید، راهنمای انتخاب نقطهٔ پایانی در بالا را رعایت کنید.
مدلهای Meta Llama
Cloudflare میزبان مجموعهای کامل از مدلهای Llama شرکت متا است؛ از جدیدترین نسخه یعنی Llama 4 Scout گرفته تا نسخههای گوناگون سری Llama 3.x.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.llama-4-scout-17b-16e-instruct | ۱۷ میلیارد (۱۶ متخصص) | چندوجهی (متن و تصویر) | ۱۲۸ هزار |
cf.llama-3.3-70b-instruct-fp8-fast | ۷۰ میلیارد (FP8) | استنتاج سریع، عمومی | ۱۲۸ هزار |
cf.llama-3.1-8b-instruct-fast | ۸ میلیارد | مکالمه سریع چندزبانه | ۱۲۸ هزار |
cf.llama-3.1-8b-instruct-awq | ۸ میلیارد (int4) | استنتاج بهینه | ۱۲۸ هزار |
cf.llama-3.1-8b-instruct-fp8 | ۸ میلیارد (FP8) | عملکرد متعادل | ۱۲۸ هزار |
cf.llama-3.1-8b-instruct | ۸ میلیارد | مکالمه استاندارد | ۱۲۸ هزار |
cf.llama-3.1-70b-instruct | ۷۰ میلیارد | استدلال پیچیده | ۱۲۸ هزار |
cf.llama-3.2-1b-instruct | ۱ میلیارد | مکالمه فشرده | ۱۲۸ هزار |
cf.llama-3.2-3b-instruct | ۳ میلیارد | وظایف مبتنی بر عامل (Agentic) | ۱۲۸ هزار |
cf.meta-llama-3-8b-instruct | ۸ میلیارد | استدلال بهبودیافته | ۸ هزار |
cf.llama-3-8b-instruct-awq | ۸ میلیارد (int4) | استقرار بهینه | ۸ هزار |
cf.llama-3-8b-instruct | ۸ میلیارد | دستورالعمل استاندارد | ۸ هزار |
cf.llama-guard-3-8b | ۸ میلیارد | ایمنی محتوا | ۸ هزار |
Llama 4 Scout - اوج قابلیتهای چندوجهی
این جدیدترین عضو خانواده Llama، قابلیتهای چندوجهی را به صورت بومی ارائه میدهد:
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
# درک متن و تصویر
completion = client.chat.completions.create(
model="cf.llama-4-scout-17b-16e-instruct",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "این تصویر شامل چه چیزهایی است؟"},
{
"type": "image_url",
"image_url": {"url": "data:image/jpeg;base64,..."},
},
],
}
],
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.llama-4-scout-17b-16e-instruct` ممکن است در دادههای فعلی 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",
input=[
{
"role": "user",
"content": [
{"type": "input_text", "text": "Describe this image."},
{"type": "input_image", "image_url": "https://example.com/image.png"},
],
}
],
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
مدلهای Google Gemma
مدلهای Gemma از گوگل، عملکردی فوقالعاده را با قابلیتهای چندزبانه و پشتیبانی از LoRA ترکیب میکنند.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.gemma-3-12b-it | ۱۲ میلیارد | چندوجهی، بیش از ۱۴۰ زبان | ۱۲۸ هزار |
cf.gemma-7b-it-lora | ۷ میلیارد | تنظیم دقیق (Fine-tuning) با LoRA | ۸ هزار |
cf.gemma-2b-it-lora | ۲ میلیارد | LoRA فشرده | ۸ هزار |
cf.gemma-7b-it | ۷ میلیارد | دستورالعمل عمومی | ۸ هزار |
Gemma 3 - چندوجهی پیشرفته
# Gemma 3 با پنجره زمینه گسترده
completion = client.chat.completions.create(
model="cf.gemma-3-12b-it",
messages=[
{
"role": "user",
"content": "این سند را تحلیل کرده و خلاصهای جامع از آن ارائه دهید.",
}
],
max_tokens=2048,
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.gemma-3-12b-it` ممکن است در دادههای فعلی 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بررسی کنید.
مدلهای Mistral AI
جدیدترین مدلهای Mistral با درک بصری بهبودیافته و پنجره زمینه گستردهتر.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.mistral-small-3.1-24b-instruct | ۲۴ میلیارد | بینایی + متن، فراخوانی توابع | ۱۲۸ هزار |
Mistral Small 3.1 - تقویتشده با بینایی
# فراخوانی توابع به همراه قابلیتهای بصری
completion = client.chat.completions.create(
model="cf.mistral-small-3.1-24b-instruct",
messages=[
{
"role": "user",
"content": "این نمودار را تحلیل کرده و معیارهای کلیدی آن را استخراج کنید.",
}
],
tools=[
{
"type": "function",
"function": {
"name": "extract_metrics",
"description": "استخراج معیارهای عددی از دادهها",
"parameters": {
"type": "object",
"properties": {
"metrics": {"type": "array", "items": {"type": "number"}}
},
},
},
}
],
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.mistral-small-3.1-24b-instruct` ممکن است در دادههای فعلی 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",
)
tools = [
{
"type": "function",
"name": "get_current_weather",
"description": "Get the current weather in a given location.",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
"additionalProperties": False,
},
}
]
response = client.responses.create(
model="gpt-5.6-luna",
input="این نمودار را تحلیل کرده و معیارهای کلیدی آن را استخراج کنید.",
tools=tools,
)
for item in response.output:
if item.type == "function_call":
print(item.name, item.arguments)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
مدلهای Qwen
مدلهای Qwen از شرکت Alibaba که برای استدلال، تولید کد و embedding تخصصی شدهاند.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.qwq-32b | ۳۲ میلیارد | استدلال پیشرفته | ۳۲ هزار |
cf.qwen2.5-coder-32b-instruct | ۳۲ میلیارد | تولید کد | ۱۲۸ هزار |
cf.qwen3-30b-a3b-fp8 | ۳۰ میلیارد (FP8) | چت، عملکرد متعادل | ۱۲۸ هزار |
cf.qwen3-embedding-0.6b | ۰.۶ میلیارد | embedding متن | - |
QwQ - مدل استدلالگر
# وظایف نیازمند استدلال پیشرفته
completion = client.chat.completions.create(
model="cf.qwq-32b",
messages=[
{
"role": "user",
"content": "این مسئله پیچیده ریاضی را گام به گام حل کنید: اگر قطاری ۱۲۰ کیلومتر را در ۲ ساعت طی کند و سپس سرعت خود را ۲۰٪ افزایش دهد، چقدر زمان برای طی کردن ۱۸۰ کیلومتر بعدی نیاز دارد؟",
}
],
temperature=0.1, # دمای پایینتر برای وظایf استدلالی
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.qwq-32b` ممکن است در دادههای فعلی 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بررسی کنید.
Qwen2.5-Coder - متخصص برنامهنویسی
# تولید و توضیح کد
completion = client.chat.completions.create(
model="cf.qwen2.5-coder-32b-instruct",
messages=[
{
"role": "user",
"content": "یک تابع پایتون برای پیادهسازی درخت جستجوی دودویی به همراه عملیات درج، جستجو و حذف بنویسید.",
}
],
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.qwen2.5-coder-32b-instruct` ممکن است در دادههای فعلی 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بررسی کنید.
مدلهای DeepSeek
مدلهای استدلال تقطیر شده از DeepSeek که عملکردی رقابتی ارائه میدهند.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.deepseek-r1-distill-qwen-32b | ۳۲ میلیارد | استدلال، عملکرد بهتر از o1-mini | ۱۲۸ هزار |
مدلهای متنباز OpenAI
مدلهای متنباز OpenAI که روی شبکه لبه Cloudflare در دسترس هستند.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.gpt-oss-120b | ۱۲۰ میلیارد | استدلال در مقیاس بزرگ | ۱۲۸ هزار |
cf.gpt-oss-20b | ۲۰ میلیارد | عمومی کارآمد | ۱۲۸ هزار |
مدلهای NVIDIA Nemotron
جدیدترین مدلهای Nemotron از NVIDIA با معماری ترکیبی LatentMoE.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.nemotron-3-120b-a12b | ۱۲۰ میلیارد (۱۲ میلیارد فعال) | گردشهای کاری عاملی، استدلال زمینه بلند | ۱ میلیون |
Nemotron-3-120B-A12B - برتری عاملی
Nemotron-3-Super-120B-A12B از NVIDIA یک مدل زبانی بزرگ است که برای ارائه قابلیتهای قوی عاملی، استدلال و مکالمه طراحی شده است. این مدل از معماری ترکیبی LatentMoE با لایههای متناوب Mamba-2 و MoE با پیشبینی چند توکن (MTP) برای تولید متن سریعتر استفاده میکند.
| ویژگی | جزئیات |
|---|---|
| کل پارامترها | ۱۲۰ میلیارد (۱۲ میلیارد فعال) |
| معماری | LatentMoE - ترکیب Mamba-2 + MoE + Attention |
| پنجره زمینه | ۱٬۰۰۰٬۰۰۰ توکن |
| قیمت ورودی | ۰.۵۰ دلار / ۱ میلیون توکن |
| قیمت ورودی کش شده | ۰.۰۵ دلار / ۱ میلیون توکن (۹۰٪ کاهش هزینه) |
| قیمت خروجی | ۱.۵۰ دلار / ۱ میلیون توکن |
| زبانهای پشتیبانیشده | انگلیسی، فرانسوی، آلمانی، ایتالیایی، ژاپنی، اسپانیایی، چینی |
| بهترین استفاده | گردشهای کاری عاملی، استدلال زمینه بلند، اتوماسیون تیکت IT |
ویژگیهای کلیدی:
- پنجره زمینه ۱ میلیون: طول زمینه پیشرو در صنعت برای اسناد گسترده
- استدلال قابل تنظیم: فعال یا غیرفعال کردن حالت استدلال از طریق الگوی چت
- پیشبینی چند توکن: لایههای MTP برای تولید متن سریعتر
- استفاده از ابزار و RAG: عالی برای فراخوانی ابزار و تولید مبتنی بر بازیابی
- مقرونبهصرفه: فقط ۱۲ میلیارد پارامتر فعال برای کارایی استثنایی
نکات برجسته معیار:
- SWE-Bench (OpenHands): ۶۰.۴۷٪
- AIME 2025: ۹۰.۲۱٪
- HMMT Feb 2025 (با ابزار): ۹۴.۷۳٪
- LiveCodeBench: ۸۱.۱۹٪
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
# استدلال زمینه بلند با Nemotron
completion = client.chat.completions.create(
model="cf.nemotron-3-120b-a12b",
messages=[
{
"role": "user",
"content": "این کدبیس گسترده را تحلیل کن و بهبودهای معماری برای مقیاسپذیری بهتر پیشنهاد بده.",
}
],
temperature=1.0, # تنظیم پیشنهادی برای Nemotron
top_p=0.95,
)
print(completion.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.nemotron-3-120b-a12b` ممکن است در دادههای فعلی 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بررسی کنید.
مدلهای IBM Granite
مدلهای Granite از IBM برای کاربردهای سازمانی.
| مدل | پارامترها | تخصص | پنجره زمینه (Context) |
|---|---|---|---|
cf.granite-4.0-h-micro | Micro | چت سازمانی کارآمد | ۱۲۸ هزار |
مدلهای تولید تصویر
Cloudflare AI مدلهای قدرتمند تولید تصویر را از طریق نقطه پایانی v1/images/generations ارائه میدهد.
| مدل | توضیحات | قیمت پایه (۱ مگاپیکسل) |
|---|---|---|
cf.flux-2-klein-9b | مدل FLUX 2 Klein با ۹ میلیارد پارامتر | $۰.۰۱۵/تصویر |
cf.flux-2-klein-4b | مدل فشرده FLUX 2 Klein با ۴ میلیارد پارامتر | $۰.۰۱۰/تصویر |
cf.flux-2-dev | مدل توسعه FLUX 2 | $۰.۰۱۰/تصویر |
cf.lucid-origin | تولید تصویر Lucid Origin | $۰.۰۱۵/تصویر |
cf.phoenix-1.0 | تولید تصویر Phoenix 1.0 | $۰.۰۱۵/تصویر |
مثال تولید تصویر
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
# تولید تصویر با FLUX 2 Klein
response = client.images.generate(
model="cf.flux-2-klein-9b",
prompt="یک شهر آیندهنگر در غروب خورشید با ماشینهای پرنده",
n=1,
size="1024x1024",
)
print(response.data[0].url)مدلهای Embedding
Cloudflare AI مدلهای embedding را برای جستجوی معنایی و تحلیل متن از طریق نقطه پایانی v1/embeddings ارائه میدهد.
| مدل | صاحب | توضیحات | قیمت ورودی (دلار/۱م توکن) |
|---|---|---|---|
cf.qwen3-embedding-0.6b | Alibaba | Qwen3 Embedding ۰.۶ میلیارد | $۰.۰۱۲ |
cf.plamo-embedding-1b | PFN | PLaMo Embedding ۱ میلیارد | $۰.۰۱۹ |
cf.embeddinggemma-300m | EmbeddingGemma ۳۰۰ میلیون | $۰.۰۱۲ |
مثال Embedding
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
# تولید embedding
response = client.embeddings.create(
model="cf.qwen3-embedding-0.6b",
input="یادگیری ماشین به کامپیوترها امکان یادگیری از دادهها را میدهد.",
)
embedding = response.data[0].embedding
print(f"ابعاد embedding: {len(embedding)}")پارامترهای کلیدی
پارامترهای زیر برای مدلهای گفتوگویی کاربرد دارند که از آنها در Chat Completions پشتیبانی میکنند. مقادیر پیشفرض و محدودیتها به مدل بستگی دارند؛ این جدول قرارداد یکسانی برای همهٔ مدلهای Cloudflare نیست. برای Clairic و Clef، فیلدهای مرجع نقطهٔ پایانی اختصاصی را به کار ببرید:
| پارامتر | توضیحات | مقدار پیشفرض | محدوده |
|---|---|---|---|
temperature | میزان خلاقیت پاسخ را کنترل میکند | 0.7 | 0.0 تا 2.0 |
max_tokens | حداکثر طول پاسخ تولیدی | 2048 | 1 تا 4096 |
top_p | نمونهگیری هستهای (Nucleus sampling) | 1.0 | 0.0 تا 1.0 |
frequency_penalty | جریمه تکرار کلمات | 0.0 | -2.0 تا 2.0 |
presence_penalty | جریمه تکرار موضوعات | 0.0 | -2.0 تا 2.0 |
نقاط پایانی (Endpoints) API
مدلهای Cloudflare بسته به نوع مدل از طریق نقاط پایانی مختلف در AvalAI قابل دسترسی هستند:
- Chat Completions:
/v1/chat/completionsبرای مدلهای گفتوگویی و بینایی فعال در این مسیر، از جمله PhoneLLM، Apertus، EuroLLM و Moondream معرفیشده در بالا. - استخراج:
/v1/extractionبرایcf.clairic. - تصمیمگیری:
/v1/decisionsو مسیر بومی/v1/systemoneبرایcf.clef،cf.clef-flashوcf.clef-omni. - Responses:
/v1/responsesفقط برای مدلهای فعال در این مسیر؛ پشتیبانی به مدل بستگی دارد و ممکن است جزئی باشد. - بردارسازی (Embeddings):
/v1/embeddingsبرای مدلهای بردارسازی. - تولید تصویر:
/v1/images/generationsبرای مدلهای تولید تصویر. - Messages:
/v1/messagesفقط برای مدلهای فعال در این مسیر؛ پشتیبانی به مدل بستگی دارد و ممکن است جزئی باشد.
شناسههای جدید Clairic و Clef از Chat Completions، Responses و Messages استفاده نمیکنند. این معرفی، پشتیبانی Responses یا Messages را برای چهار مدل گفتوگویی جدید اعلام نمیکند. نمونههای معادل Responses در ادامه، مدل فعال دیگری را انتخاب میکنند و پشتیبانی Responses را برای شناسهٔ Cloudflare در نمونهٔ چت متناظر اثبات نمیکنند.
مثالهای کاربردی
تولید متن ساده
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
completion = client.chat.completions.create(
model="cf.llama-3.1-8b-instruct",
messages=[
{"role": "system", "content": "شما یک دستیار هوشمند و مفید هستید."},
{"role": "user", "content": "محاسبات کوانتومی را به زبان ساده شرح دهید."},
],
temperature=0.7,
max_tokens=1024,
)
print(completion.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.llama-3.1-8b-instruct` ممکن است در دادههای فعلی 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بررسی کنید.
دریافت پاسخ به صورت جریانی (Streaming)
# استفاده از Streaming برای دریافت پاسخهای آنی
stream = client.chat.completions.create(
model="cf.llama-3.3-70b-instruct-fp8-fast",
messages=[
{
"role": "user",
"content": "داستان کوتاهی درباره آینده هوش مصنوعی و بشریت بنویسید.",
}
],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.llama-3.3-70b-instruct-fp8-fast` ممکن است در دادههای فعلی 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بررسی کنید.
فراخوانی توابع (Function Calling)
# فراخوانی توابع با مدلهای پشتیبانیکننده
completion = client.chat.completions.create(
model="cf.mistral-small-3.1-24b-instruct",
messages=[{"role": "user", "content": "آب و هوای تهران الان چطور است؟"}],
tools=[
{
"type": "function",
"function": {
"name": "get_weather",
"description": "دریافت اطلاعات آب و هوای یک شهر",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "نام شهر"}
},
"required": ["city"],
},
},
}
],
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.mistral-small-3.1-24b-instruct` ممکن است در دادههای فعلی 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",
)
tools = [
{
"type": "function",
"name": "get_current_weather",
"description": "Get the current weather in a given location.",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
"additionalProperties": False,
},
}
]
response = client.responses.create(
model="gpt-5.6-luna",
input="آب و هوای تهران الان چطور است؟",
tools=tools,
)
for item in response.output:
if item.type == "function_call":
print(item.name, item.arguments)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
بهترین شیوهها (Best Practices)
انتخاب مدل مناسب
- برای سرعت: از مدلهای کوانتیزهشده FP8 یا AWQ مانند
cf.llama-3.3-70b-instruct-fp8-fastاستفاده کنید. - برای استدلال: مدلهای
cf.qwq-32bیاcf.deepseek-r1-distill-qwen-32bگزینههای بهتری هستند. - برای کدنویسی: از مدل تخصصی
cf.qwen2.5-coder-32b-instructاستفاده کنید. - برای کاربردهای چندوجهی: مدلهای
cf.llama-4-scout-17b-16e-instructیاcf.gemma-3-12b-itرا انتخاب کنید. - برای بهینهسازی مصرف: مدلهای فشرده مانند
cf.llama-3.2-1b-instructرا امتحان کنید.
بهینهسازی عملکرد
- کوانتیزهسازی مناسب: مدلهای FP8 تعادل خوبی بین سرعت و کیفیت برقرار میکنند.
- بهرهگیری از شبکه لبه: این مدلها به دلیل اجرا بر روی شبکه جهانی Cloudflare، تاخیر بسیار کمی دارند.
- مدیریت زمینه: دادهٔ ورودی، دستورها، رسانههای پشتیبانیشده و خروجی را متناسب با محدودیت مدل انتخابی تنظیم کنید؛ زمینهٔ مدلهای جدید مطابق جدول بالا متفاوت است.
- پاسخ جریانی: برای بهبود تجربه کاربری در اپلیکیشنهای تعاملی، قابلیت Streaming را فعال کنید.
ایمنی محتوا
برای کنترل و نظارت بر محتوا، از مدل cf.llama-guard-3-8b استفاده کنید:
# بررسی ایمنی محتوا
safety_check = client.chat.completions.create(
model="cf.llama-guard-3-8b",
messages=[{"role": "user", "content": "پیام کاربر برای بررسی از نظر ایمنی"}],
)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `cf.llama-guard-3-8b` ممکن است در دادههای فعلی 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بررسی کنید.
استفاده از مدلهای Cloudflare از طریق AvalAI
مدلهای Cloudflare از احراز هویت AvalAI استفاده میکنند و نقطهٔ پایانی و قالب درخواست آنها متناسب با وظیفه انتخاب میشود. مدلهای گفتوگویی فعال از Chat Completions، مدل Clairic از Extraction و خانوادهٔ Clef از Decisions یا System One بومی استفاده میکنند. فقط زمانی کلاینت موجود را دوباره به کار ببرید که ساختار نقطهٔ پایانی انتخابی را پیادهسازی کرده باشد.
احراز هویت
client = OpenAI(
api_key="your-avalai-api-key", # کلید API شما در AvalAI
base_url="https://api.avalai.ir/v1", # نقطه پایانی AvalAI
)محدودیتهای نرخ استفاده (Rate Limits)
مدلهای Cloudflare از سیاستهای استاندارد محدودیت نرخ در AvalAI پیروی میکنند. برای اطلاع از محدودیتهای سطح کاربری خود، به راهنمای محدودیتهای نرخ مراجعه کنید.