Skip to content

Commit d3ebb4c

Browse files
fix: prevent NameError in _arun method when agent_session_id exists (#3630)
Co-authored-by: Wendong-Fan <[email protected]> Co-authored-by: Wendong-Fan <[email protected]>
1 parent 54aed90 commit d3ebb4c

File tree

1 file changed

+20
-39
lines changed

1 file changed

+20
-39
lines changed

camel/models/openai_model.py

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,24 @@ def token_counter(self) -> BaseTokenCounter:
270270
self._token_counter = OpenAITokenCounter(self.model_type)
271271
return self._token_counter
272272

273+
def _log_and_trace(self) -> None:
274+
r"""Update Langfuse trace with session metadata and log it."""
275+
agent_session_id = get_current_agent_session_id() or "no-session-id"
276+
model_type_str = str(self.model_type)
277+
metadata = {
278+
"source": "camel",
279+
"agent_id": agent_session_id,
280+
"agent_type": "camel_chat_agent",
281+
"model_type": model_type_str,
282+
}
283+
metadata = {k: str(v) for k, v in metadata.items()}
284+
update_langfuse_trace(
285+
session_id=agent_session_id,
286+
metadata=metadata,
287+
tags=["CAMEL-AI", model_type_str],
288+
)
289+
logger.info(f"metadata: {metadata}")
290+
273291
@observe()
274292
def _run(
275293
self,
@@ -299,26 +317,7 @@ def _run(
299317
or `ChatCompletionStreamManager[BaseModel]` for
300318
structured output streaming.
301319
"""
302-
303-
# Update Langfuse trace with current agent session and metadata
304-
agent_session_id = get_current_agent_session_id()
305-
model_type_str = str(self.model_type)
306-
if not agent_session_id:
307-
agent_session_id = "no-session-id"
308-
metadata = {
309-
"source": "camel",
310-
"agent_id": agent_session_id,
311-
"agent_type": "camel_chat_agent",
312-
"model_type": model_type_str,
313-
}
314-
metadata = {k: str(v) for k, v in metadata.items()}
315-
if agent_session_id:
316-
update_langfuse_trace(
317-
session_id=agent_session_id,
318-
metadata=metadata,
319-
tags=["CAMEL-AI", model_type_str],
320-
)
321-
logger.info(f"metadata: {metadata}")
320+
self._log_and_trace()
322321

323322
messages = self._adapt_messages_for_o1_models(messages)
324323
response_format = response_format or self.model_config_dict.get(
@@ -371,25 +370,7 @@ async def _arun(
371370
`AsyncChatCompletionStreamManager[BaseModel]` for
372371
structured output streaming.
373372
"""
374-
375-
# Update Langfuse trace with current agent session and metadata
376-
agent_session_id = get_current_agent_session_id()
377-
model_type_str = str(self.model_type)
378-
if not agent_session_id:
379-
agent_session_id = "no-session-id"
380-
metadata = {
381-
"source": "camel",
382-
"agent_id": agent_session_id,
383-
"agent_type": "camel_chat_agent",
384-
"model_type": model_type_str,
385-
}
386-
metadata = {k: str(v) for k, v in metadata.items()}
387-
update_langfuse_trace(
388-
session_id=agent_session_id,
389-
metadata=metadata,
390-
tags=["CAMEL-AI", model_type_str],
391-
)
392-
logger.info(f"metadata: {metadata}")
373+
self._log_and_trace()
393374

394375
messages = self._adapt_messages_for_o1_models(messages)
395376
response_format = response_format or self.model_config_dict.get(

0 commit comments

Comments
 (0)