refactor: add OpikDataTrace instance builder. (#16444)

Signed-off-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
-LAN-
2025-03-21 18:09:39 +08:00
committed by GitHub
parent bf90d34c2f
commit 0e2e2db3fa

View File

@@ -33,7 +33,6 @@ from core.ops.entities.trace_entity import (
) )
from core.ops.langfuse_trace.langfuse_trace import LangFuseDataTrace from core.ops.langfuse_trace.langfuse_trace import LangFuseDataTrace
from core.ops.langsmith_trace.langsmith_trace import LangSmithDataTrace 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 core.ops.utils import get_message_data
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_storage import storage 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 models.workflow import WorkflowAppLog, WorkflowRun
from tasks.ops_trace_task import process_trace_tasks 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]] = { provider_config_map: dict[str, dict[str, Any]] = {
TracingProviderEnum.LANGFUSE.value: { TracingProviderEnum.LANGFUSE.value: {
"config_class": LangfuseConfig, "config_class": LangfuseConfig,
@@ -58,7 +64,7 @@ provider_config_map: dict[str, dict[str, Any]] = {
"config_class": OpikConfig, "config_class": OpikConfig,
"secret_keys": ["api_key"], "secret_keys": ["api_key"],
"other_keys": ["project", "url", "workspace"], "other_keys": ["project", "url", "workspace"],
"trace_instance": OpikDataTrace, "trace_instance": lambda config: build_opik_trace_instance(config),
}, },
} }