Class: TokenMix::Client
- Inherits:
-
Object
- Object
- TokenMix::Client
- Defined in:
- lib/tokenmix.rb
Constant Summary collapse
- DEFAULT_BASE_URL =
'https://api.tokenmix.ai/v1'.freeze
Instance Method Summary collapse
-
#chat(model:, messages:) ⇒ String
Send a chat completion request.
-
#initialize(api_key:, base_url: DEFAULT_BASE_URL) ⇒ Client
constructor
A new instance of Client.
-
#list_models ⇒ Array<String>
List available models.
Constructor Details
#initialize(api_key:, base_url: DEFAULT_BASE_URL) ⇒ Client
Returns a new instance of Client.
17 18 19 20 21 |
# File 'lib/tokenmix.rb', line 17 def initialize(api_key:, base_url: DEFAULT_BASE_URL) raise ArgumentError, 'api_key is required' if api_key.nil? || api_key.empty? @api_key = api_key @base_url = base_url end |
Instance Method Details
#chat(model:, messages:) ⇒ String
Send a chat completion request.
28 29 30 31 |
# File 'lib/tokenmix.rb', line 28 def chat(model:, messages:) response = post('/chat/completions', model: model, messages: ) response.dig('choices', 0, 'message', 'content') end |
#list_models ⇒ Array<String>
List available models.
35 36 37 38 |
# File 'lib/tokenmix.rb', line 35 def list_models response = get('/models') (response['data'] || []).map { |m| m['id'] } end |