CSTM-2 Ruby SDK
Official client for the CareerStudioMax CSTM-2 API — 8 independent, career-native model families.
Install
gem install careerstudiomax-cstm2
Or in your Gemfile:
gem 'careerstudiomax-cstm2'
Quickstart
require 'cstm2'
client = CSTM2::Client.new('cstm_lm_your_key_here')
resp = client.careerlm.chat(messages: [{ role: 'user', content: 'Write a cover letter opener for a Senior PM role' }])
puts resp['choices'][0]['message']['content']
Streaming
client.careerlm.chat_stream(messages: [{ role: 'user', content: 'Draft a resignation letter' }]) do |event|
print event['text']
end
Each model family needs its own key
A cstm_lm_* key only works on careerlm methods; a cstm_em_* key only works on careerembed, and so on. Generate one key per family you use at careerstudiomax.com/developer.
| Family | Client method | Key prefix |
|---|---|---|
| CareerLM | client.careerlm |
cstm_lm_ |
| CareerEmbed | client.careerembed |
cstm_em_ |
| CareerScore | client.careerscore |
cstm_sc_ |
| CareerAgent | client.careeragent |
cstm_ag_ |
| CareerVoice | client.careervoice |
cstm_vc_ |
| CareerVision | client.careervision |
cstm_vi_ |
| CareerVideo | client.careervideo |
cstm_vd_ |
| CareerWebAPI | client.careerwebapi |
cstm_wb_ |
Errors
begin
client..similarity('Python developer', 'Software engineer, Python')
rescue CSTM2::Error => e
puts "#{e.code} #{e.status} #{e.}"
end
Requires Ruby 3.0+. Full endpoint reference: careerstudiomax.com/developer