|
|
|
@@ -25,7 +25,7 @@ from core.ops.langsmith_trace.entities.langsmith_trace_entity import ( |
|
|
|
LangSmithRunType, |
|
|
|
LangSmithRunUpdateModel, |
|
|
|
) |
|
|
|
from core.ops.utils import filter_none_values |
|
|
|
from core.ops.utils import filter_none_values, generate_dotted_order |
|
|
|
from extensions.ext_database import db |
|
|
|
from models.model import EndUser, MessageFile |
|
|
|
from models.workflow import WorkflowNodeExecution |
|
|
|
@@ -62,6 +62,16 @@ class LangSmithDataTrace(BaseTraceInstance): |
|
|
|
self.generate_name_trace(trace_info) |
|
|
|
|
|
|
|
def workflow_trace(self, trace_info: WorkflowTraceInfo): |
|
|
|
trace_id = trace_info.message_id or trace_info.workflow_app_log_id or trace_info.workflow_run_id |
|
|
|
message_dotted_order = ( |
|
|
|
generate_dotted_order(trace_info.message_id, trace_info.start_time) if trace_info.message_id else None |
|
|
|
) |
|
|
|
workflow_dotted_order = generate_dotted_order( |
|
|
|
trace_info.workflow_app_log_id or trace_info.workflow_run_id, |
|
|
|
trace_info.workflow_data.created_at, |
|
|
|
message_dotted_order, |
|
|
|
) |
|
|
|
|
|
|
|
if trace_info.message_id: |
|
|
|
message_run = LangSmithRunModel( |
|
|
|
id=trace_info.message_id, |
|
|
|
@@ -76,6 +86,8 @@ class LangSmithDataTrace(BaseTraceInstance): |
|
|
|
}, |
|
|
|
tags=["message", "workflow"], |
|
|
|
error=trace_info.error, |
|
|
|
trace_id=trace_id, |
|
|
|
dotted_order=message_dotted_order, |
|
|
|
) |
|
|
|
self.add_run(message_run) |
|
|
|
|
|
|
|
@@ -95,6 +107,8 @@ class LangSmithDataTrace(BaseTraceInstance): |
|
|
|
error=trace_info.error, |
|
|
|
tags=["workflow"], |
|
|
|
parent_run_id=trace_info.message_id or None, |
|
|
|
trace_id=trace_id, |
|
|
|
dotted_order=workflow_dotted_order, |
|
|
|
) |
|
|
|
|
|
|
|
self.add_run(langsmith_run) |
|
|
|
@@ -177,6 +191,7 @@ class LangSmithDataTrace(BaseTraceInstance): |
|
|
|
else: |
|
|
|
run_type = LangSmithRunType.tool |
|
|
|
|
|
|
|
node_dotted_order = generate_dotted_order(node_execution_id, created_at, workflow_dotted_order) |
|
|
|
langsmith_run = LangSmithRunModel( |
|
|
|
total_tokens=node_total_tokens, |
|
|
|
name=node_type, |
|
|
|
@@ -191,6 +206,9 @@ class LangSmithDataTrace(BaseTraceInstance): |
|
|
|
}, |
|
|
|
parent_run_id=trace_info.workflow_app_log_id or trace_info.workflow_run_id, |
|
|
|
tags=["node_execution"], |
|
|
|
id=node_execution_id, |
|
|
|
trace_id=trace_id, |
|
|
|
dotted_order=node_dotted_order, |
|
|
|
) |
|
|
|
|
|
|
|
self.add_run(langsmith_run) |