MCPcopy Create free account
hub / github.com/LMCache/LMBenchmark / UserSession

Class UserSession

agentic/agentic-qa.py:189–298  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187
188
189class UserSession:
190
191 def __init__(self, user_config: UserConfig):
192 self.user_config = user_config
193 self.last_request_time = None
194 self.chat_history = ChatHistory()
195 self.round_id = 0
196
197 self.has_unfinished_request = 0
198 self.last_unfinished_log = 0
199
200 self.prompt_lengths = []
201 self.generation_lengths = []
202 self.ttfts = []
203 self.generation_times = []
204 self.launch_times = []
205 self.finish_times = []
206
207 self.finished = False
208
209 self.agentIDs = []
210 self.roundIDs = []
211 self.inputs = []
212 self.outputs = []
213
214 def _update_result(self, response: Response):
215 self.prompt_lengths.append(response.prompt_tokens)
216 self.generation_lengths.append(response.generation_tokens)
217 self.ttfts.append(response.ttft)
218 self.generation_times.append(response.generation_time)
219 self.launch_times.append(response.launch_time)
220 self.finish_times.append(response.finish_time)
221 self.agentIDs.append(response.agentID)
222 self.outputs.append(response.body)
223
224 def _launch_new_request(self, timestamp: float, request_executor: RequestExecutor, request_id: int):
225 agentID = self.user_config.trace[self.round_id]['agent_id'][request_id]
226 max_tokens = self.user_config.trace[self.round_id]['output_tokens'][request_id]
227 input_from = self.user_config.trace[self.round_id]['input_from'][request_id]
228
229 self.chat_history.on_user_query("hihihihihi", agentID, self.round_id)
230 messages = self.chat_history.get_messages_for_openai(input_from, agentID, self.round_id)
231 request_executor.launch_request(
232 messages,
233 max_tokens,
234 self._on_request_finished,
235 agentID,
236 self.round_id,
237 messages.copy(),
238 extra_headers={"x-user-id": str(self.user_config.user_id)},
239 )
240 self.has_unfinished_request += 1
241 self.last_request_time = timestamp
242
243 def _on_request_finished(self, response: Response, agentID: int, roundID: int, messages: str):
244 self.chat_history.on_system_response(response.body, agentID, roundID)
245 self.has_unfinished_request -= 1
246 logger.debug(

Callers 1

_create_user_sessionMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected