Skip to content

Ruby SDK

Use the Ruby OpenAI gem with Glitch by configuring the base URL and adding your Glitch API key.

require "openai"
client = OpenAI::Client.new(
access_token: ENV["GLITCH_API_KEY"], # Your Glitch API key
uri_base: "https://api.golabrat.ai/v1", # Glitch sensor URL
)
response = client.chat(
parameters: {
model: "gpt-4",
messages: [{ role: "user", content: "Hello!" }]
}
)
puts response.dig("choices", 0, "message", "content")

Handle Glitch security blocks gracefully:

require "openai"
client = OpenAI::Client.new(
access_token: ENV["GLITCH_API_KEY"],
uri_base: "https://api.golabrat.ai/v1",
)
begin
response = client.chat(
parameters: {
model: "gpt-4",
messages: [{ role: "user", content: user_input }]
}
)
return response.dig("choices", 0, "message", "content")
rescue OpenAI::Error => e
if e.status == 403
# Security block - handle gracefully
return "I can't process that request."
end
raise
end

To access security headers, use a direct HTTP client:

require "net/http"
require "json"
require "uri"
uri = URI("https://api.golabrat.ai/v1/chat/completions")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{ENV['GLITCH_API_KEY']}"
request["Content-Type"] = "application/json"
request.body = {
model: "gpt-4",
messages: [{ role: "user", content: "Hello" }]
}.to_json
response = http.request(request)
# Access security headers
blocked = response["X-Risk-Blocked"] == "true"
categories = response["X-Risk-Categories"]
confidence = response["X-Risk-Confidence"].to_f
if categories
puts "Flagged: #{categories} (confidence: #{confidence})"
end