Skip to content

Commit d135b93

Browse files
committed
2 parents d218e2f + 59a2fe3 commit d135b93

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

parea/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def str2bool(v):
1616

1717

1818
TURN_OFF_PAREA_LOGGING = str2bool(os.getenv("TURN_OFF_PAREA_LOGGING", False))
19+
TURN_OFF_PAREA_EVAL_LOGGING = str2bool(os.getenv("TURN_OFF_PAREA_EVAL_LOGGING", False))
1920

2021
PAREA_OS_ENV_EXPERIMENT_UUID = "_PAREA_EXPERIMENT_UUID"
2122
PAREA_DVC_DIR = ".parea"

parea/utils/trace_utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from functools import wraps
1313
from random import random
1414

15-
from parea.constants import PAREA_OS_ENV_EXPERIMENT_UUID
15+
from parea.constants import PAREA_OS_ENV_EXPERIMENT_UUID, TURN_OFF_PAREA_EVAL_LOGGING
1616
from parea.helpers import gen_trace_id, is_logging_disabled, timezone_aware_now
1717
from parea.parea_logger import parea_logger
1818
from parea.schemas import EvaluationResult
@@ -315,7 +315,10 @@ def call_eval_funcs_then_log(trace_id: str, eval_funcs: List[Callable] = None):
315315
scores = []
316316
for func in eval_funcs:
317317
try:
318-
score = trace()(func)(data)
318+
if TURN_OFF_PAREA_EVAL_LOGGING:
319+
score = func(data)
320+
else:
321+
score = trace()(func)(data)
319322
if isinstance(score, EvaluationResult):
320323
scores.append(score)
321324
elif isinstance(score, list):

parea/wrapper/utils.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import tiktoken
99
from openai import __version__ as openai_version
1010

11-
from parea.constants import ALL_NON_AZURE_MODELS_INFO, AZURE_MODEL_INFO
11+
from parea.constants import ALL_NON_AZURE_MODELS_INFO, AZURE_MODEL_INFO, TURN_OFF_PAREA_EVAL_LOGGING
1212
from parea.parea_logger import parea_logger
1313
from parea.schemas.log import LLMInputs, Message, ModelParams, Role
1414
from parea.schemas.models import UpdateTraceScenario
@@ -21,11 +21,13 @@
2121

2222

2323
# https://gist.github.com/JettJones/c236494013f22723c1822126df944b12
24-
def skip_decorator_if_func_in_stack(*funcs_to_check: Callable) -> Callable:
24+
def skip_decorator_if_func_in_stack_for_evals(*funcs_to_check: Callable) -> Callable:
2525
def decorator_wrapper(decorator: Callable) -> Callable:
2626
def new_decorator(self, func: Callable) -> Callable: # Include self
2727
@wraps(func)
2828
def wrapper(*args, **kwargs):
29+
if not TURN_OFF_PAREA_EVAL_LOGGING:
30+
return decorator(self, func)(*args, **kwargs) # Include self
2931
frame = sys._getframe().f_back
3032
caller_names = ""
3133
while frame:

parea/wrapper/wrapper.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from parea.helpers import is_logging_disabled, timezone_aware_now
1515
from parea.schemas.models import TraceLog, UpdateLog, UpdateTraceScenario
1616
from parea.utils.trace_utils import call_eval_funcs_then_log, execution_order_counters, fill_trace_data, logger_update_record, trace_context, trace_data
17-
from parea.wrapper.utils import safe_format_template_to_prompt, skip_decorator_if_func_in_stack
17+
from parea.wrapper.utils import safe_format_template_to_prompt, skip_decorator_if_func_in_stack_for_evals
1818

1919
logger = logging.getLogger()
2020

@@ -130,6 +130,7 @@ def _init_trace(self, kwargs) -> Tuple[str, datetime, contextvars.Token]:
130130

131131
return trace_id, start_time, token
132132

133+
@skip_decorator_if_func_in_stack_for_evals(call_eval_funcs_then_log, _make_evaluations)
133134
def async_decorator(self, orig_func: Callable) -> Callable:
134135
@functools.wraps(orig_func)
135136
async def wrapper(*args, **kwargs):
@@ -161,6 +162,7 @@ async def wrapper(*args, **kwargs):
161162

162163
return wrapper
163164

165+
@skip_decorator_if_func_in_stack_for_evals(call_eval_funcs_then_log, _make_evaluations)
164166
def sync_decorator(self, orig_func: Callable) -> Callable:
165167
@functools.wraps(orig_func)
166168
def wrapper(*args, **kwargs):

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
66
[tool.poetry]
77
name = "parea-ai"
88
packages = [{ include = "parea" }]
9-
version = "0.2.189"
9+
version = "0.2.190"
1010
description = "Parea python sdk"
1111
readme = "README.md"
1212
authors = ["joel-parea-ai <[email protected]>"]

0 commit comments

Comments
 (0)