Skip to content

Commit 019705f

Browse files
authored
chore: update traceroot setting (#3131)
1 parent 95cc607 commit 019705f

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

camel/models/base_model.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
)
2525
from pydantic import BaseModel
2626

27+
from camel.logger import get_logger as camel_get_logger
2728
from camel.messages import OpenAIMessage
2829
from camel.types import (
2930
ChatCompletion,
@@ -34,6 +35,21 @@
3435
)
3536
from camel.utils import BaseTokenCounter
3637

38+
if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
39+
try:
40+
from traceroot import get_logger # type: ignore[import]
41+
from traceroot import trace as observe # type: ignore[import]
42+
43+
logger = get_logger('base_model')
44+
except ImportError:
45+
from camel.utils import observe
46+
47+
logger = camel_get_logger('base_model')
48+
else:
49+
from camel.utils import observe
50+
51+
logger = camel_get_logger('base_model')
52+
3753

3854
class ModelBackendMeta(abc.ABCMeta):
3955
r"""Metaclass that automatically preprocesses messages in run method.
@@ -364,6 +380,7 @@ async def _arun(
364380
"""
365381
pass
366382

383+
@observe()
367384
def run(
368385
self,
369386
messages: List[OpenAIMessage],
@@ -403,14 +420,21 @@ def run(
403420
elif not tools:
404421
tools = None
405422

423+
logger.info("Running model: %s", self.model_type)
424+
logger.info("Messages: %s", messages)
425+
logger.info("Response format: %s", response_format)
426+
logger.info("Tools: %s", tools)
427+
406428
result = self._run(messages, response_format, tools)
429+
logger.info("Result: %s", result)
407430

408431
# Log the response if logging is enabled
409432
if log_path:
410433
self._log_response(log_path, result)
411434

412435
return result
413436

437+
@observe()
414438
async def arun(
415439
self,
416440
messages: List[OpenAIMessage],
@@ -448,7 +472,13 @@ async def arun(
448472
elif not tools:
449473
tools = None
450474

475+
logger.info("Running model: %s", self.model_type)
476+
logger.info("Messages: %s", messages)
477+
logger.info("Response format: %s", response_format)
478+
logger.info("Tools: %s", tools)
479+
451480
result = await self._arun(messages, response_format, tools)
481+
logger.info("Result: %s", result)
452482

453483
# Log the response if logging is enabled
454484
if log_path:

camel/societies/workforce/workforce.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import asyncio
1717
import concurrent.futures
1818
import json
19+
import os
1920
import time
2021
import uuid
2122
from collections import deque
@@ -79,7 +80,15 @@
7980

8081
from .workforce_logger import WorkforceLogger
8182

82-
logger = get_logger(__name__)
83+
if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
84+
try:
85+
import traceroot # type: ignore[import]
86+
87+
logger = traceroot.get_logger('camel')
88+
except ImportError:
89+
logger = get_logger(__name__)
90+
else:
91+
logger = get_logger(__name__)
8392

8493
# Constants for configuration values
8594
MAX_TASK_RETRIES = 3

0 commit comments

Comments
 (0)