uncloseai.
Ruby Examples - Free LLM & TTS AI Service
Ruby Examples
This page demonstrates how to use the uncloseai. API endpoints with Ruby using the official OpenAI Ruby gem. All examples use the same OpenAI-compatible API interface, making it easy to switch between different models and endpoints.
Available Endpoints:
- Hermes:
https://hermes.ai.unturf.com/v1
- General purpose conversational AI - Qwen 3 Coder:
https://qwen.ai.unturf.com/v1
- Specialized coding model - TTS:
https://speech.ai.unturf.com/v1
- Text-to-speech generation
Ruby Client Installation
To install the official OpenAI gem for Ruby, add to your Gemfile or use gem install
:
gem install openai -v 0.31.0
Non-Streaming Examples
Non-streaming mode waits for the complete response before returning. This is simpler to use but provides no intermediate feedback during generation.
Using Hermes (General Purpose)
require "openai"
client = OpenAI::Client.new(
access_token: "choose-any-value",
uri_base: "https://hermes.ai.unturf.com/v1"
)
response = client.chat(
parameters: {
model: "adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic",
messages: [
{ role: "user", content: "Give a Python Fizzbuzz solution in one line of code?" }
],
temperature: 0.5,
max_tokens: 150
}
)
puts response.dig("choices", 0, "message", "content")
Using Qwen 3 Coder (Specialized for Coding)
require "openai"
client = OpenAI::Client.new(
access_token: "choose-any-value",
uri_base: "https://qwen.ai.unturf.com/v1"
)
response = client.chat(
parameters: {
model: "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M",
messages: [
{ role: "user", content: "Give a Python Fizzbuzz solution in one line of code?" }
],
temperature: 0.5,
max_tokens: 150
}
)
puts response.dig("choices", 0, "message", "content")
Streaming Examples
Streaming mode returns chunks of the response as they are generated, providing real-time feedback. This is ideal for interactive applications and long responses.
Using Hermes (General Purpose)
require "openai"
client = OpenAI::Client.new(
access_token: "choose-any-value",
uri_base: "https://hermes.ai.unturf.com/v1"
)
client.chat(
parameters: {
model: "adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic",
messages: [
{ role: "user", content: "Give a Python Fizzbuzz solution in one line of code?" }
],
temperature: 0.5,
max_tokens: 150,
stream: proc do |chunk, _bytesize|
content = chunk.dig("choices", 0, "delta", "content")
print content if content
end
}
)
Using Qwen 3 Coder (Specialized for Coding)
require "openai"
client = OpenAI::Client.new(
access_token: "choose-any-value",
uri_base: "https://qwen.ai.unturf.com/v1"
)
client.chat(
parameters: {
model: "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M",
messages: [
{ role: "user", content: "Give a Python Fizzbuzz solution in one line of code?" }
],
temperature: 0.5,
max_tokens: 150,
stream: proc do |chunk, _bytesize|
content = chunk.dig("choices", 0, "delta", "content")
print content if content
end
}
)
Text-to-Speech Example
Generate audio speech from text using the TTS endpoint. The audio is saved as an MP3 file.
require "openai"
client = OpenAI::Client.new(
access_token: "YOLO",
uri_base: "https://speech.ai.unturf.com/v1"
)
response = client.audio.speech(
parameters: {
model: "tts-1",
voice: "alloy",
input: "I think so therefore, Today is a wonderful day to grow something people love!",
speed: 0.9
}
)
File.binwrite("speech.mp3", response)