|
@@ -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),
|
|
|
},
|
|
|
}
|
|
|
|