Class: LLM::XAI

Inherits:
OpenAI show all
Defined in:
lib/llm/providers/xai.rb,
lib/llm/providers/xai/images.rb

Overview

The XAI class implements a provider for xAI.

Examples:

#!/usr/bin/env ruby
require "llm"

llm = LLM.xai(key: ENV["KEY"])
ses = LLM::Session.new(llm)
ses.talk ["Tell me about this photo", ses.local_file("/images/photo.png")]
ses.messages.select(&:assistant?).each { print "[#{_1.role}]", _1.content, "\n" }

Defined Under Namespace

Classes: Images

Constant Summary

Constants inherited from OpenAI

OpenAI::HOST

Instance Method Summary collapse

Methods inherited from OpenAI

#assistant_role, #complete, #embed, #models, #server_tools, #web_search

Methods inherited from Provider

#assistant_role, #chat, clients, #complete, #developer_role, #embed, #inspect, #models, #persist!, #respond, #schema, #server_tool, #server_tools, #system_role, #tool_role, #tracer, #tracer=, #user_role, #web_search, #with

Constructor Details

#initialize(host: "api.x.ai") ⇒ XAI

Returns a new instance of XAI.

Parameters:

  • host (String) (defaults to: "api.x.ai")

    A regional host or the default ("api.x.ai")

  • key (String, nil)

    The secret key for authentication

See Also:



24
25
26
# File 'lib/llm/providers/xai.rb', line 24

def initialize(host: "api.x.ai", **)
  super
end

Instance Method Details

#default_modelString

Returns the default model for chat completions

see https://docs.x.ai/docs/models grok-4-0709

Returns:

  • (String)


75
76
77
# File 'lib/llm/providers/xai.rb', line 75

def default_model
  "grok-4-0709"
end

#nameSymbol

Returns the provider's name

Returns:

  • (Symbol)

    Returns the provider's name



31
32
33
# File 'lib/llm/providers/xai.rb', line 31

def name
  :xai
end

#filesObject

Raises:

  • (NotImplementedError)


37
38
39
# File 'lib/llm/providers/xai.rb', line 37

def files
  raise NotImplementedError
end

#imagesLLM::XAI::Images

Returns:



43
44
45
# File 'lib/llm/providers/xai.rb', line 43

def images
  LLM::XAI::Images.new(self)
end

#audioObject

Raises:

  • (NotImplementedError)


49
50
51
# File 'lib/llm/providers/xai.rb', line 49

def audio
  raise NotImplementedError
end

#moderationsObject

Raises:

  • (NotImplementedError)


55
56
57
# File 'lib/llm/providers/xai.rb', line 55

def moderations
  raise NotImplementedError
end

#responsesObject

Raises:

  • (NotImplementedError)


61
62
63
# File 'lib/llm/providers/xai.rb', line 61

def responses
  raise NotImplementedError
end

#vector_storesObject

Raises:

  • (NotImplementedError)


67
68
69
# File 'lib/llm/providers/xai.rb', line 67

def vector_stores
  raise NotImplementedError
end