গাইড
প্রোটোকল ও SDK
OpenAI-compatible, Responses ও Anthropic Messages প্রোটোকল ব্যবহার করুন, সঙ্গে স্ট্রিমিং, tool calls ও মাইগ্রেশন।
Model API তিনটি wire protocol বোঝে। আপনার বিদ্যমান SDK রাখুন এবং base URL, API key ও মডেল ID বদলান।
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 | Responses API ফিচারসহ OpenAI SDK |
| 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 key-কে SDK API key হিসেবে ব্যবহার করে।
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 ব্যবহার করুন। - আপনার OpenAI-র Responses অবজেক্ট,
input,instructionsবাoutput_textদরকার হলে Responses ব্যবহার করুন। - আপনি Anthropic SDK বা Claude-নেটিভ টুল ব্যবহার করলে Messages ব্যবহার করুন।
প্রতিটি প্রোটোকল কাজ করে ধরে নেওয়ার আগে মডেল দেখুন। ক্যাটালগ supported_protocols, supported_parameters ও একটি recommended_protocol প্রকাশ করে। recommended_protocol একটি ক্লায়েন্ট সুপারিশ, বিধিনিষেধ নয়; একটি মডেল এখনো অন্য প্রোটোকল গ্রহণ করতে পারে।
স্ট্রিমিং
Server-Sent Events পেতে stream: true সেট করুন।
- Chat Completions OpenAI-স্টাইলের chat chunk পাঠায়।
- Responses Responses SSE ইভেন্ট পাঠায় এবং একটি সম্পূর্ণ response অবজেক্ট দিয়ে শেষ হয়।
- Messages Anthropic message stream ইভেন্ট পাঠায়।
ইভেন্ট স্ট্রিম ক্রমান্বয়ে পড়ুন এবং সংযোগ বন্ধ করার আগে টার্মিনাল ইভেন্ট সামলান। সংযোগ বিচ্ছিন্ন হওয়া সম্পূর্ণ হওয়া রেসপন্সের সমান নয়।
টুল কল ও স্ট্রাকচার্ড আউটপুট
প্রোটোকলের নেটিভ আকারে tools পাঠান। সমর্থন মডেল অনুযায়ী ভিন্ন, তাই টুল কল, JSON মোড বা স্ট্রাকচার্ড আউটপুটের উপর নির্ভর করার আগে ক্যাটালগে supported_parameters দেখুন। একটি মডেল ফিল্ডটি গ্রহণ করে অসমর্থিত অপশন উপেক্ষা করতে পারে।
চ্যানেল রাউটিং
প্রোভাইডার পিন করতে হলে তিনটি endpoint-ই X-Felo-Channel গ্রহণ করে। header নিয়ম ও উদাহরণের জন্য Channels and Provider Routing দেখুন।
অফিসিয়াল API থেকে মাইগ্রেট করুন
- base URL সংশ্লিষ্ট Felo URL-এ বদলান।
- API key-কে
FELO_API_KEYদিয়ে প্রতিস্থাপন করুন। - মডেলের নাম পাবলিক Felo মডেল ID দিয়ে প্রতিস্থাপন করুন।
- অনুরোধের বাকি গঠন অপরিবর্তিত রাখুন।
| লক্ষণ | সম্ভাব্য কারণ |
|---|---|
| প্রতিটি অনুরোধে 404 | Base URL-এ ইতিমধ্যে /v1 আছে, বা Anthropic base URL-এ ম্যানুয়ালি /v1 যোগ করা হয়েছে |
| 401 | Felo key অনুপস্থিত বা ক্লায়েন্ট এখনো পুরোনো key পাঠাচ্ছে |
400 model ত্রুটি | মডেল ID পাবলিক নয় বা নির্বাচিত endpoint সমর্থন করে না |
| Messages অনুরোধ প্রত্যাখ্যাত | Messages প্রোটোকলে max_tokens আবশ্যক |
| টুল কল উপেক্ষিত | মডেলটি সেই সক্ষমতা ঘোষণা করে না |