diff --git a/api/core/ops/ops_trace_manager.py b/api/core/ops/ops_trace_manager.py index 9e4672ce5..916509cd9 100644 --- a/api/core/ops/ops_trace_manager.py +++ b/api/core/ops/ops_trace_manager.py @@ -33,7 +33,6 @@ from core.ops.entities.trace_entity import ( ) from core.ops.langfuse_trace.langfuse_trace import LangFuseDataTrace from core.ops.langsmith_trace.langsmith_trace import LangSmithDataTrace -from core.ops.opik_trace.opik_trace import OpikDataTrace from core.ops.utils import get_message_data from extensions.ext_database import db from extensions.ext_storage import storage @@ -41,6 +40,13 @@ from models.model import App, AppModelConfig, Conversation, Message, MessageFile from models.workflow import WorkflowAppLog, WorkflowRun from tasks.ops_trace_task import process_trace_tasks + +def build_opik_trace_instance(config: OpikConfig): + from core.ops.opik_trace.opik_trace import OpikDataTrace + + return OpikDataTrace(config) + + provider_config_map: dict[str, dict[str, Any]] = { TracingProviderEnum.LANGFUSE.value: { "config_class": LangfuseConfig, @@ -58,7 +64,7 @@ provider_config_map: dict[str, dict[str, Any]] = { "config_class": OpikConfig, "secret_keys": ["api_key"], "other_keys": ["project", "url", "workspace"], - "trace_instance": OpikDataTrace, + "trace_instance": lambda config: build_opik_trace_instance(config), }, }