Pular para o conteúdo

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

Terminal window
npm install openai

Configuracao

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:

// Anthropic
const 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",
},
},
);
HeaderDescricao
Floopy-CacheEstrategia de cache: semantic ou exact
floopy-property-*Anexe metadados personalizados para filtragem no dashboard
floopy-fallbackModelo de fallback se o provedor principal falhar
floopy-session-idAgrupe requisicoes relacionadas em uma sessao
floopy-user-idAssocie requisicoes a um usuario final

Consulte a Referencia de Headers para a lista completa.