Pular para o conteúdo

Ruby

Visao Geral

O Floopy e um gateway sem SDK. A gem ruby-openai suporta URIs 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

Terminal window
gem install ruby-openai

Ou adicione ao seu Gemfile:

gem "ruby-openai"

Configuracao

require "openai"
client = OpenAI::Client.new(
uri_base: "https://api.floopy.ai/v1",
access_token: ENV["FLOOPY_API_KEY"], # starts with fp_
)

Defina FLOOPY_API_KEY no seu ambiente. Voce pode criar uma no dashboard.

Requisicao Basica

response = client.chat(
parameters: {
model: "gpt-4o",
messages: [
{ role: "user", content: "Explain quantum computing in one sentence." }
],
}
)
puts response.dig("choices", 0, "message", "content")

Streaming

client.chat(
parameters: {
model: "gpt-4o",
messages: [
{ role: "user", content: "Write a short poem." }
],
stream: proc { |chunk, _bytesize|
content = chunk.dig("choices", 0, "delta", "content")
print content if content
},
}
)

Headers Personalizados

Passe headers especificos do Floopy usando extra_headers:

client = OpenAI::Client.new(
uri_base: "https://api.floopy.ai/v1",
access_token: ENV["FLOOPY_API_KEY"],
extra_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.