Skip to content

Commit f5c8bff

Browse files
committed
add api for evals
1 parent d37b718 commit f5c8bff

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

dd-trace-api/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ excludedClassesCoverage += [
3535
'datadog.trace.api.llmobs.LLMObsSpan',
3636
'datadog.trace.api.llmobs.noop.NoOpLLMObsSpan',
3737
'datadog.trace.api.llmobs.noop.NoOpLLMObsSpanFactory',
38+
'datadog.trace.api.llmobs.noop.NoOpLLMObsEvalProcessor',
3839
'datadog.trace.api.experimental.DataStreamsCheckpointer',
3940
'datadog.trace.api.experimental.DataStreamsCheckpointer.NoOp',
4041
'datadog.trace.api.experimental.DataStreamsContextCarrier',

dd-trace-api/src/main/java/datadog/trace/api/llmobs/LLMObs.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package datadog.trace.api.llmobs;
22

3+
import datadog.trace.api.llmobs.noop.NoOpLLMObsEvalProcessor;
34
import datadog.trace.api.llmobs.noop.NoOpLLMObsSpanFactory;
5+
import java.util.Map;
46
import javax.annotation.Nullable;
57

68
public class LLMObs {
79
protected static LLMObsSpanFactory SPAN_FACTORY = NoOpLLMObsSpanFactory.INSTANCE;
10+
protected static LLMObsEvalProcessor EVAL_PROCESSOR = NoOpLLMObsEvalProcessor.INSTANCE;
811

912
public static LLMObsSpan startLLMSpan(
1013
String spanName,
@@ -40,6 +43,10 @@ public static LLMObsSpan startWorkflowSpan(
4043
return SPAN_FACTORY.startWorkflowSpan(spanName, mlApp, sessionID);
4144
}
4245

46+
public static void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, String categoricalValue, Map<String, Object> tags) {}
47+
48+
public static void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, double numericalValue, Map<String, Object> tags) {}
49+
4350
public interface LLMObsSpanFactory {
4451
LLMObsSpan startLLMSpan(
4552
String spanName,
@@ -57,4 +64,9 @@ LLMObsSpan startLLMSpan(
5764
LLMObsSpan startWorkflowSpan(
5865
String spanName, @Nullable String mlApp, @Nullable String sessionID);
5966
}
67+
68+
public interface LLMObsEvalProcessor {
69+
void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, double numericalValue, Map<String, Object> tags);
70+
void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, String categoricalValue, Map<String, Object> tags);
71+
}
6072
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package datadog.trace.api.llmobs.noop;
2+
3+
import datadog.trace.api.llmobs.LLMObs;
4+
import datadog.trace.api.llmobs.LLMObsSpan;
5+
import java.util.Map;
6+
7+
public class NoOpLLMObsEvalProcessor implements LLMObs.LLMObsEvalProcessor {
8+
public static final NoOpLLMObsEvalProcessor INSTANCE = new NoOpLLMObsEvalProcessor();
9+
10+
@Override
11+
public void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, double numericalValue, Map<String, Object> tags) {}
12+
13+
@Override
14+
public void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, String categoricalValue, Map<String, Object> tags) {}
15+
}

0 commit comments

Comments
 (0)