Class: Genai::Chats
- Inherits:
-
Object
- Object
- Genai::Chats
- Defined in:
- lib/genai/chat.rb
Instance Method Summary collapse
- #clear_all_sessions ⇒ Object
- #clear_user_session(user_id) ⇒ Object
- #create(model:, config: nil, history: []) ⇒ Object
- #get_active_users ⇒ Object
- #get_session_count ⇒ Object
- #get_user_session(user_id, model: "gpt-5.5", config: nil) ⇒ Object
-
#initialize(client) ⇒ Chats
constructor
A new instance of Chats.
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_sessions ⇒ Object
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_users ⇒ Object
202 203 204 |
# File 'lib/genai/chat.rb', line 202 def get_active_users @user_sessions.keys end |
#get_session_count ⇒ Object
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 |