From 72172c2240627e76f048181282858235d4fc0c53 Mon Sep 17 00:00:00 2001 From: Bowen Liang Date: Sun, 11 May 2025 23:57:53 +0800 Subject: [PATCH] update --- api/core/ops/entities/config_entity.py | 4 ++-- api/core/ops/ops_trace_manager.py | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/api/core/ops/entities/config_entity.py b/api/core/ops/entities/config_entity.py index 874b2800b2..f2d1bd305a 100644 --- a/api/core/ops/entities/config_entity.py +++ b/api/core/ops/entities/config_entity.py @@ -1,9 +1,9 @@ -from enum import Enum +from enum import StrEnum from pydantic import BaseModel, ValidationInfo, field_validator -class TracingProviderEnum(Enum): +class TracingProviderEnum(StrEnum): LANGFUSE = "langfuse" LANGSMITH = "langsmith" OPIK = "opik" diff --git a/api/core/ops/ops_trace_manager.py b/api/core/ops/ops_trace_manager.py index 12a49a617f..1482e2e11e 100644 --- a/api/core/ops/ops_trace_manager.py +++ b/api/core/ops/ops_trace_manager.py @@ -33,9 +33,7 @@ from core.ops.entities.trace_entity import ( TraceTaskName, WorkflowTraceInfo, ) -from core.ops.langsmith_trace.langsmith_trace import LangSmithDataTrace from core.ops.utils import get_message_data -from core.ops.weave_trace.weave_trace import WeaveDataTrace from extensions.ext_database import db from extensions.ext_storage import storage from models.model import App, AppModelConfig, Conversation, Message, MessageFile, TraceAppConfig @@ -56,33 +54,37 @@ def build_langsmith_trace_instance(config: LangfuseConfig): def build_opik_trace_instance(config: LangSmithConfig): + from core.ops.langsmith_trace.langsmith_trace import LangSmithDataTrace + return LangSmithDataTrace(config) def build_weave_trace_instance(config: WeaveConfig): + from core.ops.weave_trace.weave_trace import WeaveDataTrace + return WeaveDataTrace(config) provider_config_map: dict[str, dict[str, Any]] = { - TracingProviderEnum.LANGFUSE.value: { + TracingProviderEnum.LANGFUSE: { "config_class": LangfuseConfig, "secret_keys": ["public_key", "secret_key"], "other_keys": ["host", "project_key"], "trace_instance": lambda config: build_langfuse_trace_instance(config), }, - TracingProviderEnum.LANGSMITH.value: { + TracingProviderEnum.LANGSMITH: { "config_class": LangSmithConfig, "secret_keys": ["api_key"], "other_keys": ["project", "endpoint"], "trace_instance": lambda config: build_langsmith_trace_instance(config), }, - TracingProviderEnum.OPIK.value: { + TracingProviderEnum.OPIK: { "config_class": OpikConfig, "secret_keys": ["api_key"], "other_keys": ["project", "url", "workspace"], "trace_instance": lambda config: build_opik_trace_instance(config), }, - TracingProviderEnum.WEAVE.value: { + TracingProviderEnum.WEAVE: { "config_class": WeaveConfig, "secret_keys": ["api_key"], "other_keys": ["project", "entity", "endpoint"],