راهنماها
پروتکلها و SDKها
از پروتکلهای OpenAI-compatible، Responses و Anthropic Messages استفاده کنید، از جمله استریم، فراخوانی ابزار و مهاجرت.
Model API با سه پروتکل انتقال صحبت میکند. SDK موجود خود را نگه دارید و base URL، کلید API و شناسه مدل را تغییر دهید.
ماتریس endpoint
| پروتکل | 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 |
Base URLها
| کلاینت | Base 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",
});انتخاب پروتکل
- وقتی ابزار یا SDK شما آرایه آشنای
messagesوchoices[0].message.contentرا انتظار دارد از Chat Completions استفاده کنید. - وقتی به شیء Responses، ورودی
input،instructionsیاoutput_textشرکت OpenAI نیاز دارید از Responses استفاده کنید. - وقتی از Anthropic SDK یا ابزار بومی Claude استفاده میکنید از Messages استفاده کنید.
پیش از فرض اینکه همه پروتکلها کار میکنند مدل را بررسی کنید. کاتالوگ supported_protocols، supported_parameters و recommended_protocol را نمایش میدهد. recommended_protocol یک توصیه برای کلاینت است، نه محدودیت؛ مدل ممکن است همچنان پروتکل دیگری را بپذیرد.
جریاندهی
stream: true را تنظیم کنید تا Server-Sent Events دریافت کنید.
- Chat Completions تکههای چت به سبک OpenAI را منتشر میکند.
- Responses رویدادهای SSE با قالب Responses را منتشر میکند و با یک شیء پاسخ کاملشده پایان مییابد.
- Messages رویدادهای جریان پیام Anthropic را منتشر میکند.
جریان رویداد را تدریجی بخوانید و رویداد پایانی را پیش از بستن اتصال مدیریت کنید. قطع اتصال با پاسخ کاملشده یکی نیست.
فراخوانی ابزار و خروجی ساختیافته
tools را در قالب بومی پروتکل بفرستید. پشتیبانی بر حسب مدل متفاوت است، پس پیش از تکیه بر فراخوانی ابزار، حالت JSON یا خروجی ساختیافته، supported_parameters را در کاتالوگ بررسی کنید. مدلی ممکن است فیلد را بپذیرد و همچنان گزینه پشتیبانینشده را نادیده بگیرد.
مسیریابی کانال
هر سه endpoint وقتی نیاز به پینکردن ارائهدهنده دارید X-Felo-Channel را میپذیرند. برای قواعد سرآیند و نمونهها کانالها و مسیریابی ارائهدهنده را ببینید.
مهاجرت از یک API رسمی
- base URL را به URL متناظر Felo تغییر دهید.
- کلید API را با
FELO_API_KEYجایگزین کنید. - نام مدل را با شناسه عمومی مدل Felo جایگزین کنید.
- بقیه شکل درخواست را نگه دارید.
| نشانه | علت احتمال |
|---|---|
| 404 در هر درخواست | base URL از قبل /v1 دارد، یا به base URL سازگار با Anthropic بهصورت دستی /v1 افزوده شده است |
| 401 | کلید Felo گم شده یا کلاینت همچنان کلید قدیمی را میفرستد |
خطای model با 400 | شناسه مدل عمومی نیست یا endpoint انتخابشده را پشتیبانی نمیکند |
| رد درخواست Messages | پروتکل Messages فیلد max_tokens را الزامی میداند |
| نادیدهگرفتن فراخوانی ابزار | مدل آن توانمندی را اعلام نمیکند |