Java / Kotlin
Visao Geral
O Floopy e um gateway sem SDK. O SDK oficial openai-java suporta URLs base personalizadas, entao voce pode rotear todas as requisicoes pelo Floopy sem dependencias extras. Voce ganha cache, rate limiting, fallbacks e observabilidade de graca.
Instalacao
<dependency> <groupId>com.openai</groupId> <artifactId>openai-java</artifactId> <version>0.8.1</version></dependency>implementation("com.openai:openai-java:0.8.1")Configuracao
import com.openai.client.OpenAIClient;import com.openai.client.okhttp.OpenAIOkHttpClient;
OpenAIClient client = OpenAIOkHttpClient.builder() .baseUrl("https://api.floopy.ai/v1") .apiKey(System.getenv("FLOOPY_API_KEY")) // starts with fp_ .build();Defina FLOOPY_API_KEY no seu ambiente. Voce pode criar uma no dashboard.
Requisicao Basica
import com.openai.models.ChatCompletionCreateParams;import com.openai.models.ChatCompletion;
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder() .model("gpt-4o") .addUserMessage("Explain quantum computing in one sentence.") .build();
ChatCompletion completion = client.chat().completions().create(params);
String content = completion.choices().get(0).message().content().orElse("");System.out.println(content);Streaming
import com.openai.models.ChatCompletionCreateParams;
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder() .model("gpt-4o") .addUserMessage("Write a short poem.") .build();
client.chat().completions().createStreaming(params).stream() .flatMap(completion -> completion.choices().stream()) .forEach(choice -> { choice.delta().content().ifPresent(System.out::print); });Headers Personalizados
Passe headers especificos do Floopy configurando o cliente HTTP:
import okhttp3.OkHttpClient;import okhttp3.Interceptor;
OkHttpClient httpClient = new OkHttpClient.Builder() .addInterceptor(chain -> { var request = chain.request().newBuilder() .addHeader("Floopy-Cache", "semantic") .addHeader("floopy-property-environment", "production") .addHeader("floopy-fallback", "claude-sonnet-4-20250514") .build(); return chain.proceed(request); }) .build();
OpenAIClient client = OpenAIOkHttpClient.builder() .baseUrl("https://api.floopy.ai/v1") .apiKey(System.getenv("FLOOPY_API_KEY")) .okHttpClient(httpClient) .build();| 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.