Pular para o conteúdo

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>

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();
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.