From e7afee117672249560a88bd10ff033f3c3b794d4 Mon Sep 17 00:00:00 2001 From: "Charlie.Wei" Date: Tue, 27 Aug 2024 11:25:56 +0800 Subject: [PATCH] Langfuse view button (#7684) --- api/core/ops/entities/config_entity.py | 1 - api/services/ops_service.py | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/api/core/ops/entities/config_entity.py b/api/core/ops/entities/config_entity.py index 447f668e26557a..221e6239ab9302 100644 --- a/api/core/ops/entities/config_entity.py +++ b/api/core/ops/entities/config_entity.py @@ -21,7 +21,6 @@ class LangfuseConfig(BaseTracingConfig): """ public_key: str secret_key: str - project_key: str host: str = 'https://api.langfuse.com' @field_validator("host") diff --git a/api/services/ops_service.py b/api/services/ops_service.py index 0650f2cb27f1ce..35aa6817e11cc8 100644 --- a/api/services/ops_service.py +++ b/api/services/ops_service.py @@ -26,16 +26,15 @@ def get_tracing_app_config(cls, app_id: str, tracing_provider: str): decrypt_tracing_config = OpsTraceManager.decrypt_tracing_config( tenant_id, tracing_provider, trace_config_data.tracing_config ) + new_decrypt_tracing_config = OpsTraceManager.obfuscated_decrypt_token(tracing_provider, decrypt_tracing_config) + if tracing_provider == "langfuse" and ( "project_key" not in decrypt_tracing_config or not decrypt_tracing_config.get("project_key") ): project_key = OpsTraceManager.get_trace_config_project_key(decrypt_tracing_config, tracing_provider) - decrypt_tracing_config["project_key"] = project_key - - decrypt_tracing_config = OpsTraceManager.obfuscated_decrypt_token(tracing_provider, decrypt_tracing_config) - - trace_config_data.tracing_config = decrypt_tracing_config + new_decrypt_tracing_config.update({"project_key": project_key}) + trace_config_data.tracing_config = new_decrypt_tracing_config return trace_config_data.to_dict() @classmethod @@ -79,7 +78,7 @@ def create_tracing_app_config(cls, app_id: str, tracing_provider: str, tracing_c # get tenant id tenant_id = db.session.query(App).filter(App.id == app_id).first().tenant_id tracing_config = OpsTraceManager.encrypt_tracing_config(tenant_id, tracing_provider, tracing_config) - if tracing_provider == "langfuse": + if tracing_provider == "langfuse" and project_key: tracing_config["project_key"] = project_key trace_config_data = TraceAppConfig( app_id=app_id,