الأدلة
البروتوكولات وSDK
استخدم بروتوكولات OpenAI-compatible وResponses وAnthropic Messages، بما يشمل البث واستدعاءات الأدوات والترحيل.
يتحدث Model API ثلاثة بروتوكولات نقل. أبقِ SDK الحالية لديك وغيّر عنوان URL الأساسي ومفتاح API ومعرّف النموذج.
مصفوفة endpoints
| البروتوكول | endpoint | العميل النموذجي |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | OpenAI SDK ومعظم الأدوات المتوافقة مع OpenAI |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | OpenAI SDK مع ميزات Responses API |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | Anthropic SDK وClaude Code وأدوات Claude الأصلية |
عناوين URL الأساسية
| العميل | عنوان URL الأساسي | السبب |
|---|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 | تلحق SDK المسار /chat/completions أو /responses |
| Anthropic SDK | https://openapi.felo.ai/api | تلحق SDK المسار /v1/messages؛ لا تضف /v1 بنفسك |
يستخدم العميلان مفتاح Felo API الخاص بك كمفتاح API في SDK.
import OpenAI from "openai";
import Anthropic from "@anthropic-ai/sdk";
const openai = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});
const anthropic = new Anthropic({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api",
});اختر بروتوكولًا
- استخدم Chat Completions عندما تتوقع أداتك أو SDK مصفوفة
messagesالمألوفة وchoices[0].message.content. - استخدم Responses عندما تحتاج إلى كائن Responses من OpenAI أو
inputأوinstructionsأوoutput_text. - استخدم Messages عند استخدام Anthropic SDK أو أداة أصلية لـClaude.
تحقق من النموذج قبل افتراض أن كل بروتوكول يعمل. يعرض الكتالوج supported_protocols وsupported_parameters وrecommended_protocol. recommended_protocol توصية للعميل وليس قيدًا؛ فقد يقبل النموذج بروتوكولًا آخر.
البث
عيّن stream: true لتلقي Server-Sent Events.
- يصدر Chat Completions أجزاء دردشة بنمط OpenAI.
- يصدر Responses أحداث SSE بنمط Responses وينتهي بكائن استجابة مكتمل.
- يصدر Messages أحداث بث رسائل Anthropic.
اقرأ تدفق الأحداث تدريجيًا وتعامل مع الحدث النهائي قبل إغلاق الاتصال. الاتصال المنقطع لا يعني استجابة مكتملة.
استدعاءات الأدوات والمخرجات المنظّمة
مرّر tools بالشكل الأصلي للبروتوكول. يختلف الدعم حسب النموذج، لذا تحقق من supported_parameters في الكتالوج قبل الاعتماد على استدعاءات الأدوات أو وضع JSON أو المخرجات المنظّمة. قد يقبل النموذج الحقل ويتجاهل خيارًا غير مدعوم.
توجيه القنوات
تقبل endpoints الثلاثة جميعها X-Felo-Channel عندما تحتاج إلى تثبيت مزوّد. راجع القنوات وتوجيه المزوّد لقواعد الرأس والأمثلة.
الانتقال من API رسمي
- غيّر عنوان URL الأساسي إلى عنوان Felo المطابق.
- استبدل مفتاح API بـ
FELO_API_KEY. - استبدل اسم النموذج بمعرّف نموذج Felo العام.
- أبقِ بقية شكل الطلب.
| العَرَض | السبب المحتمل |
|---|---|
| خطأ 404 في كل طلب | عنوان URL الأساسي يتضمن /v1 مسبقًا، أو أُضيف /v1 يدويًا إلى عنوان URL الأساسي لـAnthropic |
| 401 | مفتاح Felo مفقود أو العميل ما زال يرسل المفتاح القديم |
خطأ model برمز 400 | معرّف النموذج غير عام أو لا يدعم endpoint المختار |
| رُفض طلب Messages | بروتوكول Messages يتطلب max_tokens |
| تم تجاهل استدعاء الأداة | النموذج لا يعلن تلك القدرة |