|
|
|
|
|
|
|
|
message_id: Optional[str] = None, |
|
|
message_id: Optional[str] = None, |
|
|
workflow_run: Optional[WorkflowRun] = None, |
|
|
workflow_run: Optional[WorkflowRun] = None, |
|
|
conversation_id: Optional[str] = None, |
|
|
conversation_id: Optional[str] = None, |
|
|
|
|
|
user_id: Optional[str] = None, |
|
|
timer: Optional[Any] = None, |
|
|
timer: Optional[Any] = None, |
|
|
**kwargs |
|
|
**kwargs |
|
|
): |
|
|
): |
|
|
|
|
|
|
|
|
self.message_id = message_id |
|
|
self.message_id = message_id |
|
|
self.workflow_run = workflow_run |
|
|
self.workflow_run = workflow_run |
|
|
self.conversation_id = conversation_id |
|
|
self.conversation_id = conversation_id |
|
|
|
|
|
self.user_id = user_id |
|
|
self.timer = timer |
|
|
self.timer = timer |
|
|
self.kwargs = kwargs |
|
|
self.kwargs = kwargs |
|
|
self.file_base_url = os.getenv("FILES_URL", "http://127.0.0.1:5001") |
|
|
self.file_base_url = os.getenv("FILES_URL", "http://127.0.0.1:5001") |
|
|
|
|
|
|
|
|
def preprocess(self): |
|
|
def preprocess(self): |
|
|
preprocess_map = { |
|
|
preprocess_map = { |
|
|
TraceTaskName.CONVERSATION_TRACE: lambda: self.conversation_trace(**self.kwargs), |
|
|
TraceTaskName.CONVERSATION_TRACE: lambda: self.conversation_trace(**self.kwargs), |
|
|
TraceTaskName.WORKFLOW_TRACE: lambda: self.workflow_trace(self.workflow_run, self.conversation_id), |
|
|
|
|
|
|
|
|
TraceTaskName.WORKFLOW_TRACE: lambda: self.workflow_trace( |
|
|
|
|
|
self.workflow_run, self.conversation_id, self.user_id |
|
|
|
|
|
), |
|
|
TraceTaskName.MESSAGE_TRACE: lambda: self.message_trace(self.message_id), |
|
|
TraceTaskName.MESSAGE_TRACE: lambda: self.message_trace(self.message_id), |
|
|
TraceTaskName.MODERATION_TRACE: lambda: self.moderation_trace( |
|
|
TraceTaskName.MODERATION_TRACE: lambda: self.moderation_trace( |
|
|
self.message_id, self.timer, **self.kwargs |
|
|
self.message_id, self.timer, **self.kwargs |
|
|
|
|
|
|
|
|
def conversation_trace(self, **kwargs): |
|
|
def conversation_trace(self, **kwargs): |
|
|
return kwargs |
|
|
return kwargs |
|
|
|
|
|
|
|
|
def workflow_trace(self, workflow_run: WorkflowRun, conversation_id): |
|
|
|
|
|
|
|
|
def workflow_trace(self, workflow_run: WorkflowRun, conversation_id, user_id): |
|
|
workflow_id = workflow_run.workflow_id |
|
|
workflow_id = workflow_run.workflow_id |
|
|
tenant_id = workflow_run.tenant_id |
|
|
tenant_id = workflow_run.tenant_id |
|
|
workflow_run_id = workflow_run.id |
|
|
workflow_run_id = workflow_run.id |
|
|
|
|
|
|
|
|
"total_tokens": total_tokens, |
|
|
"total_tokens": total_tokens, |
|
|
"file_list": file_list, |
|
|
"file_list": file_list, |
|
|
"triggered_form": workflow_run.triggered_from, |
|
|
"triggered_form": workflow_run.triggered_from, |
|
|
|
|
|
"user_id": user_id, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
workflow_trace_info = WorkflowTraceInfo( |
|
|
workflow_trace_info = WorkflowTraceInfo( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TraceQueueManager: |
|
|
class TraceQueueManager: |
|
|
def __init__(self, app_id=None): |
|
|
|
|
|
|
|
|
def __init__(self, app_id=None, user_id=None): |
|
|
global trace_manager_timer |
|
|
global trace_manager_timer |
|
|
|
|
|
|
|
|
self.app_id = app_id |
|
|
self.app_id = app_id |
|
|
|
|
|
self.user_id = user_id |
|
|
self.trace_instance = OpsTraceManager.get_ops_trace_instance(app_id) |
|
|
self.trace_instance = OpsTraceManager.get_ops_trace_instance(app_id) |
|
|
self.flask_app = current_app._get_current_object() |
|
|
self.flask_app = current_app._get_current_object() |
|
|
if trace_manager_timer is None: |
|
|
if trace_manager_timer is None: |