Assisters API
SDKs

Ruby SDK

Install and use the Assisters Ruby SDK

Installation

gem install assisters

Or add to your Gemfile:

gem 'assisters'

Quick Start

require 'assisters'

client = Assisters::Client.new(api_key: ENV['ASSISTERS_API_KEY'])

response = client.chat.completions.create(
  model: 'assisters-chat-v1',
  messages: [{ role: 'user', content: 'Hello, world!' }]
)

puts response.choices.first.message.content

Available Methods

MethodDescription
client.chat.completions.create(**params)Create a chat completion; pass stream: true for streaming
client.embeddings.create(**params)Generate embeddings for one or more inputs
client.moderations.create(**params)Moderate text content
client.rerank.create(**params)Rerank documents against a query
client.models.listList all available models
client.audio.transcriptions.create(**params)Transcribe audio to text

Parameters Reference

# chat/completions
client.chat.completions.create(
  model: 'assisters-chat-v1',
  messages: [{ role: 'user', content: '...' }],
  temperature: 0.7,   # optional
  max_tokens: 1024,   # optional
  stream: false       # optional
)

# embeddings
client.embeddings.create(
  model: 'assisters-chat-v1',
  input: ['text one', 'text two']
)

# rerank
client.rerank.create(
  model: 'assisters-chat-v1',
  query: 'search query',
  documents: ['doc 1', 'doc 2'],
  top_n: 3
)

# audio/transcriptions
client.audio.transcriptions.create(
  file: File.open('/path/to/audio.mp3'),
  model: 'assisters-chat-v1',
  language: 'en'
)

Streaming

client.chat.completions.create(
  model: 'assisters-chat-v1',
  messages: [{ role: 'user', content: 'Tell me a story' }],
  stream: true
) do |chunk|
  print chunk.choices.first.delta.content
  $stdout.flush
end

Error Handling

begin
  response = client.chat.completions.create(...)
rescue Assisters::APIError => e
  puts "API error #{e.status}: #{e.message}"
rescue Assisters::NetworkError => e
  puts "Network error: #{e.message}"
end