الأدلة
القنوات وتوجيه المزوّدين
ثبّت نموذجًا على مزوّد محدد باستخدام X-Felo-Channel، وافهم التوجيه الافتراضي والتسعير والرجوع الاحتياطي.
قد يُخدَّم النموذج عبر عدة مزوّدين أعلى. افتراضيًا، يختار Felo مزوّدًا لك. وعندما تحتاج إلى مزوّد محدد، أرسل رأس الطلب X-Felo-Channel مع رمز قناة عام أو أكثر.
endpoints المدعومة
يُقبل X-Felo-Channel في كل endpoint توليد في Model API:
| endpoint | البروتوكول |
|---|---|
POST /api/v1/chat/completions | OpenAI Chat Completions |
POST /api/v1/responses | OpenAI Responses |
POST /api/v1/messages | Anthropic Messages |
POST /api/v1/images/generations | توليد الصور |
POST /api/v1/videos/generations | توليد الفيديو |
POST /api/v1/decisions | القرارات |
ولا ينطبق على Data API (/v1/beta) أو واجهات Felo API (/v2).
قيم الرأس
القيمة قائمة مرتبة برموز قنوات عامة مفصولة بفواصل:
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic
X-Felo-Channel: defaultقواعد من مواصفة Model API العامة:
- احذف الرأس لاستخدام المسار الافتراضي.
defaultقيمة صالحة فقط عند استخدامها وحدها. لا تجمعها مع رموز القنوات.- تأتي رموز القنوات العامة من حقل
channels[].codeللنموذج في الكتالوج. استخدم الرمز، لا اسم عرض المزوّد. - القنوات المنشورة والقابلة للتشغيل فقط قابلة للتوجيه.
التوجيه الافتراضي
عند حذف الرأس، أو إرسال default وحدها، تختار المنصة المزوّد. في وضع المحفظة، تمسح ترتيب القنوات العامة الفعلي للنموذج بالعكس، وتتخطى القنوات غير المنشورة أو غير المتاحة، وتختار مزوّد أول قناة متاحة. وقد تشمل endpoints متاحة من ذلك المزوّد بمعرّف النموذج الأعلى نفسه وفئة الخدمة نفسها.
لا تحتاج إلى إرسال X-Felo-Channel: default؛ فحذف الرأس هو الطريقة المعتادة لاستخدام المسار الافتراضي.
التوجيه الصريح
عند إرسال رموز القنوات، تُتحقق بالترتيب الذي تسردها به. ولا تُرسل إلا مجموعة مزوّد القناة الأولى. لا يوجد تراجع احتياطي تلقائي إلى مزوّد آخر.
وهذا يعني أن قائمة القنوات اختيار، وليست سياسة إعادة محاولة. إذا كنت تحتاج إلى تجاوز الفشل، فنفّذه في تطبيقك: أرسل طلبًا جديدًا بقناة مختلفة بعد فشل الأولى.
لا يمكن لرؤوس المزوّد القديمة تجاوز X-Felo-Channel. وإذا كان رأس آخر في عميلك يطلب مزوّدًا أيضًا، فـX-Felo-Channel له الأولوية.
التسعير
تنشر كل قناة عامة أسعارها القياسية ومضاعف الخصم الخاص بها. السعر المعروض لمزوّد في صفحة تفاصيل النموذج هو سعر العميل لتلك القناة. القناة التي تثبتها تحدد المزوّد الذي يُطبّق سعره.
قبل تثبيت قناة لعبء عمل كبير الحجم، قارن صفوف المزوّدين في صفحة النموذج واقرأ النماذج والتسعير.
العثور على رمز قناة
- افتح صفحة تفاصيل النموذج وابحث عن جدول المزوّدين.
- طابق المزوّد مع رمز قناته العامة. الرمز هو المعرّف الثابت الذي يستخدمه API.
- إذا كنت تقرأ الكتالوج مباشرةً، فاستخدم
channels[].codeوتحقق منrunnable.
على سبيل المثال، ينشر claude-haiku-5-5 عدة قنوات، منها anthropic (الافتراضية) وazure وgoogle-vertex-global وclaude-cc. ويعرض صف claude-cc خصمه الخاص، لذا فإن تثبيته يغيّر المزوّد والسعر معًا.
الأمثلة
Chat Completions مثبّت على قناة واحدة:
curl https://openapi.felo.ai/api/v1/chat/completions \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Felo-Channel: claude-cc" \
-d '{
"model": "claude-haiku-5-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
}'Anthropic Messages بالقناة نفسها:
curl https://openapi.felo.ai/api/v1/messages \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Felo-Channel: claude-cc" \
-d '{
"model": "claude-haiku-5-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
}'التوجيه الافتراضي، دون رأس توجيه:
curl https://openapi.felo.ai/api/v1/chat/completions \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-5-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
}'