onTrialStart method

  1. @override
Future<void> onTrialStart(
  1. Trial trial,
  2. EvalTask task
)
override

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,
      },
    ),
  );
}