Class: Genai::Chats

Inherits:
Object
  • Object
show all
Defined in:
lib/genai/chat.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Chats

Returns a new instance of Chats.



167
168
169
170
# File 'lib/genai/chat.rb', line 167

def initialize(client)
  @client = client
  @user_sessions = {}
end

Instance Method Details

#clear_all_sessionsObject



194
195
196
# File 'lib/genai/chat.rb', line 194

def clear_all_sessions
  @user_sessions.clear
end

#clear_user_session(user_id) ⇒ Object



190
191
192
# File 'lib/genai/chat.rb', line 190

def clear_user_session(user_id)
  @user_sessions.delete(user_id)
end

#create(model:, config: nil, history: []) ⇒ Object



172
173
174
# File 'lib/genai/chat.rb', line 172

def create(model:, config: nil, history: [])
  Chat.new(client: @client, model: model, config: config, history: history)
end

#get_active_usersObject



202
203
204
# File 'lib/genai/chat.rb', line 202

def get_active_users
  @user_sessions.keys
end

#get_session_countObject



198
199
200
# File 'lib/genai/chat.rb', line 198

def get_session_count
  @user_sessions.length
end

#get_user_session(user_id, model: "gpt-5.5", config: nil) ⇒ Object



176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/genai/chat.rb', line 176

def get_user_session(user_id, model: "gpt-5.5", config: nil)
  unless @user_sessions[user_id]
    @user_sessions[user_id] = create(
      model: model,
      config: config || {
        temperature: 0.7,
        max_tokens: 2048
      }
    )
  end
  
  @user_sessions[user_id]
end