Node.js / TypeScript
Visao Geral
O Floopy e um gateway sem SDK. Voce nao precisa instalar uma biblioteca especifica do Floopy. Basta apontar o SDK padrao da OpenAI para Node.js para https://api.floopy.ai/v1 e usar sua chave de API do Floopy. Todos os recursos — cache, rate limiting, fallbacks, observabilidade — funcionam automaticamente atraves de headers.
Instalacao
npm install openaipnpm add openaiyarn add openaiConfiguracao
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.floopy.ai/v1", apiKey: process.env.FLOOPY_API_KEY, // starts with fp_});Defina FLOOPY_API_KEY no seu ambiente. Voce pode criar uma no dashboard.
Requisicao Basica
const response = await client.chat.completions.create({ model: "gpt-4o", messages: [ { role: "user", content: "Explain quantum computing in one sentence." }, ],});
console.log(response.choices[0].message.content);Troque de provedor alterando o nome do modelo — nenhuma outra mudanca no codigo e necessaria:
// Anthropicconst response = await client.chat.completions.create({ model: "claude-sonnet-4-20250514", messages: [{ role: "user", content: "Hello!" }],});Streaming
const stream = await client.chat.completions.create({ model: "gpt-4o", messages: [{ role: "user", content: "Write a short poem." }], stream: true,});
for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content || "");}Headers Personalizados
Passe headers especificos do Floopy usando o segundo argumento de qualquer metodo do SDK:
const response = await client.chat.completions.create( { model: "gpt-4o", messages: [{ role: "user", content: "Hello" }], }, { headers: { "Floopy-Cache": "semantic", "floopy-property-environment": "production", "floopy-property-feature": "chat", "floopy-fallback": "claude-sonnet-4-20250514", }, },);| Header | Descricao |
|---|---|
Floopy-Cache | Estrategia de cache: semantic ou exact |
floopy-property-* | Anexe metadados personalizados para filtragem no dashboard |
floopy-fallback | Modelo de fallback se o provedor principal falhar |
floopy-session-id | Agrupe requisicoes relacionadas em uma sessao |
floopy-user-id | Associe requisicoes a um usuario final |
Consulte a Referencia de Headers para a lista completa.