onTrialStart method
Called when a trial starts.
Implementation
@override
Future<void> onTrialStart(Trial trial, EvalTask task) async {
final traceId = _traceIdFor(trial);
_client.enqueue(
LangfuseEvent(
id: _uuid.v4(),
type: 'trace-create',
timestamp: trial.startedAt,
body: {
'id': traceId,
'timestamp': trial.startedAt.toUtc().toIso8601String(),
'name': '${trial.suiteName}/${trial.taskId}#${trial.trialIndex}',
'environment': config.environment,
'userId': trial.runName, // 在 dashboard 上按 run 过滤
'sessionId': trial.suiteName,
'tags': [
'suite:${trial.suiteName}',
'task:${trial.taskId}',
'run:${trial.runName}',
'trial:${trial.trialIndex}',
],
'input': {
'taskId': task.id,
'description': task.description,
'input': task.input,
},
'metadata': {
'taskMetadata': task.metadata,
'trialIndex': trial.trialIndex,
},
if (config.release != null) 'release': config.release,
if (config.version != null) 'version': config.version,
},
),
);
}