Skip to content

Commit fb0fbfe

Browse files
committed
add api for evals
1 parent e612ef8 commit fb0fbfe

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

dd-trace-api/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ excludedClassesCoverage += [
3737
'datadog.trace.api.llmobs.LLMObsSpan',
3838
'datadog.trace.api.llmobs.noop.NoOpLLMObsSpan',
3939
'datadog.trace.api.llmobs.noop.NoOpLLMObsSpanFactory',
40+
'datadog.trace.api.llmobs.noop.NoOpLLMObsEvalProcessor',
4041
'datadog.trace.api.experimental.DataStreamsCheckpointer',
4142
'datadog.trace.api.experimental.DataStreamsCheckpointer.NoOp',
4243
'datadog.trace.api.experimental.DataStreamsContextCarrier',

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

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

3+
import datadog.trace.api.llmobs.noop.NoOpLLMObsEvalProcessor;
34
import datadog.trace.api.llmobs.noop.NoOpLLMObsSpanFactory;
45
import java.util.List;
56
import java.util.Map;
67
import javax.annotation.Nullable;
78

89
public class LLMObs {
910
protected static LLMObsSpanFactory SPAN_FACTORY = NoOpLLMObsSpanFactory.INSTANCE;
11+
protected static LLMObsEvalProcessor EVAL_PROCESSOR = NoOpLLMObsEvalProcessor.INSTANCE;
1012

1113
public static LLMObsSpan startLLMSpan(
1214
String spanName,
@@ -42,6 +44,10 @@ public static LLMObsSpan startWorkflowSpan(
4244
return SPAN_FACTORY.startWorkflowSpan(spanName, mlApp, sessionID);
4345
}
4446

47+
public static void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, String categoricalValue, Map<String, Object> tags) {}
48+
49+
public static void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, double numericalValue, Map<String, Object> tags) {}
50+
4551
public interface LLMObsSpanFactory {
4652
LLMObsSpan startLLMSpan(
4753
String spanName,
@@ -60,6 +66,11 @@ LLMObsSpan startWorkflowSpan(
6066
String spanName, @Nullable String mlApp, @Nullable String sessionID);
6167
}
6268

69+
public interface LLMObsEvalProcessor {
70+
void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, double numericalValue, Map<String, Object> tags);
71+
void SubmitEvaluation(LLMObsSpan llmObsSpan, String label, String categoricalValue, Map<String, Object> tags);
72+
}
73+
6374
public static class ToolCall {
6475
private String name;
6576
private String type;
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)