Panduan
Protokol dan SDK
Gunakan protokol yang kompatibel dengan OpenAI, Responses, dan Anthropic Messages, termasuk streaming, tool call, dan migrasi.
Model API mendukung tiga protokol kabel. Pertahankan SDK yang sudah Anda gunakan dan ubah Base URL, kunci API, serta ID model.
Matriks Endpoint
| Protokol | Endpoint | Klien tipikal |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | SDK OpenAI, sebagian besar alat yang kompatibel dengan OpenAI |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | SDK OpenAI dengan fitur Responses API |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | SDK Anthropic, Claude Code, alat native Claude |
Base URL
| Klien | Base URL | Alasan |
|---|---|---|
| SDK OpenAI | https://openapi.felo.ai/api/v1 | SDK menambahkan /chat/completions atau /responses |
| SDK Anthropic | https://openapi.felo.ai/api | SDK menambahkan /v1/messages; jangan menambahkan /v1 sendiri |
Kedua klien menggunakan kunci API Felo Anda sebagai kunci 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",
});Memilih Protokol
- Gunakan Chat Completions saat alat atau SDK Anda mengharapkan array
messagesyang sudah dikenal danchoices[0].message.content. - Gunakan Responses saat Anda memerlukan objek Responses milik OpenAI,
input,instructions, atauoutput_text. - Gunakan Messages saat Anda menggunakan SDK Anthropic atau alat native Claude.
Periksa model sebelum mengasumsikan setiap protokol berfungsi. Katalog mengekspos supported_protocols, supported_parameters, dan recommended_protocol. recommended_protocol adalah rekomendasi klien, bukan pembatasan; model mungkin tetap menerima protokol lain.
Streaming
Setel stream: true untuk menerima Server-Sent Events.
- Chat Completions memancarkan chunk chat bergaya OpenAI.
- Responses memancarkan event SSE Responses dan diakhiri dengan objek respons yang telah selesai.
- Messages memancarkan event stream pesan Anthropic.
Baca aliran event secara inkremental dan tangani event terminal sebelum menutup koneksi. Koneksi yang terputus tidak sama dengan respons yang selesai.
Panggilan Alat dan Output Terstruktur
Berikan tools dalam bentuk native protokol. Dukungan bervariasi menurut model, jadi periksa supported_parameters di katalog sebelum mengandalkan panggilan alat, mode JSON, atau output terstruktur. Model dapat menerima field tersebut tetapi tetap mengabaikan opsi yang tidak didukung.
Routing Kanal
Ketiga endpoint menerima X-Felo-Channel saat Anda perlu menyematkan penyedia. Lihat Kanal dan Routing Penyedia untuk aturan header dan contoh.
Migrasi dari API Resmi
- Ubah Base URL ke URL Felo yang sesuai.
- Ganti kunci API dengan
FELO_API_KEY. - Ganti nama model dengan ID model Felo publik.
- Pertahankan sisa bentuk permintaan.
| Gejala | Kemungkinan penyebab |
|---|---|
| 404 pada setiap permintaan | Base URL sudah menyertakan /v1, atau Base URL Anthropic ditambahkan /v1 secara manual |
| 401 | Kunci Felo hilang atau klien masih mengirim kunci lama |
Error 400 model | ID model tidak publik atau tidak mendukung endpoint yang dipilih |
| Permintaan Messages ditolak | max_tokens diwajibkan oleh protokol Messages |
| Panggilan alat diabaikan | Model tidak mengiklankan kemampuan tersebut |