Parcourir la source

fix: langsmith message_trace end_user_data session_id error (#5759)

Joe il y a 11 mois
Parent
commit
f637ae4794

+ 3 - 1
api/core/ops/langfuse_trace/langfuse_trace.py

@@ -215,7 +215,9 @@ class LangFuseDataTrace(BaseTraceInstance):
             end_user_data: EndUser = db.session.query(EndUser).filter(
                 EndUser.id == message_data.from_end_user_id
             ).first()
-            user_id = end_user_data.session_id
+            if end_user_data is not None:
+                user_id = end_user_data.session_id
+                metadata["user_id"] = user_id
 
         trace_data = LangfuseTrace(
             id=message_id,

+ 6 - 4
api/core/ops/langsmith_trace/langsmith_trace.py

@@ -183,13 +183,15 @@ class LangSmithDataTrace(BaseTraceInstance):
         message_id = message_data.id
 
         user_id = message_data.from_account_id
+        metadata["user_id"] = user_id
+
         if message_data.from_end_user_id:
             end_user_data: EndUser = db.session.query(EndUser).filter(
                 EndUser.id == message_data.from_end_user_id
-            ).first().session_id
-            end_user_id = end_user_data.session_id
-            metadata["end_user_id"] = end_user_id
-            metadata["user_id"] = user_id
+            ).first()
+            if end_user_data is not None:
+                end_user_id = end_user_data.session_id
+                metadata["end_user_id"] = end_user_id
 
         message_run = LangSmithRunModel(
             input_tokens=trace_info.message_tokens,