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
gem install ruby-openaiOu 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", })| 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.