Просмотр исходного кода

fix: add before send to remove langfuse defaultErrorResponse (#8361)

tags/0.8.3
Joe 1 год назад
Родитель
Сommit
84ac5ccc8f
Аккаунт пользователя с таким Email не найден
2 измененных файлов: 28 добавлений и 6 удалений
  1. 10
    0
      api/extensions/ext_sentry.py
  2. 18
    6
      api/services/ops_service.py

+ 10
- 0
api/extensions/ext_sentry.py Просмотреть файл

@@ -6,6 +6,15 @@ from sentry_sdk.integrations.flask import FlaskIntegration
from werkzeug.exceptions import HTTPException


def before_send(event, hint):
if "exc_info" in hint:
exc_type, exc_value, tb = hint["exc_info"]
if parse_error.defaultErrorResponse in str(exc_value):
return None

return event


def init_app(app):
if app.config.get("SENTRY_DSN"):
sentry_sdk.init(
@@ -16,4 +25,5 @@ def init_app(app):
profiles_sample_rate=app.config.get("SENTRY_PROFILES_SAMPLE_RATE", 1.0),
environment=app.config.get("DEPLOY_ENV"),
release=f"dify-{app.config.get('CURRENT_VERSION')}-{app.config.get('COMMIT_SHA')}",
before_send=before_send,
)

+ 18
- 6
api/services/ops_service.py Просмотреть файл

@@ -31,16 +31,28 @@ class OpsService:
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)
new_decrypt_tracing_config.update(
{"project_url": "{host}/project/{key}".format(host=decrypt_tracing_config.get("host"), key=project_key)}
)
try:
project_key = OpsTraceManager.get_trace_config_project_key(decrypt_tracing_config, tracing_provider)
new_decrypt_tracing_config.update(
{
"project_url": "{host}/project/{key}".format(
host=decrypt_tracing_config.get("host"), key=project_key
)
}
)
except Exception:
new_decrypt_tracing_config.update(
{"project_url": "{host}/".format(host=decrypt_tracing_config.get("host"))}
)

if tracing_provider == "langsmith" and (
"project_url" not in decrypt_tracing_config or not decrypt_tracing_config.get("project_url")
):
project_url = OpsTraceManager.get_trace_config_project_url(decrypt_tracing_config, tracing_provider)
new_decrypt_tracing_config.update({"project_url": project_url})
try:
project_url = OpsTraceManager.get_trace_config_project_url(decrypt_tracing_config, tracing_provider)
new_decrypt_tracing_config.update({"project_url": project_url})
except Exception:
new_decrypt_tracing_config.update({"project_url": "https://smith.langchain.com/"})

trace_config_data.tracing_config = new_decrypt_tracing_config
return trace_config_data.to_dict()

Загрузка…
Отмена
Сохранить